最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android學習之使用SharedPreferences存儲應用程序數(shù)據(jù)

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

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

1、SharedPreferences的簡單介紹

應用程序在運行的時候,可能會隨著用戶的使用而保持該用戶的配置信息,如上次播放時的eq設置,音量設置,上網的cookies信息等等,這些小量 的信息可以通過SharedPreferences來保持,通過SharedPreferences保持的數(shù)據(jù)為一個XML文件,位于應用程序的私有文件夾。

2、具體操作方法

獲取SharedPreferences,可以通過以下方法獲取:

參數(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軟件編程有所幫助。

相關文章

  • 使用Kotlin開發(fā)Android應用教程

    使用Kotlin開發(fā)Android應用教程

    這篇文章主要為大家詳細介紹了使用Kotlin開發(fā)Android應用的教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android自定義滑動刪除效果的實現(xiàn)代碼

    Android自定義滑動刪除效果的實現(xiàn)代碼

    這篇文章將從現(xiàn)有 Android 滑動刪除的痛點,到搭建好一個基本的框架,到最終提供一份完整的 Demo為止,爭取為讀者提供最大的可定制化,需要的朋友可以參考下
    2018-03-03
  • Android打包上傳AAR文件到Maven倉庫的示例

    Android打包上傳AAR文件到Maven倉庫的示例

    這篇文章主要介紹了Android打包上傳AAR文件到Maven倉庫的示例,幫助大家更好的理解和學習使用Android開發(fā),感興趣的朋友可以了解下
    2021-03-03
  • Android實現(xiàn)自定義的衛(wèi)星式菜單(弧形菜單)詳解

    Android實現(xiàn)自定義的衛(wèi)星式菜單(弧形菜單)詳解

    相信大家經常在應用中會看到衛(wèi)星菜單,那么這篇文章就來介紹在Android中如何實現(xiàn)自定義的衛(wèi)星式菜單(弧形菜單),有需要的可以參考學習。
    2016-08-08
  • Android開發(fā)Jetpack組件ViewModel與LiveData使用講解

    Android開發(fā)Jetpack組件ViewModel與LiveData使用講解

    Jetpack是一個由多個技術庫組成的套件,可幫助開發(fā)者遵循最佳做法,減少樣板代碼并編寫可在各種Android版本和設備中一致運行的代碼,讓開發(fā)者精力集中編寫重要的代碼
    2022-09-09
  • Android采集傳感器數(shù)據(jù)并顯示的方法

    Android采集傳感器數(shù)據(jù)并顯示的方法

    這篇文章主要為大家詳細介紹了Android采集傳感器數(shù)據(jù)并顯示的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Android VelocityTracker使用案例詳解

    Android VelocityTracker使用案例詳解

    這篇文章主要介紹了Android VelocityTracker使用案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Android的Service應用程序組件基本編寫方法

    Android的Service應用程序組件基本編寫方法

    Service是一個android 系統(tǒng)中的應用程序組件,它跟Activity的級別差不多,但是他沒有圖形化界面,不能自己運行,只能后臺運行,Service通常用來處理一些耗時比較長的操作
    2012-12-12
  • Android開發(fā)之Android.mk模板的實例詳解

    Android開發(fā)之Android.mk模板的實例詳解

    這篇文章主要介紹了Android開發(fā)之Android.mk模板的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下
    2017-10-10
  • Android編程單元測試實例詳解(附源碼)

    Android編程單元測試實例詳解(附源碼)

    這篇文章主要介紹了Android編程單元測試,結合完整實例形式詳細分析了Android單元測試的具體步驟與相關技巧,并附帶完整實例代碼供讀者下載參考,需要的朋友可以參考下
    2015-11-11

最新評論

炉霍县| 淮安市| 湟源县| 阿勒泰市| 波密县| 江北区| 泸西县| 炎陵县| 浪卡子县| 永年县| 嫩江县| 桦甸市| 富阳市| 温州市| 上饶县| 新河县| 武安市| 本溪市| 师宗县| 饶河县| 宁海县| 韩城市| 勐海县| 玉林市| 深泽县| 祥云县| 太康县| 五指山市| 永州市| 孟州市| 固阳县| 泽普县| 青川县| 周宁县| 屏东市| 突泉县| 南阳市| 科技| 张家界市| 扎兰屯市| 香港 |