欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android學(xué)習(xí)之使用SharedPreferences存儲(chǔ)應(yīng)用程序數(shù)據(jù)

 更新時(shí)間:2021年09月22日 15:27:41   作者:conowen  
這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)之使用SharedPreferences保存應(yīng)用程序數(shù)據(jù)的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文介紹了SharedPreferences保存應(yīng)用程序數(shù)據(jù)的具體步驟,供大家參考,具體內(nèi)容如下

1、SharedPreferences的簡(jiǎn)單介紹

應(yīng)用程序在運(yùn)行的時(shí)候,可能會(huì)隨著用戶(hù)的使用而保持該用戶(hù)的配置信息,如上次播放時(shí)的eq設(shè)置,音量設(shè)置,上網(wǎng)的cookies信息等等,這些小量 的信息可以通過(guò)SharedPreferences來(lái)保持,通過(guò)SharedPreferences保持的數(shù)據(jù)為一個(gè)XML文件,位于應(yīng)用程序的私有文件夾。

2、具體操作方法

獲取SharedPreferences,可以通過(guò)以下方法獲?。?/p>

參數(shù)簡(jiǎn)述:

Name————獲得SharedPreferences之后,將會(huì)在應(yīng)用程序的私有文件夾中保存著一個(gè)XML文件,第一個(gè)參數(shù)name就是這個(gè)文件名字。

Mode————XML文件的保存模式,默認(rèn)為0,也就是MODE_PRIVATE

3、簡(jiǎn)單的demo

通過(guò)service的一個(gè)音樂(lè)播放例子,“播放”與“暫?!眱蓚€(gè)按鈕
暫停之后,保持播放進(jìn)度到SharedPreferences里面,然后再次播放的話(huà),讀取進(jìn)度值進(jìn)行音樂(lè)播放。

/* 
 * @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,全局變量,供下面兩個(gè)匿名內(nèi)部類(lèi)(onclicklisenter)使用  
    play.setOnClickListener(new OnClickListener() {  
  
      @Override  
      public void onClick(View v) {  
        // TODO Auto-generated method stub  
        startService(intent);  
        // 開(kāi)始播放,通過(guò)前面定義好的intent傳遞  
  
      }  
    });  
    pause.setOnClickListener(new OnClickListener() {  
  
      @Override  
      public void onClick(View v) {  
        // TODO Auto-generated method stub  
        stopService(intent);  
        // 停止播放  
  
      }  
    });  
     
  } 
} 

第二個(gè)class是繼承service的,記得在manifest.XML里面注冊(cè)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); 
    // 兩種方式的第一個(gè)生命周期都是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為鍵值對(duì)中的key,progress所對(duì)應(yīng)的值通過(guò)player.getCurrentPosition()獲得,請(qǐng)看下面詳細(xì) 
    // 每次調(diào)用onStart方法時(shí),就會(huì)設(shè)置player的進(jìn)度 
    // MediaPlayer的seekTo方法,讀取進(jìn)度,然后播放,getInt的第一個(gè)參數(shù)是所要讀取的key名字,第二個(gè)參數(shù)為默認(rèn)初始值。也就是說(shuō)進(jìn)度初始默認(rèn)為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()方法獲取播放進(jìn)度的數(shù)據(jù) 
    // commit()方法是保存SharedPreferences獲取來(lái)的數(shù)據(jù) 
    player.stop(); 
  } 
 
  @Override 
  public IBinder onBind(Intent intent) { 
    // TODO Auto-generated method stub 
    return null; 
  } 
 
} 

通過(guò)SharedPreferences保存的文檔如下所示,打開(kāi)DDMS,切換到File Explore,在私有目錄下的shared_prefs文件夾里面,路徑為/data/data/你的包名/shared_prefs

內(nèi)容如下

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<int name="progress" value="90695" /> 
</map> 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)Android軟件編程有所幫助。

相關(guān)文章

最新評(píng)論