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

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

2、具體操作方法

獲取SharedPreferences,可以通過(guò)以下方法獲取:

參數(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里面,然后再次播放的話,讀取進(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)部類(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)文章

  • 使用Kotlin開(kāi)發(fā)Android應(yīng)用教程

    使用Kotlin開(kāi)發(fā)Android應(yīng)用教程

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

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

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

    Android打包上傳AAR文件到Maven倉(cāng)庫(kù)的示例

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

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

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

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

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

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

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

    Android VelocityTracker使用案例詳解

    這篇文章主要介紹了Android VelocityTracker使用案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android的Service應(yīng)用程序組件基本編寫(xiě)方法

    Android的Service應(yīng)用程序組件基本編寫(xiě)方法

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

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

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

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

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

最新評(píng)論

通州市| 民县| 英超| 科技| 枣强县| 合作市| 乐至县| 介休市| 年辖:市辖区| 锡林郭勒盟| 盈江县| 晋江市| 高要市| 新宁县| 磐石市| 阿巴嘎旗| 花莲市| 普兰县| 阿图什市| 阳谷县| 贵阳市| 屏东市| 钟祥市| 自治县| 蒲城县| 镇赉县| 商丘市| 当涂县| 原阳县| 合山市| 湘潭县| 土默特左旗| 时尚| 西宁市| 东港市| 兰坪| 遂平县| 小金县| 丹凤县| 古丈县| 凭祥市|