Android移動應用基礎教程【數據存儲】

一、數據存儲方式

在這裏插入圖片描述

二、文件存儲

1、將數據存入文件中

在這裏插入圖片描述

1.1、內部存儲

FileOutputStream fos = openFileOutput(String name, int mode);
//參數是文件名和文件的操作模式
//打開應用程序中對應的輸出流,將數據存儲到指定的文件中
FileInputStream fis = openFileInput(String name);
//打開應用程序對應的輸入流,讀取指定文件中的數據
String fileName = "data.txt";                       // 文件名稱
String content = "helloworld";                     // 保存數據
FileOutputStream fos = openFileOutput(fileName, MODE_PRIVATE);
fos.write(content.getBytes());	                  //將數據寫入文件中
fos.close();                                      //關閉輸出流

1.2、外部存儲

String state = Environment.getExternalStorageState();  //獲取外部設備的狀態           
if (state.equals(Environment.MEDIA_MOUNTED)) {   //判斷外部設備是否可用          
    File SDPath = Environment.getExternalStorageDirectory(); //獲取SD卡目錄
    File file = new File(SDPath, "data.txt");
    String data = "HelloWorld";
    FileOutputStream fos = new FileOutputStream(file);
    fos.write(data.getBytes());
    fos.close();
}

2、從文件中讀取數據

2.1、讀取內部存儲中的文件的數據

String content = "";
    FileInputStream fis = null;
    fis = openFileInput("data.txt");    //獲得文件輸入流對象
    byte[] buffer = new byte[fis.available()];//創建緩衝區,並獲取文件長度
    fis.read(buffer);     //將文件內容讀取到buffer緩衝區
    content = new String(buffer);     //轉換成字符串
     fis.close();		              //關閉輸入流

2.2、讀取外部存儲中的文件數據

String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
    File SDPath = Environment.getExternalStorageDirectory(); //獲取SD卡路徑
    File file = new File(SDPath, "data.txt");           //創建文件對象
    FileInputStream fis = null;
    BufferedReader br = null;
    fis = new FileInputStream(file);         //創建文件輸入流對象
   //創建字符輸入緩衝流的對象
    br = new BufferedReader(new InputStreamReader(fis));
   String data = br.readLine();              //讀取數據
   br.close();                               //關閉字符輸入緩衝流                                                 
   fis.close();                              //關閉輸入流                                                     
}

3、申請SD卡寫文件的權限

在這裏插入圖片描述

3.1、靜態申請權限

在這裏插入圖片描述

3.2、動態申請權限

在這裏插入圖片描述

3.3、動態申請SD卡的寫權限

<uses-permission    
                        android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
ActivityCompat.requestPermissions(MainActivity.this, //動態申請權限的方法,參數是上下文
new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 1);
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, 
int[] grantResults) {
//申請權限的回調方法
//第一個參數requestCode爲請求碼
//第二個參數permissions爲請求的權限
//第三個參數grantResults爲用戶授予權限的結果,當用戶授予權限時,該數組中對應的值爲PackageManager.PERMISSION_GRANTED
   	super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

三、SharedPreferences存儲

1、將數據存入SharedPreferences

在這裏插入圖片描述

2、讀取和刪除SharedPreferences中的數據

在這裏插入圖片描述
在這裏插入圖片描述

四、SQLite數據庫存儲

1、SQLite數據庫簡介

在這裏插入圖片描述

2、SQLite數據庫的創建

在這裏插入圖片描述

3、數據庫的基本操作

3.1、添加數據

在這裏插入圖片描述

3.2、刪除數據

在這裏插入圖片描述

3.3、修改數據

在這裏插入圖片描述

3.4、查詢數據

在這裏插入圖片描述

3.5、使用sql語句進行數據庫操作

在這裏插入圖片描述

4、SQLite數據庫中的事務

在這裏插入圖片描述
在這裏插入圖片描述

五、本章小結

本章主要講解了Android中的數據存儲,首先介紹了Android中常見的數據存儲方式,然後詳細地講解了文件存儲、SharedPreferences存儲以及SQLite數據庫存儲,數據存儲是Android開發中非常重要的內容,一般在應用程序中會經常涉及到數據存儲的知識,因此要求初學者必須熟練掌握本章知識。

太在乎別人的眼光和評價,只會讓自己做事放不開手腳,猶豫不決,失去自我,失去個性,丟失自我的價值。堅持自己所選擇的,相信自己所堅持的,纔是屬於你自己的正確道路。別人怎麼看你並不重要,重要的是你要做你自己,去做自己認爲正確的事。

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