24手机防盗的完成
我们需要在LostFindActivity这个类中,展示第三个设置向导页面传过来的安全号码,第四个页面如果勾选上了,则将防盗保护是否开启的图片换掉,最终结果如下图。
首先看最后一个设置向导页面:
package com.ustc.mobilemanager; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; public class Setup4Activity extends BaseSetupActivity { private SharedPreferences sp; private CheckBox cb_protecting; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_setup4); sp = getSharedPreferences("config", MODE_PRIVATE); cb_protecting = (CheckBox) findViewById(R.id.cb_protecting); boolean protecting = sp.getBoolean("protecting", false); if (protecting) { //手机防盗已经开启 cb_protecting.setText("手机防盗已经开启"); cb_protecting.setChecked(true); }else { //手机防盗没有开启 cb_protecting.setText("手机防盗没有开启"); cb_protecting.setChecked(false); } cb_protecting.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { cb_protecting.setText("手机防盗已经开启"); }else { cb_protecting.setText("手机防盗没有开启"); } //保存选择的状态 Editor editor = sp.edit(); editor.putBoolean("protecting", isChecked); editor.commit(); } }); } @Override public void showBack() { Intent intent = new Intent(this, Setup3Activity.class); startActivity(intent); finish(); // 要求finish()或者startActivity(intent)方面后面执行 overridePendingTransition(R.anim.tran_pre_in, R.anim.tran_pre_out); } public void ok(View view) { Editor edit = sp.edit(); edit.putBoolean("configed", true); edit.commit(); Intent intent = new Intent(this, LostFindActivity.class); startActivity(intent); finish(); // 要求finish()或者startActivity(intent)方面后面执行 overridePendingTransition(R.anim.tran_in, R.anim.tran_out); } @Override public void showNext() { } }
根据CheckBox的状态设置响应的字体。
package com.ustc.mobilemanager; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.ImageView; import android.widget.TextView; public class LostFindActivity extends Activity { private SharedPreferences sp; private ImageView iv_protecting; private TextView tv_safenumber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); sp = getSharedPreferences("config", MODE_PRIVATE); // 判断一下,是否做过设置向导,如果没有做过,就跳转到设置向导页面去设置,否则就留在当前的页面 boolean configed = sp.getBoolean("configed", false); if (configed) { // 就在手机防盗页面 setContentView(R.layout.activity_lost_find); tv_safenumber = (TextView) findViewById(R.id.tv_safenumber); iv_protecting = (ImageView) findViewById(R.id.iv_protecting); //设置安全号码 String safenumber = sp.getString("safenumber", ""); if (safenumber != null) { tv_safenumber.setText(safenumber); } //设置防盗保护的状态 boolean protecting = sp.getBoolean("protecting", false); if (protecting) { iv_protecting.setImageResource(R.drawable.strongbox_app_lock_ic_locked); }else { iv_protecting.setImageResource(R.drawable.strongbox_app_lock_ic_unlock); } } else { // 还没有做过设置向导 Intent intent = new Intent(LostFindActivity.this, Setup1Activity.class); startActivity(intent); finish(); // 要求finish()或者startActivity(intent)方面后面执行 overridePendingTransition(R.anim.tran_in, R.anim.tran_out); } } public void back(View view) { Intent intent = new Intent(LostFindActivity.this, HomeActivity.class); startActivity(intent); finish(); //要求finish()或者startActivity(intent)方面后面执行 overridePendingTransition(R.anim.tran_pre_in, R.anim.tran_pre_out); } /** * 重新进入防盗设置页面(TextView的点击事件) * * @param view */ public void reEnterSetup(View view) { Intent intent = new Intent(LostFindActivity.this, Setup1Activity.class); startActivity(intent); finish(); // 要求finish()或者startActivity(intent)方面后面执行 overridePendingTransition(R.anim.tran_in, R.anim.tran_out); } }
拿到安全号码和设置向导页面4设置的状态。主要是SharedPreferences的操作。
一个错误:
空指针异常,LostFindActivity类中,忘了finfviewbyid就去设置TextView的值,粗心!!!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。