新聞中心
功能分類:工具

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括湯陰網(wǎng)站建設(shè)、湯陰網(wǎng)站制作、湯陰網(wǎng)頁(yè)制作以及湯陰網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,湯陰網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到湯陰省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
支持平臺(tái):Android
運(yùn)行環(huán)境:Eclipse
開(kāi)發(fā)語(yǔ)言:Java
開(kāi)發(fā)工具:Eclipse
源碼大?。?.06MB
源碼下載:http://down.cdcxhl.com/data/1976924
源碼簡(jiǎn)介
我的手勢(shì)鎖方便用戶的登錄,第一次登入時(shí)候輸入用戶名和密碼,設(shè)置手勢(shì)密碼;再次登錄時(shí),只需要手勢(shì)密碼正確,即可登錄成功。
源碼運(yùn)行截圖
登錄界面
提示創(chuàng)建手勢(shì)密碼
演示創(chuàng)建手勢(shì)密碼
創(chuàng)建手勢(shì)密碼
手勢(shì)密碼解鎖
源碼片段
- package com.zhangyx.MyGestureLock.gesture;
- import java.util.List;
- import com.lidroid.xutils.ViewUtils;
- import com.lidroid.xutils.view.annotation.ViewInject;
- import com.zhangyx.MyGestureLock.BaseActivity;
- import com.zhangyx.MyGestureLock.LoginActivity;
- import com.zhangyx.MyGestureLock.MainActivity;
- import com.zhangyx.MyGestureLock.R;
- import com.zhangyx.MyGestureLock.app.MyApplication;
- import com.zhangyx.MyGestureLock.util.AnimationUtil;
- import com.zhangyx.MyGestureLock.view.LockPatternUtils;
- import com.zhangyx.MyGestureLock.view.LockPatternView;
- import com.zhangyx.MyGestureLock.view.LockPatternView.Cell;
- import android.annotation.SuppressLint;
- import android.content.Intent;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.os.CountDownTimer;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.Button;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- /***
- * 解鎖登錄
- *com.zhangyx.MyGestureLock.gesture.UnlockGesturePasswordActivity
- * @author Admin-zhangyx
- *
- * create at 2015-1-16 下午3:09:47
- */
- @SuppressLint("ResourceAsColor")
- public class UnlockGesturePasswordActivity extends BaseActivity {
- private LockPatternView mLockPatternView;
- private int mFailedPatternAttemptsSinceLastTimeout = 0;
- private CountDownTimer mCountdownTimer = null;
- // private Handler mHandler = new Handler();
- private Animation mShakeAnim;
- @ViewInject(R.id.gesturepwd_unlock_text)
- private TextView mHeadTextView;
- @ViewInject(R.id.rootView)
- private LinearLayout rootView;
- @ViewInject(R.id.changeUser)
- private Button changeUser;// 切換用戶、清除手勢(shì)鎖
- private MyApplication app;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.gesturepassword_unlock);
- ViewUtils.inject(this);
- app=(MyApplication) getApplication();
- mLockPatternView = (LockPatternView) findViewById(R.id.gesturepwd_unlock_lockview);
- mLockPatternView.setOnPatternListener(mChooseNewLockPatternListener);
- mLockPatternView.setTactileFeedbackEnabled(true);
- mShakeAnim = AnimationUtils.loadAnimation(this, R.anim.shake_x);
- changeUser.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- // 清除 手勢(shì)文件
- app.getLockPatternUtils().clearLock();
- toLoginActivity();
- }
- });
- }
- @Override
- protected void onResume() {
- super.onResume();
- // 從未創(chuàng)建過(guò)手勢(shì)時(shí),開(kāi)始創(chuàng)建---沒(méi)有記住密碼
- if (!app.getLockPatternUtils().savedPatternExists()) {
- toLoginActivity();
- }
- }
- private void toLoginActivity() {
- startActivity(new Intent(UnlockGesturePasswordActivity.this,
- LoginActivity.class));
- AnimationUtil
- .finishActivityAnimation(UnlockGesturePasswordActivity.this);
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (mCountdownTimer != null)
- mCountdownTimer.cancel();
- }
- private Runnable mClearPatternRunnable = new Runnable() {
- public void run() {
- mLockPatternView.clearPattern();
- }
- };
- protected LockPatternView.OnPatternListener mChooseNewLockPatternListener = new LockPatternView.OnPatternListener() {
- @Override
- public void onPatternStart() {
- // TODO Auto-generated method stub
- mLockPatternView.removeCallbacks(mClearPatternRunnable);
- patternInProgress();
- }
- public void onPatternDetected(List
pattern) { | - // TODO Auto-generated method stub
- if (pattern == null)
- return;
- if (app.getLockPatternUtils()
- .checkPattern(pattern)) {// 解鎖成功
- mLockPatternView
- .setDisplayMode(LockPatternView.DisplayMode.Correct);
- // 解鎖成功返回需要用戶信息的頁(yè)面----
- loginSuccessToMainAcrtivity() ;
- } else {// 解鎖失敗-----重新登錄
- mLockPatternView
- .setDisplayMode(LockPatternView.DisplayMode.Wrong);
- if (pattern.size() >= LockPatternUtils.MIN_PATTERN_REGISTER_FAIL) {
- mFailedPatternAttemptsSinceLastTimeout++;
- int retry = LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT
- - mFailedPatternAttemptsSinceLastTimeout;
- if (retry > 0) {
- changeUser.setVisibility(View.VISIBLE);
- if (retry == 0)
- showToast(UnlockGesturePasswordActivity.this
- .getString(R.string.toastlock));
- mHeadTextView.setText("密碼錯(cuò)誤,還可以再輸入" + retry + "次");
- mHeadTextView.setTextColor(Color.RED);
- mHeadTextView.startAnimation(mShakeAnim);
- } else {
- // 打開(kāi)新的Activity
- // 清除 手勢(shì)文件
- app.getLockPatternUtils().clearLock();
- toLoginActivity();
- }
- } else {
- showToast("輸入長(zhǎng)度不夠,請(qǐng)重試");
- }
- mLockPatternView.clearPattern();
- }
- }
- @Override
- public void onPatternCleared() {
- // TODO Auto-generated method stub
- mLockPatternView.removeCallbacks(mClearPatternRunnable);
- }
- private void patternInProgress() {
- }
- @Override
- public void onPatternCellAdded(List
pattern) { | - // TODO Auto-generated method stub
- }
- };
- Runnable attemptLockout = new Runnable() {
- @Override
- public void run() {
- mLockPatternView.clearPattern();
- mLockPatternView.setEnabled(false);
- mCountdownTimer = new CountDownTimer(
- LockPatternUtils.FAILED_ATTEMPT_TIMEOUT_MS + 1, 1000) {
- @Override
- public void onTick(long millisUntilFinished) {
- int secondsRemaining = (int) (millisUntilFinished / 1000) - 1;
- if (secondsRemaining > 0) {
- mHeadTextView.setText(secondsRemaining + " 秒后重試");
- } else {
- mHeadTextView
- .setText(UnlockGesturePasswordActivity.this
- .getString(R.string.gesture_drawPwd));
- mHeadTextView.setTextColor(Color.WHITE);
- }
- }
- @Override
- public void onFinish() {
- mLockPatternView.setEnabled(true);
- mFailedPatternAttemptsSinceLastTimeout = 0;
- }
- }.start();
- }
- };
- // 登錄成功
- private void loginSuccessToMainAcrtivity() {
- startActivity(new Intent(UnlockGesturePasswordActivity.this,
- MainActivity.class));
- AnimationUtil
- .finishActivityAnimation(UnlockGesturePasswordActivity.this);
- }
- }
源碼下載:http://down.cdcxhl.com/data/1976924
網(wǎng)頁(yè)名稱:Android源碼下載:我的手勢(shì)鎖
網(wǎng)頁(yè)網(wǎng)址:http://www.dlmjj.cn/article/djodhgi.html


咨詢
建站咨詢
