1. 程式人生 > >Android 資料儲存五種方式使用與總結

Android 資料儲存五種方式使用與總結

轉載自http://blog.csdn.net/amazing7/article/details/51437435

1、概述

  Android提供了5種方式來讓使用者儲存持久化應用程式資料。根據自己的需求來做選擇,比如資料是否是應用程式私有的,是否能被其他程式訪問,需要多少資料儲存空間等,分別是:  
   
① 使用SharedPreferences儲存資料 

② 檔案儲存資料

③  SQLite資料庫儲存資料

④ 使用ContentProvider儲存資料

⑤ 網路儲存資料 

Android提供了一種方式來暴露你的資料(甚至是私有資料)給其他應用程式 - ContentProvider。它是一個可選元件,可公開讀寫你應用程式資料。

2、SharedPreferences儲存

  SharedPreference類提供了一個總體框架,使您可以儲存和檢索的任何基本資料型別( boolean, float, int, long, string)的持久鍵-值對(基於XML檔案儲存的“key-value”鍵值對資料)。

  通常用來儲存程式的一些配置資訊。其儲存在“data/data/程式包名/shared_prefs目錄下。

  xml 處理時Dalvik會通過自帶底層的本地XML Parser解析,比如XMLpull方式,這樣對於記憶體資源佔用比較好。 

2.1  我們可以通過以下兩種方法獲取SharedPreferences物件(通過Context):

① getSharedPreferences (String name, int mode)

  當我們有多個SharedPreferences的時候,根據第一個引數name獲得相應的SharedPreferences物件。

② getPreferences (int mode)

  如果你的Activity中只需要一個SharedPreferences的時候使用。

這裡的mode有四個選項:

Context.MODE_PRIVATE
  • 1
  • 1

  該SharedPreferences資料只能被本應用程式讀、寫。

Context.MODE_WORLD_READABLE
  • 1
  • 1

  該SharedPreferences資料能被其他應用程式讀,但不能寫。

Context.MODE_WORLD_WRITEABLE
  • 1
  • 1

  該SharedPreferences資料能被其他應用程式讀和寫。

Context.MODE_MULTI_PROCESS
  • 1
  • 1

  sdk2.3後新增的選項,當多個程序同時讀寫同一個SharedPreferences時它會檢查檔案是否修改。

2.2  向Shared Preferences中寫入值 
  
首先要通過 SharedPreferences.Editor獲取到Editor物件;

然後通過Editor的putBoolean() 或 putString()等方法存入值;

最後呼叫Editor的commit()方法提交;

