스토어를, (쉼표로 구분 된 값) :
여기
new YourTask().execute("");
당신이 AsyncTasks에 대해 자세히 알아볼 수 있습니다 :
private class YourTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... s) {
//Here you have to make the loading/parsing tasks
//Don't call any UI actions here. For example a Toast.show() this will couse Exceptions
// UI stuff you have to make in onPostExecute method
}
@Override
protected void onPreExecute() {
// This method will called during doInBackground is in process
// Here you can for example show a ProgressDialog
}
@Override
protected void onPostExecute(Long result) {
// onPostExecute is called when doInBackground finished
// Here you can for example fill your Listview with the content loaded in doInBackground method
}
}
는 전화가 당신을 실행하려면 .
','
을 두 번 칠 때까지 읽기 스트림을 열고 임의의 위치를 찾아 작은 문자 덩어리를 읽습니다. 이제 읽은 문자열에서 쉼표로 단어를 추출하십시오. 또한 '#'또는 '|'와 같은 사용자 정의 구분 기호를 사용할 수 있습니다. 쉼표 대신.
업데이트 : RandomAccessFile
을 사용하십시오.
업데이트 2 : readLine()
은 한 줄에 한 단어를 저장하면 훨씬 쉽게 만듭니다. 나는.여기의 메모를 취할 \n
피킹 코드를 게시하면 거기에 최적화 할 것이 많습니다. (하나의 옵션, 예를 들면 : sqlite db 만들기, 시작시 복사, 무작위로 선택 순서 만들기, 다른 옵션 : 라인을 고정 폭으로 만들고 단어를 선택하려면 건너 뛰기 (길이 * rand())하십시오) – njzk2
배열은 8000kb (각 문자는 2 바이트) + 360000 * 문자열 개체의 몇 바이트가 될 것이므로 대략 10MB로 반올림하여 메모리에 보관하는 것이 좋습니다. 더하기, 로딩은 여전히 10-20 초 걸릴 것입니다. – njzk2