Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android數據存儲_內部存儲

android數據存儲_內部存儲

編輯:關於Android編程

源碼下載(免下載積分):下載

你可以直接存儲數據到內部存儲中,默認情況下,文件存儲到內部存儲中是私有的,不能被
其他程序訪問,當卸載應用程序,這些文件會被移除。
創建並寫入數據可以有兩種方法:

  • 使用java中的相關的方法,
  • 使用android.content中的相關方法,
    • 調用 openFileOutput(),並返回FileOutputStream對象
    • 調用FileOutputStream對象的write()方法
    • 關閉流

      讀文件也是基本相同的方式。
      在讀文件有一點小技巧:如果想在編譯時保存一個靜態文件在你的應用程序中,保存文件到
      res/raw/directory.可以使用openRawResource()方法來打開文件,並返回一個InputStream
      對象,然後就能讀寫數據了。

      代碼:
      方法一:

      FileOutputStream writeStream = null;
      FileOutputStream fileOutputStream = null;
      switch (view.getId()) {
          case R.id.button1:
          //創建的文件其他程序不能訪問
          File file1 = new File(getFilesDir(),FILE1);
          try {
              //寫入數據
              writeStream = new FileOutputStream(file1);
              writeStream.write("haha".getBytes());
          } catch (FileNotFoundException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
          finally{
              try {
                  if (writeStream != null) 
                      writeStream.close();
              } catch (IOException e) {
                  e.printStackTrace();
          }
      }

      方法二:

      //使用的是android.content,
      try {
          /*設置成MODE_PRIVATE,其他程序不能訪問,這種是默認的構造方式,可以去設置成其他的方式來使其可讀寫。
          */
          fileOutputStream = openFileOutput(FILE2,Context.MODE_PRIVATE);
          //寫入數據
          fileOutputStream.write("hehe".getBytes());
      } catch (FileNotFoundException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
      finally{
          try {
              if (fileOutputStream != null)
                  fileOutputStream.close();
          } catch (IOException e) {
              e.printStackTrace();
          }
      }

      存儲緩存文件
      如果想要緩存一些文件,你可以使用createTempFile()去創建文件,應該使用getCacheDir()去打開文件。

      小技巧:正常情況下,上述的文件無法看到,要想看到就要使用adb了,模擬器:adb devices查看設備

      ~$ adb devices
      List of devices attached
      emulator-5554 device

      然後進入超級用戶中,就可以做相應命令來查看了

      ~$ adb -s emulator-5554 shell
      #

      注意:應用程序的內部存儲目錄是有應用程序的的包名制定的,默認的情況下,其他程序不能夠訪問內部
      存儲的路徑,除非你顯示的使用可讀或者可寫的模式。

      參考資料:

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

      http://developer.android.com/training/basics/data-storage/files.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved