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

本文地址:http://www.cnblogs.com/wuyudong/p/5949775.html,轉載請注明出處。
這裡需要實現綁定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基礎入門教程——9.4 使用MediaRecord錄音
Android基礎入門教程——9.4 使用MediaRecord錄音 Android基礎入門教程——9.4 使用MediaRecord錄音 標
Hybrid app開發歷程分享
Hybrid app開發歷程分享關於這個話題,本文並不准備詳述移動開發相關的一些通用技術,例如:viewport、rem、flexbox、媒體查詢等。這裡主要講述我們的h
談談Android中的Divider,AndroidDivider
談談Android中的Divider,AndroidDivider在Android應用開發中會經常碰到一個叫divider的東西,就是兩個View之間的分割線。最近工作中
算法—比較兩種排序算法:選擇排序和插入排序,排序算法
算法—比較兩種排序算法:選擇排序和插入排序,排序算法現在我們已經實現了兩種排序算法,我們很自然地想知道選擇排序和插入排序哪種更快。這裡我們第一次用實踐說明我們解決這個問題
模擬QQ側滑控件 實現三種界面切換效果(知識點:回調機制,解析網絡json數據,fragment用法等)。,jsonfragment
模擬QQ側滑控件 實現三種界面切換效果(知識點:回調機制,解析網絡jso
Android Studio 編譯報錯:Process 'command 'D:\SDK\AS\sdk\build-tools\23.0.0\aapt.exe'' finished with non-zero exit value 1,nonzeroexitcode
Android Studio 編譯報錯:Process 'com