鱼C论坛

 找回密码
 立即注册
查看: 2377|回复: 4

[原创]小白马卫士项目总结之手机防盗(一)

[复制链接]
发表于 2015-1-6 18:14:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 青玄 于 2015-1-6 18:21 编辑

手机防盗模块

首先是实现滑屏操作的类:

  1. <p>package com.cbd.safemobile;</p><p>import com.example.safemobile_test.R;</p><p>import android.app.Activity;
  2. import android.content.Context;
  3. import android.content.SharedPreferences;
  4. import android.os.Bundle;
  5. import android.util.Log;
  6. import android.view.GestureDetector;
  7. import android.view.MotionEvent;
  8. import android.view.View;</p><p>public abstract class BaseSetupWizardActivity extends Activity {
  9.      //定义共享存储偏号
  10.   protected SharedPreferences ps;
  11.   //定义手势识别器
  12.   protected GestureDetector mGestureDetector;
  13.   protected void onCreate(Bundle savedInstanceState) {
  14.    super.onCreate(savedInstanceState);
  15.    ps=getSharedPreferences("config", Context.MODE_PRIVATE);
  16.    mGestureDetector=new GestureDetector(new GestureDetector.SimpleOnGestureListener(){
  17.     //手指在屏幕上做手势时,调用该方法
  18.     public boolean onFling(MotionEvent e1, MotionEvent e2,
  19.       float velocityX, float velocityY) {
  20.      
  21.       if(Math.abs(e1.getRawY() - e2.getRawY())>200)
  22.       {
  23.       Log.i("BaseSetupWizardActivity","垂直方向移动过大,动作不合法");
  24.       return true;
  25.       }
  26.      
  27.       if(Math.abs(velocityX)<50)
  28.       {
  29.       Log.i("BaseSetupWizardActivity","滑动的太慢,动作不合法");
  30.       return true;
  31.       }
  32.       if(e2.getRawX()-e1.getRawX()>200)
  33.       {  
  34.        //showPre();
  35.        pre(null);
  36.        return true;
  37.       }
  38.       if(e1.getRawX()-e2.getRawX()>200)
  39.                                  {  
  40.        //showNext();
  41.        next(null);
  42.        return true;
  43.       }  
  44.       return super.onFling(e1, e2, velocityX, velocityY);
  45.     }
  46.    
  47.    });
  48.    setupView();
  49.    findView();
  50.    
  51.    
  52.   }
  53.   
  54.   //当手指在屏幕上触摸的时候调用的方法.
  55.     @Override
  56.     public boolean onTouchEvent(MotionEvent event) {
  57.      //3.让手势识别器生效
  58.      mGestureDetector.onTouchEvent(event);
  59.      return super.onTouchEvent(event);
  60.     }
  61.    
  62.    
  63.    public abstract void setupView();
  64.    
  65.    public abstract void findView();
  66.    
  67.    public abstract void showNext();
  68.    public abstract void showPre();
  69.    
  70.    public void next(View v)
  71.    {
  72.     showNext();
  73.     overridePendingTransition(R.anim.tran_in_next, R.anim.tran_out_next);
  74.    }
  75.    public void pre(View v)
  76.    {
  77.     showPre();
  78.     overridePendingTransition(R.anim.tran_in</p><p>
  79. _pre, R.anim.tran_out_pre);
  80.    }
  81. }

  82. </p><p> </p>
复制代码

首先近来的时候先设置密码,然后就进入第一个设置页面:

