本章目錄
一、數據存儲方式
二、文件存儲
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開發中非常重要的內容,一般在應用程序中會經常涉及到數據存儲的知識,因此要求初學者必須熟練掌握本章知識。
太在乎別人的眼光和評價,只會讓自己做事放不開手腳,猶豫不決,失去自我,失去個性,丟失自我的價值。堅持自己所選擇的,相信自己所堅持的,纔是屬於你自己的正確道路。別人怎麼看你並不重要,重要的是你要做你自己,去做自己認爲正確的事。