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

溫馨提示×

溫馨提示×

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

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

如何在Android項目中是SharedPreferences實現存儲

發布時間:2020-11-24 16:15:50 來源:億速云 閱讀:154 作者:Leah 欄目:移動開發

如何在Android項目中是SharedPreferences實現存儲?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

SharedPreferences詳解

SharedPreferences是Android平臺上一個輕量級的存儲類,用來保存應用的一些常用配置,比如Activity狀態,Activity暫停時,將此activity的狀態保存到SharedPereferences中;當Activity重載,系統回調方法onSaveInstanceState時,再從SharedPreferences中將值取出.

SharedPreferences提供了java常規的Long、Int、String等類型數據的保存接口.

SharedPreferences類似過去Windows系統上的ini配置文件,但是它分為多種權限,可以全局共享訪問。

提示最終是以xml方式來保存,整體效率來看不是特別的高,對于常規的輕量級而言比SQLite要好不少,如果真的存儲量不大可以考慮自己定義文件格式。xml處理時Dalvik會通過自帶底層的本地XML Parser解析,比如XMLpull方式,這樣對于內存資源占用比較好.

SharedPreferences數據的四種操作模式

Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE

Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容
Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件.
MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取.
MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入

SharedPreferences使用步驟

SharedPreferences的使用非常簡單,使用SharedPreferences保存key-value對的步驟如下:

  (1)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中存儲key-value的文件的名稱由getSharedPreferences方法的第一個參數指定.
  (2)使用SharedPreferences接口的edit獲得SharedPreferences.Editor對象.
  (3)通過SharedPreferences.Editor接口的putXxx方法保存key-value對。其中Xxx表示不同的數據類型。例如:字符串類型的value需要用putString方法.
  (4)通過SharedPreferences.Editor接口的commit方法保存key-value對。commit方法相當于數據庫事務中的提交(commit)操作.

具體代碼的書寫流程為:

 A、存放數據信息

1、打開Preferences,名稱為config,如果存在則打開它,否則創建新的Preferences
SharedPreferencesconfig= getSharedPreferences(“config”, 0);
2、讓config處于編輯狀態
SharedPreferences.Editor editor =config.edit();
3、存放數據
editor.putString(“name”,”ATAAW”);
editor.putString(“URL”,”ATAAW.COM”);
4、完成提交
editor.commit();

B、讀取數據信息
1、獲取Preferences
SharedPreferencesconfig= getSharedPreferences(“config”, 0);
2、取出數據
String name =config.getString(“name”,”默認值”);
String url = config.getString(“URL”,”default”);
以上就是Android中SharedPreferences的使用方法 

demo的實現

MainActivity布局文件

<&#63;xml version="1.0" encoding="utf-8"&#63;> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:orientation="vertical" 
 tools:context="com.duanlian.sharedpreferencesdemo.MainActivity"> 
 
 <LinearLayout 
 android:layout_width="match_parent" 
 android:layout_height="50dp"> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="match_parent" 
  android:gravity="center" 
  android:text="用戶名" 
  android:textSize="23sp" /> 
 
 <EditText 
  android:id="@+id/username" 
  android:layout_width="0dp" 
  android:layout_height="wrap_content" 
  android:layout_weight="1" /> 
 </LinearLayout> 
 <LinearLayout 
 android:layout_width="match_parent" 
 android:layout_height="50dp"> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="match_parent" 
  android:gravity="center" 
  android:text="密 碼" 
  android:textSize="23sp" /> 
 
 <EditText 
  android:id="@+id/password" 
  android:layout_width="0dp" 
  android:layout_height="wrap_content" 
  android:layout_weight="1" /> 
 </LinearLayout> 
 <Button 
 android:onClick="save" 
 android:layout_width="match_parent" 
 android:layout_height="50dp" 
 android:text="保存信息"/> 
 <Button 
 android:onClick="change" 
 android:layout_width="match_parent" 
 android:layout_height="50dp" 
 android:text="跳轉"/> 
</LinearLayout> 

ActivityA的布局文件

