熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

輸入密碼後自動登錄功能的實現

2013-11-23 19:14:34  來源: Java核心技術 

  今天在用某記賬軟件我心裡就再琢磨著萬一被老婆拿到手機胡亂翻一通萬一看到了我的用錢流水賬那可不好要遭!我要隱私~怎麼辦呢?於是發現其實人家早已想到為用戶考慮到了這個問題有個設置密碼功能並且我發現啟動後輸入密碼連以往的登錄或者進入進入的按鈕都沒有省去了只要密碼輸入完匹配成功就自動進入了好神奇什麼樣做的呢?這個設計能減少用戶輸入同時還有心思的設計是就算在沒有輸入密碼的時候也可以進行收入和支出的記錄只是看不到詳細內容非常好的設計!花了一點時間思考了一下就實現了這個小巧的自動登錄功能

  下面把代碼貼上來吧大蝦就勿噴了!

  LoginActivityjava

  [java]

  package comchallen;

  import androidappActivity;

  import ntentIntent;

  import androidosBundle;

  import androidtextEditable;

  import androidtextTextWatcher;

  import androidwidgetEditText;

  import androidwidgetTextView;

  /**

  * Activity which displays a login screen to the user offering registration as

  * well

  */

  public class LoginActivity extends Activity {

  private EditText mPasswordView;

  private TextView mLoginStatusMessageView;

  private Intent intent;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

  superonCreate(savedInstanceState)

  setContentView(Rlayoutmain)

  mLoginStatusMessageView = (TextView)findViewById(Ridsign_in_button)

  mPasswordView = (EditText) findViewById(Ridpassword)

  mPasswordViewaddTextChangedListener(new TextWatcher() {

  @Override

  public void onTextChanged(CharSequence s int start int before int count) {

  if(mPasswordViewgetText()toString()equals()){

  intent = new Intent(LoginActivitythissecondActivityclass)

  startActivity(intent)

  }

  }

  @Override

  public void beforeTextChanged(CharSequence s int start int count int after) {

  }

  @Override

  public void afterTextChanged(Editable s) {

  }

  })

  }

  @Override

  protected void onResume() {

  // 由於我知道你會點擊返回鍵反復試驗所以加了這句話

  mPasswordViewsetText(

  superonResume()

  }

  }

  跳轉過去的secondactivity各位就隨便弄一個吧!不過需要記住的就是新增了activity後記著要在AndroidManifestxml中添加這個activity

  mianxml

  [html]

  <merge xmlns:android=/apk/res/android

  xmlns:tools=/tools

  tools:context=LoginActivity >

  <! Login form >

  <LinearLayout

  

  android:orientation=vertical >

  <EditText

  android:id=@+id/password

  android:layout_width=match_parent

  android:layout_height=wrap_content

  android:hint=輸入密碼

  android:maxLines=

  android:singleLine=true />

  <TextView

  android:id=@+id/sign_in_button

  android:layout_width=wrap_content

  android:layout_height=wrap_content

  android:layout_gravity=right

  android:layout_marginTop=dp

  android:paddingLeft=dp

  android:paddingRight=dp

  android:text=密碼匹配成功則自動登錄 />

  </LinearLayout>

  </merge>

  其實最關鍵的就是知道edittext的一些監聽的函數了例如還有一些自動補全特別是用於賬號輸入的時候這裡主要就是用到了監聽edittext的變化用到了addTextChangedListener並且配合TextWatcher()就能實現在輸入的過程中進行一些操作了把登錄跳轉的方法寫在了onTextChanged裡

  好了我這裡預設的密碼就是設置死了的大家可以試一試啦!

  延伸問題

  這款記賬軟件設置的密碼就是保存在本地的那麼如何保存讀取這個設置的密碼呢?(這個其實就設計到了本地數據的存儲方法也多種多樣後面有時間我們接著討論這個)

  希望和大家多多交流我也是android新兵希望我們在這條路上堅持走下去哪怕是一個小小的功能只要能方便用戶就會為我們增加更多的使用者和用戶大家加油積少成多集腋成裘!


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26513.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.