2012-01-01 72 views
0

我有一個自定義的ListView,代碼如下。而不是寫作:如何讀取SD卡中的txt文件?

「http://yoursite.com/image1.png」,「http://yoursite.com/image2.png」..等等。

我想將所有鏈接存儲在.txt文件中,並且在那裏,我的設備將讀取所有鏈接。無論如何要做到這一點?

package com.android.LazyList; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ListView; 

public class OnePiece extends Activity { 

    ListView list; 
    LazyAdapter adapter; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     LazyAdapter adapter=new LazyAdapter(this, mStrings); 
     final ListView list =(ListView)findViewById(R.id.list); 
     list.setAdapter(adapter);                                         

     } 

    static final String[] mStrings= new String[] { 
     "http://yoursite.com/image1.png" , 
     "http://yoursite.com/image2.png" , 
     "http://yoursite.com/image3.png" , 
     "http://yoursite.com/image4.png" , 
     "http://yoursite.com/image5.png" , 
     "http://yoursite.com/image6.png" , 
    }; 
} 

回答

1

這段代碼添加到您的函數:

File sdcard = Environment.getExternalStorageDirectory(); 
    File file = new File(sdcard,"/LinkFile.txt"); 
    // Assuming each link to be on a new line 
    StringBuilder text = new StringBuilder(); 
    try { 
     BufferedReader br = new BufferedReader(new FileReader(file)); 
     String line; 
     while ((line = br.readLine()) != null) { 
      text.append(line); 
      text.append('\n'); 
     } 
    } 
    catch (IOException e) { 
     Toast.makeText(getApplicationContext(),"Error reading file!",Toast.LENGTH_LONG).show(); 
    } 
    String [] mStrings=text.toString().split("\n"); 

你應該是好去。

+0

但是,我會如何將它應用於我的代碼? – Leon 2012-01-01 22:17:39

+0

用這段代碼替換你聲明和初始化'mStrings []'的行。在這裏,您將讀取文件的內容,將其分解爲一個字符串數組,然後將其存儲在String變量'mStrings []'中。 – Vishnu 2012-01-01 22:20:44

+0

它說「mStrings無法解析爲變量」 – Leon 2012-01-01 22:20:54