<&#63;xml version="1.0" encoding="utf-8"&#63;> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:orientation="vertical" 
 tools:context="com.duanlian.sharedpreferencesdemo.MainActivity"> 
 
 <LinearLayout 
 android:layout_width="match_parent" 
 android:layout_height="50dp"> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="match_parent" 
  android:gravity="center" 
  android:text="用戶名" 
  android:textSize="23sp" /> 
 
 <EditText 
  android:id="@+id/username" 
  android:layout_width="0dp" 
  android:layout_height="wrap_content" 
  android:layout_weight="1" /> 
 </LinearLayout> 
 <LinearLayout 
 android:layout_width="match_parent" 
 android:layout_height="50dp"> 
 
 <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="match_parent" 
  android:gravity="center" 
  android:text="密 碼" 
  android:textSize="23sp" /> 
 
 <EditText 
  android:id="@+id/password" 
  android:layout_width="0dp" 
  android:layout_height="wrap_content" 
  android:layout_weight="1" /> 
 </LinearLayout> 
 <Button 
 android:onClick="get" 
 android:layout_width="match_parent" 
 android:layout_height="50dp" 
 android:text="得到信息"/> 
</LinearLayout> 

MainActivity里存儲的具體實現
都是按照上面寫的步驟來實現的,最后一定要提交

package com.duanlian.sharedpreferencesdemo; 
 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
 
public class MainActivity extends AppCompatActivity { 
 
 private EditText passWors; 
 private EditText userName; 
 private SharedPreferences preferences; 
 private SharedPreferences.Editor editor; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 initView(); 
 } 
 
 private void initView() { 
 userName = (EditText) findViewById(R.id.username); 
 passWors = (EditText) findViewById(R.id.password); 
 //1,實例化SharedPreferences對象,參數1:保存的名字,參數2:保存的模式MODE_PRIVATE私有的 
 preferences = getSharedPreferences("config", MODE_PRIVATE); 
 //2,讓SharedPreferences處于可編輯狀態 
 editor = preferences.edit(); 
 
 } 
 
 /** 
 * 保存按鈕的監聽 
 * @param view 
 */ 
 public void save(View view) { 
 //拿到用戶輸入的數據 
 String name = userName.getText().toString().trim(); 
 String pwd = passWors.getText().toString().trim(); 
 //3,儲存數據,類似于map 
 editor.putString("name", name); 
 editor.putString("pwd", pwd); 
 //4,提交 
 editor.commit(); 
 
 } 
 
 /** 
 * 跳轉的點擊監聽 
 * @param view 
 */ 
 public void change(View view) { 
 Intent intent = new Intent(MainActivity.this, ActivityA.class); 
 startActivity(intent); 
 
 } 
} 

取出數據的實現

package com.duanlian.sharedpreferencesdemo; 
 
import android.content.SharedPreferences; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
 
public class ActivityA extends AppCompatActivity { 
 
 private EditText userName; 
 private EditText passWord; 
 private String name; 
 private String pwd; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_a); 
 //得到數據 
 //1,得到SharedPreferences對象 
 SharedPreferences preferences = getSharedPreferences("config", 0); 
 //2,取出數據 
  name = preferences.getString("name",""); 
  pwd = preferences.getString("pwd", ""); 
 userName = (EditText) findViewById(R.id.username); 
 passWord = (EditText) findViewById(R.id.password); 
 
 } 
 
 /** 
 * 得到數據按鈕的監聽 
 * @param view 
 */ 
 public void get(View view) { 
 userName.setText(name); 
 passWord.setText(pwd); 
 } 
} 

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

海口市| 嘉祥县| 噶尔县| 安达市| 焦作市| 威海市| 白银市| 石林| 濮阳县| 寿阳县| 凤凰县| 正蓝旗| 桂林市| 库尔勒市| 肥西县| 湛江市| 鄯善县| 临猗县| 延寿县| 洛阳市| 兴山县| 英德市| 沙坪坝区| 兴业县| 平原县| 华容县| 巴东县| 清丰县| 台北市| 玉溪市| 通山县| 镶黄旗| 景泰县| 天等县| 凌海市| 甘肃省| 巫山县| 突泉县| 焦作市| 英超| 四平市|