2013-01-09 3 views
0

Я новичок в развитии Android. Сегодня я пытался показать все свои практические программы java в своем приложении. Я хочу, чтобы приложение прочитало данные, записанные в .txt-файле.Как вы читаете TXT-файл в Android?

  1. В какую папку следует хранить все свои программы? Их больше 100.
  2. Я хочу отобразить содержимое программы 2, когда я нажал кнопку 2 в виде списка или любой другой
  3. Можем ли мы сохранить текстовые файлы в базе данных? Если да, то как я могу получить к ним доступ? Как я могу их прочитать?
  4. Любые основные идеи, как я могу это решить?
+1

http://stackoverflow.com/questions/5771366/reading-a-simple-text-file –

ответ

2

Вы можете сохранить текстовый файл в папке raw/assets. Чтобы прочитать их, просто используйте этот код. Из активов:

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

От Raw:

InputStream inputStream = context.getResources().openRawResource(R.id.yourresoureid); 

      InputStreamReader inputreader = new InputStreamReader(inputStream) 

, как вы ява программист не нужно рассказывать, как читать данные из InputStream, если вы действительно хотите, то скажите мне, что я буду размещать все остальное кода.

Сохранение этого огромного объема данных в базе данных - не очень хорошая идея.

Пример для чтения данных из InputStream

BufferedInputStream bis=new BufferedInputStream(inputstream); 
      ByteArrayBuffer baf=new ByteArrayBuffer(1000); 
      while((k=bis.read())!=-1) 
      { 
      baf.append((byte)k); 

      } 
      String results=new String(baf.toByteArray()); 
+0

На самом деле я программист. Я узнал только основную часть java. Это помогло бы мне понять вещи, если остальная часть кода здесь. – Vinay

+0

@ user1608714 Я обновил код, проверьте этот код. – Pragnani

1
  1. Начать с чем-то легким и работать до опции базы данных.
  2. Да, ответ был бы довольно длинным, и я думаю, что учебник по SQLite будет местом для начала. 2,1. Попробуйте поместить свои текстовые файлы в папку с ресурсами и прочесть их так. Этот код читает файл и выгружает его по строкам в журнал.

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

    AssetManager assetManager = getAssets(); 
    
    try { 
        BufferedReader br = new BufferedReader(new InputStreamReader( 
          assetManager.open("hi.txt"))); 
        // InputStream inputStream = assetManager.open("hi.txt"); 
        // BufferedReader br = new BufferedReader(
        // new InputStreamReader(inputStream)); 
    
        String lineIn; 
        while ((lineIn = br.readLine()) != null) { 
         Log.d("ReadTheDamnFile", lineIn); 
        } 
        assetManager.close(); 
    } catch (IOException e) { 
    
    } 
    

    }

0

попробовать эту свою работу нормально :)

try 
    { 
      if(poslist==0) 
      { 
       in = this.getAssets().open("file1.txt"); 
       iv.setBackgroundResource(R.drawable.fileimage1); 

      } 
} 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
     try { 
     reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); 
    } catch (UnsupportedEncodingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
     String line=""; 
     String s =""; 
    try 
    { 
     line = reader.readLine(); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
     while (line != null) 
     { 
     s = s + line; 
     s =s+"\n"; 
     try 
     { 
      line = reader.readLine(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
    tv.setText(""+s); 
    } 

    public void onClick(View v){ 
     try { 
    line = reader.readLine(); 
    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
     if (line != null){ 
      tv.setText(line); 
     } else { 
      //you may want to close the file now since there's nothing more to be done here. 
     } 
Смежные вопросы