Andriod Studio實(shí)現(xiàn)保存QQ密碼功能(案例代碼詳解)
對于QQ登錄時保存賬號和密碼的功能,不僅文件存儲能夠?qū)崿F(xiàn),SharePreferences同樣也可以實(shí)現(xiàn),而且SharedPreferences存取數(shù)據(jù)更加簡單方便。因此可以用該方法實(shí)現(xiàn)保存Q密碼的案例,具體步驟如下:
創(chuàng)建布局類
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.kh11.MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/touxiang"/>
<LinearLayout
android:id="@+id/ll_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv"
android:layout_centerVertical="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="15dp"
android:background="#ffffff">
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="賬號:"
android:textColor="#000"
android:textSize="20sp"/>
<EditText
android:id="@+id/et_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@null"
android:padding="10dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_number"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="#ffffff">
<TextView
android:id="@+id/tv_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="密碼:"
android:textColor="#000"
android:textSize="20sp"/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@null"
android:inputType="textPassword"
android:padding="10dp"/>
</LinearLayout>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_password"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="50dp"
android:background="#3C8DC4"
android:text="登錄"
android:textColor="#ffffff"
android:textSize="20sp"/>
</RelativeLayout>
創(chuàng)建工具類
package cn.itcast.saveqq;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.HashMap;
import java.util.Map;
public class SPSaveQQ {
public static boolean saveUserInfo(Context context,String number,String password){
SharedPreferences sp = context.getSharedPreferences("data",Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString("userName",number);
edit.putString("pwd", password);
edit.commit();
return true;
}
public static Map<String ,String> getUserInfo(Context context){
SharedPreferences sp = context.getSharedPreferences("data",Context.MODE_PRIVATE);
String number = sp.getString("userName", null);
String password = sp.getString("pwd", null);
Map<String ,String > userMap = new HashMap<String,String>();
userMap.put("number",number);
userMap.put("password",password);
return userMap;
}
}
編寫界面交互代碼
package com.example.kh11;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Map;
import cn.itcast.saveqq.SPSaveQQ;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText etNumber;
private EditText etPassword;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化界面
initView();
Map<String ,String > userInfo = SPSaveQQ.getUserInfo(this);
if(userInfo != null){
etNumber.setText(userInfo.get("number"));
etPassword.setText(userInfo.get("password"));
}
}
private void initView(){
etNumber = (EditText) findViewById(R.id.et_number);
etPassword = (EditText) findViewById(R.id.et_password);
btnLogin = (Button) findViewById(R.id.btn_login);
//設(shè)置按鈕的點(diǎn)擊事件
btnLogin.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//當(dāng)單機(jī)登錄按鈕時,獲取QQ賬號和密碼
String number = etNumber.getText().toString().trim();
String password = etPassword.getText().toString();
//檢驗賬號和密碼是否正確
if(TextUtils.isEmpty(number)){
Toast.makeText(this,"請輸入QQ賬號",Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(password)){
Toast.makeText(this,"請輸入密碼",Toast.LENGTH_SHORT).show();
return;
}
//登陸成功
Toast.makeText(this,"登陸成功",Toast.LENGTH_SHORT).show();
//保存用戶信息
boolean isSaveSuccess = SPSaveQQ.saveUserInfo(this,number,password);
if(isSaveSuccess){
Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"保存失敗",Toast.LENGTH_SHORT).show();
}
}
}
運(yùn)行程序
程序運(yùn)行成功后,在界面輸入賬號和密碼,單擊登錄按鈕,會彈出“登陸成功”和“保存成功”字樣,數(shù)據(jù)信息會保存在SharedPreferences中,可以在data.xml文件中查看保存的數(shù)據(jù)信息。
運(yùn)行結(jié)果如圖:
(這個上傳的圖片怎么改尺寸,真的太丑了。。。)

總結(jié)
到此這篇關(guān)于Andriod Studio實(shí)現(xiàn)保存QQ密碼功能的文章就介紹到這了,更多相關(guān)android studio 保存qq 密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android view轉(zhuǎn)Bitmap生成截圖的方法
這篇文章主要介紹了android view轉(zhuǎn)Bitmap生成截圖的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
Android 應(yīng)用啟動歡迎界面廣告的實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了Android 應(yīng)用啟動歡迎界面廣告的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android下拉刷新ListView——RTPullListView(demo)
下拉刷新已經(jīng)形成一種默認(rèn)的用戶習(xí)慣,今天主要介紹下在Android上實(shí)現(xiàn)下拉刷新的Demo,感興趣的朋友可以參考下哈,希望可以幫助到你2013-04-04
Android實(shí)現(xiàn)自由拖動并顯示文字的懸浮框
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)自由拖動并顯示文字的懸浮框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01
android將搜索引擎設(shè)置為中國雅虎無法搜索問題解決方法
android 進(jìn)入搜索,將搜索引擎設(shè)置為中國雅虎,無法搜索到相關(guān)網(wǎng)絡(luò)結(jié)果,該問題是由于yahoo的搜索接口改變導(dǎo)致,具體解決方法如下,感興趣的朋友可以參考下哈2013-06-06
基于Android FileProvider 屬性配置詳解及FileProvider多節(jié)點(diǎn)問題
這篇文章主要介紹了基于Android FileProvider 屬性配置詳解及FileProvider多節(jié)點(diǎn)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

