2013-10-04 10 views
2

저는 검색했지만 내 문제에 맞는 해결책을 찾을 수 없습니다. 나는 Android에 매우 익숙하다.파일 내보내기를 사용하여 android로 파일 가져 오기

csv 파일을 읽고 편집하는 앱을 작성합니다.

나는 앱이 assets 폴더에서 csv를 읽는 지금까지 가지고있다. 이 코드는 제가 사용했던 코드입니다. Import.java 코드.

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

import android.content.Context; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 


public class CSVAdapter extends ArrayAdapter<State>{ 
Context ctx; 


public CSVAdapter(Context context, int textViewResourceId) { 
    super(context, textViewResourceId); 


    this.ctx = context; 

    //Load the data. 
    loadArrayFromFile();  
} 




@Override 
public View getView(final int pos, View convertView, final ViewGroup parent){ 

    TextView mView = (TextView)convertView; 

    if(null == mView){ 
     mView = new TextView(parent.getContext()); 
     mView.setTextSize(28); 
    } 


    mView.setText(getItem(pos).getName()); 



    /*mView.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      Toast.makeText(parent.getContext(), getItem(pos).getCapital(), Toast.LENGTH_SHORT).show(); 
     } 
    });*/ 

    return mView; 
} 

private void loadArrayFromFile(){ 
    try { 

     InputStream is = ctx.getAssets().open("states.csv"); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
     String line; 


     while ((line = reader.readLine()) != null) { 

      String[] RowData = line.split(","); 


      State cur = new State(); 
      cur.setName(RowData[0]); 
      cur.setCapital(RowData[1]); 


      this.add(cur); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 


} 

위에서 볼 수 있듯이 inputStream은 assets 폴더에 있습니다. 다운로드 나 SD 카드와 같은 외부 저장소에서 CSV 파일을 검색 할 수는 있지만 파일 브라우저를 열어 파일을 찾는 방법은 없습니다.

도울 수있는 사람이 있습니까?

감사합니다.

+0

Android에는 파일 브라우저가 없습니다. 따라서 하나를 작성하거나 다른 사람이 제공하는 것을 포함 시키거나 사용자가 별도로 설치하고 인 텐트를 통해 트리거하도록해야합니다. –

+0

@ user2339071 - 더 복잡한 작업의 가장 사소한 부분 만 다루기 때문에 복제되지 않는 것 같습니다. –

+0

Ohh .. 내 나쁜 .. : P .. 그것을 제거했습니다. – user2339071

답변

1

여기에 더 큰 개요입니다 :

http://developer.android.com/guide/topics/data/data-storage.html

하지만 :


내부 저장 액세스 :

String FILENAME = "hello_file"; 
String string = "hello world!"; 

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

외장 스토리지 액세스 :

File file = new File(getExternalFilesDir(null), "DemoFile.jpg"); 
+1

이것은 실제로 파일 탐색에 대한 질문에 대답하는 것 같지 않습니다. –