91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

安卓-SharedPreferences和Editor保存數據

發布時間:2020-07-09 22:11:59 來源:網絡 閱讀:582 作者:sy月牙兒 欄目:移動開發


    SharedPreferences是Android中最容易理解的數據存儲技術,實際上SharedPreferences處理的就是一個key-value(鍵值對)SharedPreferences常用來存儲一些輕量級的數據。


    在做連連看游戲的時候,需要保存游戲進度,所以稍微用了一下,這里做個小結。


    我的做法是,首先給出如下定義:

private SharedPreferences sp;
private static String MY_APP="MYAPP";

    然后再寫兩個方法,執行數據的讀寫操作。

/**
 * 保存數據
 */
public void saveData(String key,int value) {
	// 獲取SharedPreferences對象
	sp = MainActivity.this.getSharedPreferences(MY_APP, MODE_PRIVATE);
	// 存入數據,除了putInt還有putString等其他方法,可以自己挖掘一下~
	//另外,每次存入的就是“key-value”形式的鍵值對,很好理解
	Editor editor = sp.edit();
	editor.putInt(key, value);
	editor.commit();
}

/**
 * 讀取數據,找到返回數據內容,否則返回-1
 */
public int readData(String key) {
	sp = MainActivity.this.getSharedPreferences(MY_APP, MODE_PRIVATE);
	int v=sp.getInt(key, 0);
	if ( v != 0) {
		return v;
	} else {
		return -1;
	}
}

    然后在程序里就可以使用這兩個方法來存取數據了。如果要存的數據項不多但是比較頻繁的話,可以把key也定義為靜態變量,這樣的話使用起來比較方便,修改也比較容易。

    這里使用的putInt和readData返回值是我根據自己程序的需要進行設置的,具體要怎么寫以及是否需要加一些約束條件,要根據自己的程序做適當的調整,需求明確的話,這個做起來也很easy的。


下面是一段完整的代碼

package com.test.leetlesharedpreferences;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;

public class MainActivity extends Activity {
	
	private SharedPreferences sp;
	private static String MY_APP="MYAPP";
	
	private static String MY_KEYINT="keyint";
	private static String MY_KEYSTRING="keystring";
	

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        System.out.println("readInt(MY_KEYINT) = "+Integer.toString(readInt(MY_KEYINT)));
        System.out.println("readString(MY_KEYSTRING) = "+readString(MY_KEYSTRING));
        System.out.println("--------我是分割線----------------------");
        
        saveData(MY_KEYINT, 100000);
        saveData(MY_KEYSTRING, "那么問題來了");
        System.out.println("readInt(MY_KEYINT) = "+Integer.toString(readInt(MY_KEYINT)));
        System.out.println("readString(MY_KEYSTRING) = "+readString(MY_KEYSTRING));
        
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    
    /**
     * 兩個寫數據的方法
     */
    private void saveData(String key,int value)
    {
    	sp=this.getSharedPreferences(MY_APP, MODE_PRIVATE);
    	Editor editor=sp.edit();
    	editor.putInt(key, value);
    	editor.commit();
    }
    private void saveData(String key,String value)
    {
    	sp=this.getSharedPreferences(MY_APP, MODE_PRIVATE);
    	Editor editor=sp.edit();
    	editor.putString(key, value);
    	editor.commit();
    }
  
    /**
     * 兩個讀數據的方法
     */
    private int readInt(String key)
    {
    	sp=MainActivity.this.getSharedPreferences(MY_APP, MODE_PRIVATE);
    	return sp.getInt(key, 0);
    }
    
    private String readString(String key)
    {
    	sp=this.getSharedPreferences(MY_APP, MODE_PRIVATE);
    	return sp.getString(key, "沒有數據");
    }
}

    結果如下

安卓-SharedPreferences和Editor保存數據


2015.01.02



附件:http://down.51cto.com/data/2365259
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双辽市| 成都市| 江门市| 松潘县| 开江县| 庐江县| 时尚| 湖北省| 彩票| 怀来县| 渝北区| 沁水县| 许昌县| 和硕县| 梅河口市| 广饶县| 海原县| 泗阳县| 潍坊市| 西安市| 财经| 固安县| 廊坊市| 大连市| 石狮市| 辉县市| 涟水县| 东港市| 南宫市| 延安市| 西昌市| 舒城县| 武安市| 昆明市| 潜江市| 汪清县| 马公市| 琼海市| 阜城县| 华蓥市| 凉山|