編輯:關於Android編程
除了SQLite數據庫外,SharedPreferences也是一種輕型的數據存儲方式,它的本質是基於XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/< >/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過Editor對象實現。實現SharedPreferences存儲的步驟如下:
一、根據Context獲取SharedPreferences對象
二、利用edit()方法獲取Editor對象。
三、通過Editor對象存儲key-value鍵值對數據。
四、通過commit()方法提交數據。
下面是用SharedPreferences存儲數據的一個案例:

點擊開啟開啟WiFi,設置進度條,保存狀態,下次打開此程序,將顯示上次保存的狀態。
核心code如下:
package com.ghsy.demo;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class MainActivity extends Activity {
private CheckBox checkBox;
private SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox=(CheckBox) this.findViewById(R.id.checkBox1);
seekBar=(SeekBar) this.findViewById(R.id.seekBar1);
/*除了SQLite數據庫外,SharedPreferences也是一種輕型的數據存儲方式,它的本質是基於XML文件
*存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/< >/sh
*ared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是
*通過Editor對象實現。
*/
//sharedPreferences存儲數據的步驟:
//1.根據context獲取SharedPreferences對象
final SharedPreferences preferences=MainActivity.this.getSharedPreferences("setting",MODE_PRIVATE );
//點擊發生狀態改變的時候,調用相應的方法
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
//2.通過SharedPreferences獲取editor對象(對數據存儲修改的對象)
Editor editor=preferences.edit();
//3.通過editor對象存儲key-value鍵值對數據
editor.putBoolean("wifi", isChecked);
//4.通過commit方法提交數據
editor.commit();
}
});
//當點開當前頁面的時候,從preferences中獲取當前的的wifi開啟狀態
Boolean boolean1 = preferences.getBoolean("wifi", false);
checkBox.setChecked(boolean1);
//當seekbar在移動的時候對其做一個監聽
this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// 進度條停止的時候
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// 進度條開始移動
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// 進度條運動後(在移動)
Editor editor=preferences.edit();
editor.putInt("seek", progress);
editor.commit();
}
});
int progress=preferences.getInt("seek", 0);
this.seekBar.setProgress(progress);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Android 6.0 Overview Screen實現原理
Android 4.0中添加了一個很有用的特性,那就是overView Screen功能,也就是最近任務預覽功能。這個功能提供了一個列表試圖,方便用戶簡單快捷地了解到最近
AndroidEventBus ( 事件總線 ) 的設計與實現
1. 功能介紹AndroidEventBus是一個Android平台的事件總線庫, 它簡化了Activity、Fragment、Service等組件或者對象之間的交互,很
android官方技術文檔翻譯——Android Lint
Android Lint Android Lint是在ADT 16(和 Tools 16)引入的一個新工具,可以掃描Android 項目源碼中潛在的bug
Android官方提供的支持不同屏幕大小的全部方法
本文將告訴你如何讓你的應用程序支持各種不同屏幕大小,主要通過以下幾種辦法:讓你的布局能充分的自適應屏幕 根據屏幕的配置來加載合適的UI布局 確保正確的布局應用在正確的設備