Android_數據存儲的寫法流程

數據存儲訪問:

1文件:

JavaSE IO技術

1)文件的保存:

①獲取文件名稱filename和文件內容filecontent

 ②爲對應的文件創建FileoutputStream

      如果存儲在手機存儲上,用context.openFileInput(filename) 獲得流;

     如果存儲在SDcard上,用new FileOutputStream(new File(...))

        根據存儲內容自定義類類型。;

 ③將文件內容寫入輸出流中 fo.write(....)

 ④關閉流

2)文件的讀取:read

 ①獲取文件的名稱

 ②爲對應的文件創建FileInputStream(方式同文件的保存)

 ③定義一個緩衝輸出流ByteArrayOutputstream(內存),用於存放讀出來的數據

 ④fi.read(buffer)   os.write(....) 

  ⑤將緩衝流數據轉換後返回

示例://獲取輸入流

FileInputStream fi=context.openFileInput(filename);

Log.i("fi",fi.toString());

//字節數組輸出流:緩存字節數據

ByteArrayOutputStream outStream=new ByteArrayOutputStream();

//將數據全部讀到字節數組輸出流中

byte [] buffer=new byte[1024];

int len=0;

while((len=fi.read(buffer))!=-1){

outStream.write(buffer,0,len);

}

return new String(outStream.toByteArray());



2SharedPreferences(參數)

   public class Calc extends Activity {
   public static final String PREFS_NAME= "MyPrefsFile";

   @Override
   protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .

       // Restore preferences
       SharedPreferences settings= getSharedPreferences(PREFS_NAME, 0);
       boolean silent= settings.getBoolean("silentMode", false);
       setSilent(silent);
   }

   @Override
   protected void onStop(){
       super.onStop();

     // We need an Editor object to make preference changes.
     // All objects are from android.context.Context
     SharedPreferences settings= getSharedPreferences(PREFS_NAME, 0);
     SharedPreferences.Editor editor= settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

     // Commit the edits!
      editor.commit();
   }
}



3 SQLite數據庫

  ①繼承SQLiteOpenHelper類,數據庫生成、表的設計、庫升級

  ②SQLiteDatabase:操作數據庫,增刪改查

數據庫知識總結:

①創建數據庫

SQLiteOpenHelper  getReadableDatabase()getWriteableDatabese()

SQLiteOpenHelper自動創建數據庫的原理實現

③數據庫版本變化

④編寫代碼完成增刪改查操作(兩種:SQL語句和調用API)

⑤事務的實現


4內容提供者(Content provider)

可以把任意類型的數據對外共享。

示例:將上一個應用中的person表的數據對外共享。

1)Content Provider的特點

使用Content Provier對外共享數據的好處是:統一了數據的訪問方式

2)繼承ContentProvider ,並在manifest.xml中配置

 <provider android:name=".PersonProvider" android:authorities="cn." />

3)uri代表要操作的數據,Uri主要包括兩部分信息:

①需要操作的ContentProvider

②對ContentProvider中的什麼數據進行操作

一個Uri的幾部分組成:

Content://cn.zsw.provider.personprovider/person/10

Scheme:content://

主機名或者authoritycn.zsw.provider.personprovider

路徑:/person/10

ID: 10

③內容提供者的數據可以來之數據庫、文件、網絡

3)繼承ContentProvider PersonProvider類寫法



5網絡

  ①HttpURLConnection

  ②Socket

  ③流

 (基本上都是java 網絡和IO的知識)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章