Android學習之使用SharedPreferences存儲應用程序數(shù)據(jù)
本文介紹了SharedPreferences保存應用程序數(shù)據(jù)的具體步驟,供大家參考,具體內容如下
1、SharedPreferences的簡單介紹
應用程序在運行的時候,可能會隨著用戶的使用而保持該用戶的配置信息,如上次播放時的eq設置,音量設置,上網的cookies信息等等,這些小量 的信息可以通過SharedPreferences來保持,通過SharedPreferences保持的數(shù)據(jù)為一個XML文件,位于應用程序的私有文件夾。
2、具體操作方法
獲取SharedPreferences,可以通過以下方法獲?。?/p>

參數(shù)簡述:
Name————獲得SharedPreferences之后,將會在應用程序的私有文件夾中保存著一個XML文件,第一個參數(shù)name就是這個文件名字。
Mode————XML文件的保存模式,默認為0,也就是MODE_PRIVATE
3、簡單的demo
通過service的一個音樂播放例子,“播放”與“暫?!眱蓚€按鈕
暫停之后,保持播放進度到SharedPreferences里面,然后再次播放的話,讀取進度值進行音樂播放。
/*
* @author:conowen
* @date:12.3.01
*
*/
package com.conowen.sharedpreferences;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SharedPreferencesActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button play = (Button) findViewById(R.id.play);
Button pause = (Button) findViewById(R.id.pause);
final Intent intent = new Intent(SharedPreferencesActivity.this,service.class);
// 定義intent為final,全局變量,供下面兩個匿名內部類(onclicklisenter)使用
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startService(intent);
// 開始播放,通過前面定義好的intent傳遞
}
});
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopService(intent);
// 停止播放
}
});
}
}
第二個class是繼承service的,記得在manifest.XML里面注冊service
/*
* @author:conowen
* @date:12.3.01
*
*/
package com.conowen.sharedpreferences;
import android.app.Service;
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.IBinder;
public class service extends Service {
MediaPlayer player;
// 新建播放器
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
player = MediaPlayer.create(this, R.raw.lt26);
player.setLooping(true);
// 兩種方式的第一個生命周期都是onCreate()
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
SharedPreferences sp = this.getSharedPreferences("music_progress",
MODE_PRIVATE);
// music_progress為XML文件的文件名
player.seekTo(sp.getInt("progress", 0));
// progress為鍵值對中的key,progress所對應的值通過player.getCurrentPosition()獲得,請看下面詳細
// 每次調用onStart方法時,就會設置player的進度
// MediaPlayer的seekTo方法,讀取進度,然后播放,getInt的第一個參數(shù)是所要讀取的key名字,第二個參數(shù)為默認初始值。也就是說進度初始默認為0
player.start();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
SharedPreferences sp = this.getSharedPreferences("music_progress",
MODE_PRIVATE);
sp.edit().putInt("progress", player.getCurrentPosition()).commit();
// player.getCurrentPosition()方法獲取播放進度的數(shù)據(jù)
// commit()方法是保存SharedPreferences獲取來的數(shù)據(jù)
player.stop();
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}
通過SharedPreferences保存的文檔如下所示,打開DDMS,切換到File Explore,在私有目錄下的shared_prefs文件夾里面,路徑為/data/data/你的包名/shared_prefs

內容如下
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <int name="progress" value="90695" /> </map>
以上就是本文的全部內容,希望對大家學習Android軟件編程有所幫助。
- Android通過SharedPreferences實現(xiàn)自動登錄記住用戶名和密碼功能
- Android SharedPreferences存儲的正確寫法
- Android本地存儲SharedPreferences詳解
- Android 跨進程SharedPreferences異常詳解
- Android SharedPreferences存儲用法詳解
- Android SharedPreferences實現(xiàn)記住密碼和自動登錄界面
- Android應用中使用SharedPreferences類存儲數(shù)據(jù)的方法
- 簡介Android應用中sharedPreferences類存儲數(shù)據(jù)的用法
- Android SharedPreferences四種操作模式使用詳解
相關文章
完美解決EditText和ScrollView的滾動沖突(上)
這篇文章主要為大家詳細介紹了完美解決EditText和ScrollView滾動沖突的方法,感興趣的小伙伴們可以參考一下2016-06-06
代碼從windows下visual studio到andriod平臺遷移實現(xiàn)步驟
這篇文章主要介紹了代碼從windows下visual studio到andriod平臺遷移的修改記錄的相關資料,需要的朋友可以參考下2017-01-01
Android7.0開發(fā)實現(xiàn)Launcher3去掉應用抽屜的方法詳解
這篇文章主要介紹了Android7.0開發(fā)實現(xiàn)Launcher3去掉應用抽屜的方法,結合實例形式分析了Android7.0 Launcher3調整界面布局的相關操作技巧與注意事項,需要的朋友可以參考下2017-11-11
VerticalBannerView仿淘寶頭條實現(xiàn)垂直輪播廣告
這篇文章主要為大家詳細介紹了VerticalBannerView仿淘寶頭條實現(xiàn)垂直輪播廣告,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08
Kotlin開發(fā)實戰(zhàn)之hello world
這篇文章主要為大家詳細介紹了Kotlin開發(fā)實戰(zhàn)之hello world的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
Android BottomNavigationBar底部導航控制器使用方法詳解
這篇文章主要為大家詳細介紹了Android BottomNavigationBar底部導航控制器使用方法,感興趣的小伙伴們可以參考一下2016-03-03
Android模仿實現(xiàn)微博詳情頁滑動固定頂部欄的效果實例
這篇文章主要給大家介紹了關于利用Android模仿實現(xiàn)微博詳情頁滑動固定頂部欄效果的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。2017-11-11