//Use 0 or MODE_PRIVATE for the default operation 
SharedPreferences settings = getSharedPreferences("fanrunqi", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isAmazing", true); 

// 提交本次編輯
editor.commit();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

同時Edit還有兩個常用的方法:

editor.remove(String key) :下一次commit的時候會移除key對應的鍵值對

editor.clear():移除所有鍵值對

2.3  從Shared Preferences中讀取值

  讀取值使用 SharedPreference物件的getBoolean()或getString()等方法就行了(沒Editor 啥子事)。

SharedPreferences settings = getSharedPreferences("fanrunqi", 0);
boolean isAmazing= settings.getBoolean("isAmazing",true);
  • 1
  • 2
  • 1
  • 2

2.4  Shared Preferences的優缺點

  可以看出來Preferences是很輕量級的應用,使用起來也很方便,簡潔。但儲存資料型別比較單一(只有基本資料型別),無法進行條件查詢,只能在不復雜的儲存需求下使用,比如儲存配置資訊等。

3、檔案資料儲存

3.1 使用內部儲存

  當檔案被儲存在內部儲存中時,預設情況下,檔案是應用程式私有的,其他應用不能訪問。當用戶解除安裝應用程式時這些檔案也跟著被刪除。

  檔案預設儲存位置:/data/data/包名/files/檔名。

3.1.1 建立和寫入一個內部儲存的私有檔案:

① 呼叫Context的openFileOutput()函式,填入檔名和操作模式,它會返回一個FileOutputStream物件。

② 通過FileOutputStream物件的write()函式寫入資料。

③  FileOutputStream物件的close ()函式關閉流。

例如:

        String FILENAME = "a.txt";
        String string = "fanrunqi";

        try {
            FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
            fos.write(string.getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在 openFileOutput(String name, int mode)方法中

  • name引數: 用於指定檔名稱,不能包含路徑分隔符“/” ,如果檔案不存在,Android 會自動建立它。

  • mode引數:用於指定操作模式,分為四種:

Context.MODE_PRIVATE = 0

  為預設操作模式,代表該檔案是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容。

Context.MODE_APPEND = 32768

  該模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。 

Context.MODE_WORLD_READABLE = 1

  表示當前檔案可以被其他應用讀取。

MODE_WORLD_WRITEABLE

  表示當前檔案可以被其他應用寫入。

3.1.2 讀取一個內部儲存的私有檔案:

① 呼叫openFileInput( ),引數中填入檔名,會返回一個FileInputStream物件。

② 使用流物件的 read()方法讀取位元組

③ 呼叫流的close()方法關閉流

例如:

    String FILENAME = "a.txt";
        try {
            FileInputStream inStream = openFileInput(FILENAME);
            int len = 0;
            byte[] buf = new byte[1024];
            StringBuilder sb = new StringBuilder();
            while ((len = inStream.read(buf)) != -1) {
                sb.append(new String(buf, 0, len));
            }
            inStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

其他一些經常用到的方法:

  • getFilesDir(): 得到記憶體儲檔案的絕對路徑

  • getDir(): 在記憶體儲空間中建立開啟一個已經存在的目錄

  • deleteFile(): 刪除儲存在內部儲存的檔案。  

  • fileList(): 返回當前由應用程式儲存的檔案的陣列(記憶體儲目錄下的全部檔案)。 

3.1.3 儲存編譯時的靜態檔案

  如果你想在應用編譯時儲存靜態檔案,應該把檔案儲存在專案的 res/raw/ 目錄下,你可以通過 openRawResource()方法去開啟它(傳入引數R.raw.filename),這個方法返回一個 InputStream流物件你可以讀取檔案但是不能修改原始檔案。

InputStream is = this.getResources().openRawResource(R.raw.filename);
  • 1
  • 1

3.1.4 儲存記憶體快取檔案

  有時候我們只想快取一些資料而不是持久化儲存,可以使用getCacheDir()去開啟一個檔案,檔案的儲存目錄( /data/data/包名/cache )是一個應用專門來儲存臨時快取檔案的記憶體目錄。

  當裝置的內部儲存空間比較低的時候,Android可能會刪除這些快取檔案來恢復空間,但是你不應該依賴系統來回收,要自己維護這些快取檔案把它們的大小限制在一個合理的範圍內,比如1MB.當你解除安裝應用的時候這些快取檔案也會被移除。

3.2 使用外部儲存(sdcard)

  因為內部儲存容量限制,有時候需要儲存資料比較大的時候需要用到外部儲存,使用外部儲存分為以下幾個步驟:

3.2.1 新增外部儲存訪問限權

  
  首先,要在AndroidManifest.xml中加入訪問SDCard的許可權,如下:

 <!-- 在SDCard中建立與刪除檔案許可權 --> 
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

   <!-- 往SDCard寫入資料許可權 --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

3.2.2 檢測外部儲存的可用性

  在使用外部儲存時我們需要檢測其狀態,它可能被連線到計算機、丟失或者只讀等。下面程式碼將說明如何檢查狀態:

//獲取外儲存的狀態
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
    // 可讀可寫
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // 可讀
} else {
    // 可能有很多其他的狀態,但是我們只需要知道,不能讀也不能寫  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.2.3 訪問外部儲存器中的檔案

1、如果 API 版本大於或等於8,使用

getExternalFilesDir (String type)

  該方法開啟一個外儲存目錄,此方法需要一個型別,指定你想要的子目錄,如型別引數DIRECTORY_MUSIC和 DIRECTORY_RINGTONES(傳null就是你應用程式的檔案目錄的根目錄)。通過指定目錄的型別,確保Android的媒體掃描器將掃描分類系統中的檔案(例如,鈴聲被確定為鈴聲)。如果使用者解除安裝應用程式,這個目錄及其所有內容將被刪除。

例如:

File file = new File(getExternalFilesDir(null), "fanrunqi.jpg");
  • 1
  • 1

2、如果API 版本小於 8 (7或者更低)

getExternalStorageDirectory ()

通過該方法開啟外儲存的根目錄,你應該在以下目錄下寫入你的應用資料,這樣當解除安裝應用程式時該目錄及其所有內容也將被刪除。

/Android/data/<package_name>/files/
  • 1
  • 1

讀寫資料:

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){  
            File sdCardDir = Environment.getExternalStorageDirectory();//獲取SDCard目錄  "/sdcard"        

               File saveFile = new File(sdCardDir,"a.txt"); 

               //寫資料
                try {
                    FileOutputStream fos= new FileOutputStream(saveFile); 
                    fos.write("fanrunqi".getBytes()); 
                    fos.close();
                } catch (Exception e) {
                    e.printStackTrace();
                } 

                //讀資料
                 try {
                    FileInputStream fis= new FileInputStream(saveFile); 
                    int len =0;
                    byte[] buf = new byte[1024];
                    StringBuffer sb = new StringBuffer();
                    while((len=fis.read(buf))!=-1){
                        sb.append(new String(buf, 0, len));
                    }
                    fis.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }  
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

  我們也可以在 /Android/data/package_name/cache/目錄下做外部快取。

4、 網路儲存資料

HttpUrlConnection

  HttpUrlConnection是Java.NET包中提供的API,我們知道Android SDK是基於Java的,所以當然優先考慮HttpUrlConnection這種最原始最基本的API,其實大多數開源的聯網框架基本上也是基於JDK的HttpUrlConnection進行的封裝罷了,掌握HttpUrlConnection需要以下幾個步驟: 
   
1、將訪問的路徑轉換成URL。

URL url = new URL(path);

2、通過URL獲取連線。

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

3、設定請求方式。

conn.setRequestMethod(GET);

4、設定連線超時時間。

conn.setConnectTimeout(5000);

5、設定請求頭的資訊。

conn.setRequestProperty(User-Agent, Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0));

7、針對不同的響應碼,做不同的操作(請求碼200,表明請求成功,獲取返回內容的輸入流)

工具類:

public class StreamTools {
    /**
     * 將輸入流轉換成字串
     * 
     * @param is
     *            從網路獲取的輸入流
     * @return
     */
    public static String streamToString(InputStream is) {
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = is.read(buffer)) != -1) {
                baos.write(buffer, 0, len);
            }
            baos.close();
            is.close();
            byte[] byteArray = baos.toByteArray();
            return new String(byteArray);
        } catch (Exception e) {
            Log.e(tag, e.toString());
            return null;
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

HttpUrlConnection傳送GET請求

public static String loginByGet(String username, String password) {
        String path = http://192.168.0.107:8080/WebTest/LoginServerlet?username= + username + &password= + password;
        try {
            URL url = new URL(path);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5000);
            conn.setRequestMethod(GET);
            int code = conn.getResponseCode();
            if (code == 200) {
                InputStream is = conn.getInputStream(); // 位元組流轉換成字串
                return StreamTools.streamToString(is);
            } else {
                return 網路訪問失敗;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return 網路訪問失敗;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

HttpUrlConnection傳送POST請求

public static String loginByPost(String username, String password) {
        String path = http://192.168.0.107:8080/WebTest/LoginServerlet;
        try {
            URL url = new URL(path);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5000);
            conn.setRequestMethod(POST);
            conn.setRequestProperty(Content-Type, application/x-www-form-urlencoded);
            String data = username= + username + &password= + password;
            conn.setRequestProperty(Content-Length, data.length() + );
            // POST方式,其實就是瀏覽器把資料寫給伺服器
            conn.setDoOutput(true); // 設定可輸出流
            OutputStream os = conn.getOutputStream(); // 獲取輸出流
            os.write(data.getBytes()); // 將資料寫給伺服器
            int code = conn.getResponseCode();
            if (code == 200) {
                InputStream is = conn.getInputStream();
                return StreamTools.streamToString(is);
            } else {
                return 網路訪問失敗;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return 網路訪問失敗;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

HttpClient

  HttpClient是開源組織Apache提供的Java請求網路框架,其最早是為了方便Java伺服器開發而誕生的,是對JDK中的HttpUrlConnection各API進行了封裝和簡化,提高了效能並且降低了呼叫API的繁瑣,Android因此也引進了這個聯網框架,我們再不需要匯入任何jar或者類庫就可以直接使用,值得注意的是Android官方已經宣佈不建議使用HttpClient了。

HttpClient傳送GET請求

1、 建立HttpClient物件

2、建立HttpGet物件,指定請求地址(帶引數)

3、使用HttpClient的execute(),方法執行HttpGet請求,得到HttpResponse物件

4、呼叫HttpResponse的getStatusLine().getStatusCode()方法得到響應碼

5、呼叫的HttpResponse的getEntity().getContent()得到輸入流,獲取服務端寫回的資料

public static String loginByHttpClientGet(String username, String password) {
        String path = http://192.168.0.107:8080/WebTest/LoginServerlet?username=
                + username + &password= + password;
        HttpClient client = new DefaultHttpClient(); // 開啟網路訪問客戶端
        HttpGet httpGet = new HttpGet(path); // 包裝一個GET請求
        try {
            HttpResponse response = client.execute(httpGet); // 客戶端執行請求
            int code = response.getStatusLine().getStatusCode(); // 獲取響應碼
            if (code == 200) {
                InputStream is = response.getEntity().getContent(); // 獲取實體內容
                String result = StreamTools.streamToString(is); // 位元組流轉字串
                return result;
            } else {
                return 網路訪問失敗;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return 網路訪問失敗;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

HttpClient傳送POST請求

1,建立HttpClient物件

2,建立HttpPost物件,指定請求地址

3,建立List,用來裝載引數

4,呼叫HttpPost物件的setEntity()方法,裝入一個UrlEncodedFormEntity物件,攜帶之前封裝好的引數

5,使用HttpClient的execute()方法執行HttpPost請求,得到HttpResponse物件

6, 呼叫HttpResponse的getStatusLine().getStatusCode()方法得到響應碼

7, 呼叫的HttpResponse的getEntity().getContent()得到輸入流,獲取服務端寫回的資料

public static String loginByHttpClientPOST(String username, String password) {
        String path = http://192.168.0.107:8080/WebTest/LoginServerlet;
        try {
            HttpClient client = new DefaultHttpClient(); // 建立一個客戶端
            HttpPost httpPost = new HttpPost(path); // 包裝POST請求
            
            
           

相關推薦

Android 資料儲存方式使用總結

轉載自http://blog.csdn.net/amazing7/article/details/51437435 1、概述   Android提供了5種方式來讓使用者儲存持久化應用程式資料。根據自己的需求來做選擇,比如資料是否是應用程式私有的,是否能被其他程式訪

Android資料儲存方式總結

SharePreferences是用來儲存一些簡單配置資訊的一種機制,使用Map資料結構來儲存資料,以鍵值對的方式儲存,採用了XML格式將資料儲存到裝置中。例如儲存登入使用者的使用者名稱和密碼。只能在同一個包內使用,不能在不同的包之間使用,其實也就是說只能在創建它的應用

Android資料儲存方式

https://www.cnblogs.com/ITtangtang/p/3920916.html SharedPreferences的基本使用-----存,刪,改,查:https://www.cnblogs.com/qianzf/p/7582400.html Android Sha

Android常見資料儲存方式

本文介紹Android平臺進行資料儲存的五大方式,分別如下:    下面詳細講解這五種方式的特點 第一種: SharedPreferences儲存資料 適用範圍:儲存少量的資料,且這些資料的格式非常簡單:字串型、基本型別的值。

資料儲存(方式)SharedPreferences儲存

一.SharedPreferences儲存 1.使用SharedPreferences儲存資料時,不需要指定檔案字尾,字尾自動設定為*.xml。 2.儲存資料---SaveData.java publicclass MySharedPreferencesDemo exte

資料儲存(方式二)-檔案儲存

檔案儲存 1.SharedPreference只能儲存一些簡單的資料,要想儲存更多型別的資料,需要使用檔案的儲存操作。有兩種形式: 形式一:直接利用Activity提供的檔案操作方法。此類操作的所有檔案路徑只能是“data\data\<packagename>

Hive中表的資料匯入(方式)

目錄 總結: load: insert: 建立表並載入資料(As Select): location: import: 總結: 總結: hive中一共有五種資料匯出的方式: ①:load data方式,如果路徑是local是追加,若為HDFS則

servlet 資料儲存方式和jsp 作用域

有5個物件儲存資料: ServletContext ---application  當tomcat服務一啟動,資料儲存一致有效,當tomcat服務一停止,ServletContext物件消失。 session----session   當第一次使用者輸入一個網址,且帶有一些

SpringMVC的controller向jsp傳遞資料方式詳解

第一種   使用model來儲存資料到前臺我的專案目錄為我的controller頁面程式碼@RequestMapping("/demo") public String Model(Model model

Hibernate查詢資料方式

1.導航物件圖查詢:根據已經載入的物件,導航到其他物件。 例如,對於已經載入的Customer物件,呼叫它getOrders().iterator()方法就可以導航到所有關聯的Order物件,假如在關聯級別使用了延遲載入檢索策略,那麼首次執行此方法時,Hibernate

Android資料的四儲存方式----總結

      作為一個完成的應用程式,資料儲存操作是必不可少的。因此,Android系統一共提供了四種資料儲存方式。分別是:SharePreference、SQLite、Content Provider和File。由於Android系統中,資料基本都是私有的的,都是存放於“data/data/程式包名”目錄

android 資料儲存的幾方式

總體的來講,資料儲存方式有三種:一個是檔案,一個是資料庫,另一個則是網路。其中檔案和資料庫可能用的稍多一些,檔案用起來較為方便,程式可以自己定義格式;資料庫用起稍煩鎖一些,但它有它的優點,比如在海量資料時效能優越,有查詢功能,可以加密,可以加鎖,可以跨應用,跨平臺等等;網路

關於Android Activity之間傳遞資料的6方式

使用Inten的putExtra傳遞 第一個Activity中 ? 1 2 3 4 5 6 //建立意圖物件  Intent intent = new Intent(this,TwoActivity.class);  //設定傳

Android資料儲存方式

1.Android常用的資料儲存方式 File儲存 SharedPreferences儲存 SQLite輕量型資料庫 ContentProvider 四大元件之一 2.File儲存 最基本的一種資料儲存方式,不對儲存的內容進行任何的格式化處理,所有

Android自助餐】Handler訊息機制完全解析()鳥瞰總結

Android自助餐Handler訊息機制完全解析(五)鳥瞰與總結 Android自助餐Handler訊息機制完全解析五鳥瞰與總結 Message MessageQueue Handler Looper

Spark-Streaming獲取kafka資料的兩方式:ReceiverDirect的方

 簡單理解為:Receiver方式是通過zookeeper來連線kafka佇列,Direct方式是直接連線到kafka的節點上獲取資料 回到頂部 使用Kafka的高層次Consumer API來實現。receiver從Kafka中獲取的資料都儲存在Spark Exec

Android資料儲存(3)SQLite簡介和簡單的登入註冊原始碼

操作SQLite資料的基本操作步驟: Android群:239123204 (在此不考慮用SQLiteOpenHelper類)  1.獲取SQLiteDatabase物件db建立資料庫或連線資料庫:SQLiteDatabasedb = SQLiteDatabase.op

儲存資料的幾方式比較

機身記憶體讀取主要用個兩個類檔案輸入流(FileInputStream)和檔案輸出流(FileOutputStream):FileInputStream fileInput = this.openFileInput("test.txt") 第一個引數為 data/此程式包名/data/test.txt

android開發之為listview繫結資料的三方式

第一種,使用simple adapter simpleadapter 是最簡單的一種方式,但是其資料來源必須是map型別。 1.生成 SimpleAdapter()物件 2.設定資料來源 3.設定每個item的佈局 4.設定SimpleAdapter(Context con

android資料儲存的四方案(二)

檔案流操作 二.openFileOutput和openFileInput openFileOutput : 開啟要寫入的檔案,返回一個OutputStream物件 openFileInput:開啟