【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能_第3頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能_第4頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能

本篇文章為大家展示了Android中怎么利用SharedPreferences實(shí)現(xiàn)自動(dòng)登錄記住用戶名和密碼功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。SharedPreferences簡(jiǎn)介SharedPreferences也是一種輕型的數(shù)據(jù)存儲(chǔ)方式,它的本質(zhì)是基于XML文件存儲(chǔ)key-value鍵值對(duì)數(shù)據(jù),通常用來存儲(chǔ)一些簡(jiǎn)單的配置信息。其存儲(chǔ)位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對(duì)象本身只能獲取數(shù)據(jù)而不支持存儲(chǔ)和修改,存儲(chǔ)修改是通過Editor對(duì)象實(shí)現(xiàn)。SharedPreferences使用實(shí)例:記住用戶名密碼自動(dòng)登錄大致了解了SharedPreference之后,接下來看個(gè)記住用戶名密碼自動(dòng)登錄的例子: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)建時(shí)間:

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",

""));

}

/**

*

點(diǎn)擊登錄按鈕時(shí)觸發(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())

{//

自動(dòng)登錄

editor.putString("password",

passwordString);

editor.putBoolean("AUTO_ISCHECK",

true).commit();

}

mit();

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);

}

/**

*

驗(yàn)證用戶名密碼是否正確

*

*

@param

username

*

@param

password

*

@return

*/

public

boolean

validateUser(String

username,

String

password)

{

Boolean

flag

=

false;

try

{

//...此處為調(diào)用web服務(wù),驗(yàn)證用戶名密碼的服務(wù),特此省略

flag

=

true;

}

catch

(Exception

e)

{

//

TODO

Auto-generated

catch

block

Log.e(TAG,

e.getMessage());

message

=

"連接服務(wù)器失敗";

}

return

flag;

}

/**

*

點(diǎn)擊退出按鈕時(shí)觸發(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.xm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論