2013-03-11 9 views
0

모두입니다. 좋은 아침.TXT 파일에서 ArrayList 가져 오기

이것은 Android 위젯입니다. 이 코드를 사용하고 있습니다. 방금 외부 파일에서 ArrayList을 (. assets 폴더에 저장되어있는) .TXT로 가져 오려고했습니다. 대신 java 파일에서 따옴표 목록을 가져오고 싶습니다. 그러나이 코드에는 잘못된 것이 있습니다. "assets 폴더"에있는 "quote.txt"파일을 읽지 않습니다.

이 내 코드입니다 :

public class UpdateWidgetService extends Service { 
private static final String TAG = UpdateWidgetService.class.getSimpleName(); 

@Override 
public IBinder onBind(Intent arg0) { 
    return null; 
} 

@Override 
public void onStart(Intent intent, int startId) { 
    super.onStart(intent, startId); 

    Log.d(TAG, "onStart started"); 

    // Create some random data 
    Random random = new Random(); 

    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this.getApplicationContext()); 

    int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS); 

    if (appWidgetIds.length > 0) { 

     for (int widgetId : appWidgetIds) { 
      List<String> qList = getListFromTxtFile("quote.txt"); 
      int nextInt = random.nextInt(qList.size()); 

      RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.widget); 
      remoteViews.setTextViewText(R.id.widget_textview, qList.get(nextInt)); 
      appWidgetManager.updateAppWidget(widgetId, remoteViews); 
     } 
     stopSelf(); 
    } 
    super.onStart(intent, startId); 
} 

public List<String> getListFromTxtFile(String txtFileName){ 

// File sdcard = Environment.getExternalStorageDirectory(); 
// Get the text file 
// File file = new File(sdcard,txtFileName); 

AssetManager am = this.getAssets(); 

List<String> qList = new ArrayList<String>(); 

//Read text from file 

try { 
    InputStream is = am.open("quote.txt"); 
      //BufferedReader br = new BufferedReader(new FileReader(file)); 
    BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
    String line; 

    // get data in text file line by line 
    while ((line = br.readLine()) != null) { 

     qList.add(line); 
    } 
} 
catch (IOException e) { 
    //You'll need to add proper error handling here 
} 
return qList; 

} 
} 
+0

던지고있는 예외는 무엇입니까? – SudoRahul

+0

Logcat 로그를 공유하십시오 ... –

답변

0

이 코드, ICS를 넣어

AssetFileDescriptor descriptor = getAssets().openFd("quote.txt"); 
    FileReader reader = new FileReader(descriptor.getFileDescriptor()); 
+0

어디에 넣을까요? 나는 초보자이다. –

0

를 사용해보십시오? "Try {"내의

관련 문제