在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Android內(nèi)部存儲(chǔ)
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪問
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫)實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對話框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android內(nèi)部存儲(chǔ)

Android提供多種存儲(chǔ)的應(yīng)用程序存儲(chǔ)自己的數(shù)據(jù)。存儲(chǔ)的地點(diǎn)是共享的,內(nèi)部和外部存儲(chǔ),SQLite存儲(chǔ),并通過網(wǎng)絡(luò)連接存儲(chǔ)。

在本章中,我們要看看在內(nèi)部存儲(chǔ)。內(nèi)部存儲(chǔ)是設(shè)備存儲(chǔ)器上的專用數(shù)據(jù)的存儲(chǔ)。

默認(rèn)情況下,這些文件是私有并由唯一應(yīng)用程序訪問和刪除,當(dāng)用戶刪除應(yīng)用程序。

寫入文件

為了使用內(nèi)部存儲(chǔ)寫入某些數(shù)據(jù)到文件中,調(diào)用openFileOutput()方法用的文件和模式的名稱。該模式可以是 private , public,它的語法如下:

FileOutputStream fOut = openFileOutput("file name here",MODE_WORLD_READABLE);

該方法openFileOutput()返回FileOutputStream的一個(gè)實(shí)例。因此收到FileInputStream對象。之后可以調(diào)用write方法寫入文件數(shù)據(jù)。它的語法如下:

String str = "data";
fOut.write(str.getBytes());
fOut.close();

讀取文件

為了從剛才創(chuàng)建的文件中讀取數(shù)據(jù),openFileOutput()方法使用文件的名稱。它返回FileInputStream的一個(gè)實(shí)例。它的語法如下:

FileInputStream fin = openFileInput(file);

在此之后,可以調(diào)用read方法來一次從文件讀取一個(gè)字符,然后打印出來。它的語法如下:

int c;
String temp="";
while( (c = fin.read()) != -1){
   temp = temp + Character.toString((char)c);
}
//string temp contains all the data of the file.
fin.close();

除了寫入(write)和關(guān)閉(close)方法,對于更好寫入文件所提供FileOutputStream類的其他方法。這些方法如下: 

Sr.No 方法及說明
1 FileOutputStream(File file, boolean append)
這個(gè)方法構(gòu)造一個(gè)新的FileOutputStream寫入到文件。
2 getChannel()
此方法返回分享與當(dāng)前流的位置上只寫FileChannel
3 getFD()
這個(gè)方法返回底層文件描述符
4 write(byte[] buffer, int byteOffset, int byteCount)
這個(gè)方法從字節(jié)數(shù)組緩沖區(qū)寫入字節(jié)計(jì)數(shù)開始位置偏移此流

除了用于良好的讀取文件所提供的FileInputStreamclass讀取和關(guān)閉,還有其它方法的方法。這些方法如下:

Sr.No 方法及說明
1 available()
此方法返回可以讀取或跳過沒有阻止更多的輸入字節(jié)的估計(jì)數(shù)目
2 getChannel()
此方法返回分享與當(dāng)前流的位置只讀FileChannel
3 getFD()
這個(gè)方法返回底層文件描述符
4 read(byte[] buffer, int byteOffset, int byteCount)
此方法最多讀取length字節(jié),并將它們存儲(chǔ)字節(jié)數(shù)組b中開始的偏移offset

例子

這里有一個(gè)例子演示如何使用內(nèi)部存儲(chǔ)來存儲(chǔ)和讀取文件。它創(chuàng)建了一個(gè)基本的存儲(chǔ)應(yīng)用程序,它可以從內(nèi)部存儲(chǔ)讀取并寫入。

為了試驗(yàn)這個(gè)例子,可以在實(shí)際設(shè)備或模擬器運(yùn)行此。

步驟 描述
1 使用Android Studio創(chuàng)建Android應(yīng)用程序,并將其命名為: Storage 。在創(chuàng)建這個(gè)項(xiàng)目,確保目標(biāo)SDK編譯在Android SDK的最新版本或使用更高級別的API
2 修改src/MainActivity.java文件中添加必要的代碼
3 修改res/layout/activity_main 添加相應(yīng)XML組件
4 修改res/values/string.xml  添加必要的字符串
5 運(yùn)行應(yīng)用程序并選擇運(yùn)行Android的設(shè)備,并在其上安裝的應(yīng)用和驗(yàn)證結(jié)果

以下是修改的主活動(dòng)文件的內(nèi)容 src/com.yiibai.storage/MainActivity.java.

package com.example.storage;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

   private EditText et;
   private String data;
   private String file = "mydata";
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      et = (EditText)(findViewById(R.id.editText1));

   }

   public void save(View view){
      data = et.getText().toString();
      try {
         FileOutputStream fOut = openFileOutput(file,MODE_WORLD_READABLE);
         fOut.write(data.getBytes());
         fOut.close();
         Toast.makeText(getBaseContext(),"file saved",
         Toast.LENGTH_SHORT).show();
      } catch (上一篇:發(fā)布Android應(yīng)用下一篇:Android自定義組件