最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android通過SharedPreferences實現(xiàn)自動登錄記住用戶名和密碼功能

 更新時間:2017年07月06日 14:36:51   作者:段延銳  
最近使用SharedPreferences實現(xiàn)了一個android自動登錄功能,特此分享到腳本之家平臺供大家參考

最近Android項目需要一個自動登錄功能,完成之后,特總結(jié)一下,此功能依靠SharedPreferences進(jìn)行實現(xiàn)。

SharedPreferences簡介

SharedPreferences也是一種輕型的數(shù)據(jù)存儲方式,它的本質(zhì)是基于XML文件存儲key-value鍵值對數(shù)據(jù),通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對象本身只能獲取數(shù)據(jù)而不支持存儲和修改,存儲修改是通過Editor對象實現(xiàn)。

SharedPreferences使用實例:記住用戶名密碼自動登錄

大致了解了SharedPreference之后,接下來看個記住用戶名密碼自動登錄的例子:

package com.dt5000.ischool.activity; 
import android.annotation.SuppressLint; 
import android.content.Context; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.content.SharedPreferences.Editor; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.view.View; 
import android.widget.CheckBox; 
import android.widget.EditText; 
import com.dt5000.ischool.util.DTUtil; 
import com.dt5000.ischool.util.MyApplication; 
/** 
 * @author: duanyr 
 * @創(chuàng)建時間: 2012-11-13 下午2:36:47 
 * 
 * @類說明:登錄界面 
 */ 
@SuppressLint("WorldReadableFiles") 
public class LoginActivity extends DTUtil { 
  private static final String TAG = "用戶登錄"; 
  private EditText username; 
  private EditText password; 
  private CheckBox autoLogin; 
  private SharedPreferences sharedPreferences; 
  private String message; 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    MyApplication.getInstance().addActivity(this); 
    sharedPreferences = this.getSharedPreferences("userInfo",Context.MODE_WORLD_READABLE); 
    if (sharedPreferences.getBoolean("AUTO_ISCHECK", false)) { 
      Intent intent = new Intent(); 
      intent.setClass(LoginActivity.this, MainActivity.class); 
      startActivity(intent); 
    } else { 
      setContentView(R.layout.activity_login); 
      initView(); 
    } 
  } 
  /** 
   * 初始化視圖控件 
   */ 
  public void initView() { 
    Log.i(TAG, "初始化視圖控件"); 
    username = (EditText) findViewById(R.id.username); 
    password = (EditText) findViewById(R.id.password); 
    autoLogin = (CheckBox) findViewById(R.id.autoLogin); 
    // 默認(rèn)記住用戶名 
    username.setText(sharedPreferences.getString("userName", "")); 
  } 
  /** 
   * 點擊登錄按鈕時觸發(fā)的方法 
   * @param view 
   */ 
  public void userLogin(View view) { 
    String usernameString = username.getText().toString(); 
    String passwordString = password.getText().toString(); 
    if (validateUser(usernameString, passwordString)) { 
      Editor editor = sharedPreferences.edit(); 
      editor.putString("userName", usernameString); 
      if (autoLogin.isChecked()) {// 自動登錄 
        editor.putString("password", passwordString); 
        editor.putBoolean("AUTO_ISCHECK", true).commit(); 
      } 
      editor.commit(); 
      Intent intent = new Intent(); 
      intent.setClass(LoginActivity.this, MainActivity.class); 
      startActivity(intent); 
    } else { 
      alert(this, message); 
    } 
  } 
  //游客登錄 
  public void visitorLogin(View view) { 
    Intent intent = new Intent(); 
    intent.setClass(LoginActivity.this, MainActivity.class); 
    startActivity(intent); 
  } 
  /** 
   * 驗證用戶名密碼是否正確 
   * 
   * @param username 
   * @param password 
   * @return 
   */ 
  public boolean validateUser(String username, String password) { 
    Boolean flag = false; 
    try { 
      //...此處為調(diào)用web服務(wù),驗證用戶名密碼的服務(wù),特此省略 
      flag = true; 
    } catch (Exception e) { 
      // TODO Auto-generated catch block 
      Log.e(TAG, e.getMessage()); 
      message = "連接服務(wù)器失敗"; 
    } 
    return flag; 
  } 
  /** 
   * 點擊退出按鈕時觸發(fā)的方法 
   */ 
  public void logout_listener(View view) { 
    dialog_Exit(this); 
  } 
  /** 
   * 監(jiān)聽返回按鈕,此為登錄界面再返回的話給出退出提示 
   */ 
  public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
      dialog_Exit(this); 
      return false; 
    } 
    return false; 
  } 
} 

頁面布局截圖:

生成的配置文件位置和代碼

userInfo.xml的具體代碼如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<string name="userName">777</string> 
<string name="password">111111</string> 
<boolean name="AUTO_ISCHECK" value="true" /> 
</map> 

以上所述是小編給大家介紹的Android通過SharedPreferences實現(xiàn)自動登錄記住用戶名和密碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

克什克腾旗| 辽宁省| 西城区| 怀远县| 灯塔市| 大足县| 克山县| 高密市| 兴安县| 长子县| 绵阳市| 布拖县| 武乡县| 灵武市| 南和县| 勐海县| 宝山区| 永济市| 莆田市| 长海县| 渭南市| 巴里| 中山市| 三明市| 杭锦后旗| 松桃| 鄂伦春自治旗| 巨野县| 昔阳县| 五莲县| 图们市| 云龙县| 安溪县| 庄浪县| 广安市| 潼南县| 体育| 安远县| 张北县| 霞浦县| 吴忠市|