Android实例-手机安全卫士(十五)-由主界面进入手机防盗界面

一、目标

  1、在主界面中通过“设置防盗密码”或者“输入防盗密码”后,对话框消失,并进入”手机防盗界面“。

  2、进入是”手机防盗界面“时,根据有无完成”手机防盗设置向导“的情况进入不同的界面。若未完成,则进入向导界面,若已完成,则进入防盗界面。

         

二、代码实现。

  1、在程序包(com.example.mobilesafe)下新建两个Activity(分别取名SecurityActivity和SetupWizard),并在配置文件(AndroidManifest.xml)中完成注册。SecurityActivity用于“手机防盗”功能的实现,SetupWizard用于防盗设置向导的实现。同时完成各个新建类中onCreate方法的实现。

  2、在layout包下建立这新建的两个类的布局文件(分别取名activity_security.xml和activity_setupwizard_ui1.xml),activity_security.xml用于设计”手机防盗“界面(SecurityActivity)的UI,activity_setupwizard_ui1.xml用于设计”手机防盗设置向导“界面的第一个页UI。并通过setContentView将”手机防盗设置向导“界面代码和布局文件关联。

  3、在主界面(HomeActivity)”弹出设置防盗密码对话框“(showSetPwdDialog)和”弹出输入防盗密码对话框“(showinputPwdDialog)两个方法里,当密码设置或输入正确时,通过Intent启动”手机防盗“类(SecurityActivity)。

主界面进入”手机防盗界面“代码如下(注:两个方法中都需要加入):

1 Intent intent =new Intent(HomeActivity.this,SecurityActivity.class);
2                     startActivity(intent);
View Code

 

   4、在”手机防盗“类(SecurityActivity)代码中,通过SharedPreferences对象中的波boolean类型参数(setupwizard)的值来判断进入”手机防盗界面“还是启动“手机防盗设置向导”类。

    ①.在”手机防盗“类(SecurityActivity)中定义一个private的SharedPreferences成员变量(sp),在onCreate方法中,通过SharedPreferences对象(sp)的getSharedPreferences(String name, int mode)获取名称(String name)为“config”的SharedPreferences对象,类型(int mode)为MODE_PRIVATE。

    ②在通过SharedPreferences对象(sp)的getBoolean(String key, boolean defValue)方法获取键名为“setupwizard”的boolean类型的值(取名setupwizard)。

    ③.通过if...else语句判断该值(setupwizard),如果为true,则进入”手机防盗“界面,如果为false,则通过Intent方法启动设置向导(SetupWizard)类,并通过finish()方法关闭当前页面”SecurityActivity“。

手机防盗类(SecurityActivity)代码:

 1 public class SecurityActivity extends Activity {
 2     private SharedPreferences sp;
 3     
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);        
 7         //判断是否已完成设置向导,若无则进入设置向导。
 8         sp = getSharedPreferences("config",MODE_PRIVATE);
 9         boolean setupwizard = sp.getBoolean("setupwizard", false);
10         if(setupwizard){
11             setContentView(R.layout.activity_security);
12         }else {
13             Intent intent =new Intent(SecurityActivity.this,SetupWizard.class);
14             startActivity(intent);    
15             finish();
16         }
17     }
18 }
View Code

 

  

posted @ 2015-01-27 11:30  红烧大白鲨  阅读(317)  评论(0编辑  收藏  举报