編輯:關於Android編程
現在開始具體 處理每一個導航頁面的邏輯,首先看第二個導航頁

這裡需要實現綁定sim卡序列號的功能,注意添加相應的權限:uses-permission android:name="android.permission.READ_PHONE_STATE"
private SettingItemView siv_sim_bound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup2);
initUI();
}
private void initUI() {
siv_sim_bound = (SettingItemView)findViewById(R.id.siv_sim_bound);
//1.回顯(讀取已有的綁定狀態,用作顯示sp中是否存儲了sim卡的序列號)
final String sim_number = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
//2.判斷是否序列卡號為""
if(TextUtils.isEmpty(sim_number)) {
siv_sim_bound.setCheck(false);
} else {
siv_sim_bound.setCheck(true);
}
siv_sim_bound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//3.獲取原有的方法
boolean isCheck = siv_sim_bound.isCheck();
//4.將原有狀態取反
//5,狀態設置給當前條目
siv_sim_bound.setCheck(!isCheck);
//6,存儲(序列卡號)
//6.1獲取sim卡序列號TelephoneManager
if(!isCheck) {
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//6.2獲取sim卡的序列卡號
String simSerialNumber = manager.getSimSerialNumber();
//6.3存儲
SpUtil.putString(getApplicationContext(), ConstantValue.SIM_NUMBER, simSerialNumber);
} else {
//7,將存儲序列卡號的節點,從sp中刪除掉
SpUtil.remove(getApplicationContext(), ConstantValue.SIM_NUMBER);
}
}
});
}
在SpUtil中添加remove方法
/**
* 從sp 中移除指定節點
* @param context 上下文環境
* @param key 需要一處節點的名稱
*/
public static void remove(Context context, String key) {
// (存儲節點文件名稱,讀寫方式)
if (sp == null) {
sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
}
sp.edit().remove(key).commit();
}
運行項目,勾選checkbox後,查看data/data..../shared_prefs文件下的config.xml文件,內容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="mobile_safe_psd">1107f203c8f0cd474aa3ab6a6e03c6cc</string> <string name="sim_number">89014103211118510720</string> </map>
說明綁定sim卡的功能已經實現。
當checkbox沒有被選定的時候,也即是sim卡沒有被選定,這個時候點擊“下一頁”就會彈出吐司提醒,邏輯代碼如下:
public void nextPage(View view) {
String serialNumber = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
if(!TextUtils.isEmpty(serialNumber)) {
Intent intent = new Intent(getApplicationContext(), Setup3Activity.class);
startActivity(intent);
finish();
} else {
ToastUtil.show(this, "請綁定sim卡");
}
}
效果如下圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
Android Linux內核編譯
平台: Wind7_64 + Ubuntu12_04_64 + VMware 這裡以Android5.0為例: Android5.0 可以到這
Android ListView實現上拉加載更多和下拉刷新功能
本文實例為大家介紹了Android ListView下拉刷新功能的實現方法和功能,供大家參考,具體內容如下1、ListView優化方式界面緩存:ViewHolder+co
Android4.4深入淺出之SurfaceFlinger總體結構
Android4.4 GUI系統框架之SurfaceFlinger 一. Android GUI框架: SurfaceFlinger:每當用戶程
Android中的Activity生命周期總結
概述有圖有真相,所以先上圖:上圖是從Android官網截下的Activity的生命周期流程圖,結構非常清晰,它描述了Activity在其生命周期中所有可能發生的情況以及發