package com.example.safemobile_test;
import com.cbd.pagechange.BaseActivity;
import com.cbd.safemobile.BaseSetupWizardActivity;
import com.example.safemobile_test.activity.TheftFirstActivity;
import com.example.safemobile_test.activity.TheftSetUpOkActivity;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class TheftPhone extends BaseSetupWizardActivity {
private AlertDialog dialog ;
private SharedPreferences sp;

// @Override
// protected void onCreate(Bundle savedInstanceState) {
//  // TODO Auto-generated method stub
//  super.onCreate(savedInstanceState);
//  
//  
// }

public void showSetPasswordDialog()
{
  AlertDialog.Builder builder = new Builder(this);
  View view = View.inflate(this, R.layout.layout_first_dialog, null);
  dialog = builder.create();
  
  dialog.setView(view, 0, 0, 0, 0);
  dialog.show();
  
  final EditText inputpassword = (EditText) view.findViewById(R.id.et_first_entry_pwd);
  final EditText reinputPassword = (EditText) view.findViewById(R.id.et_first_entry_pwd_confirm);
  Button onclick_ok = (Button) view.findViewById(R.id.bt_first_entry_ok);
  Button onclick_cancel = (Button) view.findViewById(R.id.bt_first_entry_cancle);
  
  
  
  onclick_ok.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    String getInputPass = inputpassword.getText().toString();
    String getreinputPass = reinputPassword.getText().toString();
   
    if((getInputPass.equals(getreinputPass)) && (getInputPass != null && getreinputPass!=null)
      &&!("".equals(getreinputPass) && "".equals(getInputPass)))
    {
     Toast.makeText(getApplicationContext(), "密码已经设置", Toast.LENGTH_SHORT).show();
     Editor editor = sp.edit();
     editor.putString("password", getInputPass);
     editor.putBoolean("ispassword", true);
     editor.commit();
     
     showGetpasswordDialog();
     dialog.dismiss();
     
     TheftPhone.this.finish();
    }else
    {
     Toast.makeText(getApplicationContext(), "密码不匹配或不能为空", Toast.LENGTH_SHORT).show();
    }
   }
   
  });
  
  onclick_cancel.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(), "取消", Toast.LENGTH_SHORT).show();
    dialog.dismiss();
   
   
   }
  });
}

public void showGetpasswordDialog()
{
  AlertDialog.Builder builder=new Builder(this);
  View view=View.inflate(this, R.layout.layout_normal_dialog, null);
  dialog=builder.create();
  dialog.setView(view,0,0,0,0);
  dialog.show();
  
  Button bt_normal_entry_ok=(Button) view.findViewById(R.id.bt_normal_entry_ok);
     Button bt_normal_entry_cancle=(Button) view.findViewById(R.id.bt_normal_entry_cancle);
     final EditText et_normal_entry_pwd=(EditText) view.findViewById(R.id.et_normal_entry_pwd);
   
     bt_normal_entry_ok.setOnClickListener(new OnClickListener() {
   
    @Override
    public void onClick(View v) {
     // TODO Auto-generated method stub
    String text=et_normal_entry_pwd.getText().toString().trim();
     if(text.equals(sp.getString("password", ""))){
      if(ps.getBoolean("isLock_state", true))
      {
       Intent intent = new Intent(getApplicationContext(), TheftSetUpOkActivity.class);
       startActivity(intent);
      }else
      {
       Toast.makeText(getApplicationContext(), "ps为:" +ps.getBoolean("isLock_state", true) ,
         Toast.LENGTH_SHORT).show();
       Intent intent = new Intent(getApplicationContext(), TheftFirstActivity.class);
       startActivity(intent);
      }
     
      
      dialog.dismiss();
      TheftPhone.this.finish();
     }
    }
   });
      bt_normal_entry_cancle.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
     Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    startActivity(intent);
   }
  });
}
@Override
public void setupView() {
  // TODO Auto-generated method stub
  sp = getSharedPreferences("config", Context.MODE_PRIVATE);
  
  if(!sp.getBoolean("ispassword", false))
  {
   this.showSetPasswordDialog();
  }else
  {
   this.showGetpasswordDialog();
  }
  
}
@Override
public void findView() {
  // TODO Auto-generated method stub
  
}
@Override
public void showNext() {
  // TODO Auto-generated method stub
  
}
@Override
public void showPre() {
  // TODO Auto-generated method stub
  
}
}

QQ截图20150106175531.jpg


接下来就可以往下设置了:

   QQ截图20150106175817.jpg    QQ截图20150106175733.jpg



QQ截图20150106175803.jpg



QQ截图20150106175750.jpg

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
拈花小仙 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-6 19:52:08 | 显示全部楼层
强烈支持玄玄哦,加油~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-6 20:35:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-6 23:34:26 | 显示全部楼层
支持楼主ing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-20 15:18:44 | 显示全部楼层
支持一下,duang
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 17:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表