raw에 저장한 txt파일읽기는 여기..
안드로이드를 프로그래밍 하면서 onCreate에 모든 함수를 다 때려박는 경우가 있다.
예를들어....
res/raw폴더에 잇는 txt파일을 읽는경우
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
텍스트를 읽는 함수();
}
텍스트를 읽는 함수()는 이미 만들어 놓았다고 가정했다.
위의 소스와 같이 onCreate에서 thread없이 단순하게 텍스트를 읽는경우에는 문제가 생길 수 있다. txt파일이 작다면 상관이 없는데 만약 txt파일이 몇만줄 몇십만줄이라면 onCreate를 담당하는 uiThread가 텍스트를 읽는함수()를 실행하는 동안에 아무 작업을 할 수 없게 된다. (onCreate에서는 ui를 빨리 생성해줘야 하는데 작업이 더뎌진다)
그래서 이런 종류의 작업을 수행해야 할 때에는 uiThread와는 별개로 thread를 생성해 주는것이 좋다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread( new Runnable(){
public void run(){
텍스트를 읽는 함수();
}
}).start();
}
thread의 생성은 위와 같다. new Thread로 thread를 생성하고 Runnable->run을 오버라이딩 해주면된다. thread에서 작업하고자 하는 기능인 텍스트를 읽는 함수()는 run()함수 속에 배치해주면 된다.
'소프트웨어 > Android/Java/Ndk' 카테고리의 다른 글
안드로이드 Timer 사용1 (Timer, timerTask) (0) | 2013.05.28 |
---|---|
안드로이드 txt파일 읽기(InputStream과 ArrayList,그리고 BufferedReader) (0) | 2013.05.27 |
안드로이드 새로운 창 띄우기(안드로이드 intent) (0) | 2013.05.22 |
이클립스 매서드 오버라이딩을 쉽게!override/Implement methods (0) | 2013.05.11 |
안드로이드 프로세스 완전종료방법 (0) | 2013.05.11 |
JAVA] 무명클래스란? (Anonymous Class) (0) | 2012.11.17 |
JAVA] Iterator와 ArrayList를 이용한 기본적인 도서목록 검색 (0) | 2012.10.28 |