1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 帐号密码xml 《Android移动应用基础教程》之保存QQ账号和密码

android 帐号密码xml 《Android移动应用基础教程》之保存QQ账号和密码

时间:2020-10-04 11:47:25

相关推荐

android 帐号密码xml 《Android移动应用基础教程》之保存QQ账号和密码

FileSaveQQ.java

package njitt.software.saveqq;

import android.content.Context;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

public class FileSaveQQ {

//保存QQ账号和登录密码到data.txt文件中

public static boolean saveUserInfo(Context context, String account, String

password) {

FileOutputStream fos = null;

try {

//获取文件的输出流对象fos

fos = context.openFileOutput("data.txt",

Context.MODE_PRIVATE);

//将数据转换为字节码的形式写入data.txt文件中

fos.write((account + ":" + password).getBytes());

return true;

} catch (Exception e) {

e.printStackTrace();

return false;

}finally {

try {

if(fos != null){

fos.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

//从data.txt文件中获取存储的QQ账号和密码

public static Map getUserInfo(Context context) {

String content = "";

FileInputStream fis = null;

try {

//获取文件的输入流对象fis

fis = context.openFileInput("data.txt");

//将输入流对象中的数据转换为字节码的形式

byte[] buffer = new byte[fis.available()];

fis.read(buffer);//通过read()方法读取字节码中的数据

content = new String(buffer); //将获取的字节码转换为字符串

Map userMap = new HashMap();

String[] infos = content.split(":");//将字符串以“:”分隔后形成一个数组的形式

userMap.put("account", infos[0]); //将数组中的第一个数据放入userMap集合中

userMap.put("password", infos[1]); //将数组中的第二个数据放入userMap集合中

return userMap;

} catch (Exception e) {

e.printStackTrace();

return null;

}finally {

try {

if(fis != null){

fis.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

MainActivity.java

package njitt.software.saveqq;

import androidx.appcompat.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;

public class MainActivity extends AppCompatActivity implements View.OnClickListener

{

private EditText et_account; //账号输入框

private EditText et_password; //密码输入框

private Button btn_login; //登录按钮

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

//通过工具类FileSaveQQ中的getUserInfo()方法获取QQ账号和密码信息

// Map userInfo = FileSaveQQ.getUserInfo(this);

Map userInfo = SPSaveQQ.getUserInfo(this);

if (userInfo != null) {

et_account.setText(userInfo.get("account")); //将获取的账号显示到界面上

et_password.setText(userInfo.get("password")); //将获取的密码显示到界面上

}

}

private void initView() {

et_account = (EditText) findViewById(R.id.et_account);

et_password = (EditText) findViewById(R.id.et_password);

btn_login = (Button) findViewById(R.id.btn_login);

//设置按钮的点击监听事件

btn_login.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_login:

//当点击登录按钮时,获取界面上输入的QQ账号和密码

String account = et_account.getText().toString().trim();

String password = et_password.getText().toString();

//检验输入的账号和密码是否为空

if (TextUtils.isEmpty(account)) {

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 = FileSaveQQ.saveUserInfo(this, account,

password);

/* boolean isSaveSuccess = SPSaveQQ.saveUserInfo(this, account, password);*/

if (isSaveSuccess) {

Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();

}

break;

}

}

}

SPSaveQQ.java

package njitt.software.saveqq;

import android.content.Context;

import android.content.SharedPreferences;

import java.util.HashMap;

import java.util.Map;

public class SPSaveQQ{

// 保存QQ账号和登录密码到data.xml文件中

public static boolean saveUserInfo(Context context, String account,

String password) {

SharedPreferences sp = context.getSharedPreferences("data",

Context.MODE_PRIVATE);

SharedPreferences.Editor edit = sp.edit();

edit.putString("userName", account);

edit.putString("pwd", password);

mit();

return true;

}

//从data.xml文件中获取存储的QQ账号和密码

public static Map getUserInfo(Context context) {

SharedPreferences sp = context.getSharedPreferences("data",

Context.MODE_PRIVATE);

String account = sp.getString("userName", null);

String password = sp.getString("pwd", null);

Map userMap = new HashMap();

userMap.put("account", account);

userMap.put("password", password);

return userMap;

}

}

activity_main.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#E6E6E6"

android:orientation="vertical"

android:padding="10dp">

android:layout_width="70dp"

android:layout_height="70dp"

android:layout_centerHorizontal="true"

android:layout_gravity="center_horizontal"

android:layout_marginTop="30dp"

android:src="@drawable/head" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="15dp"

android:background="@android:color/white"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:padding="10dp"

android:text="账号:"

android:textColor="#000"

android:textSize="20sp" />

android:id="@+id/et_account"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="5dp"

android:background="@null"

android:padding="10dp" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:background="@android:color/white"

android:orientation="horizontal">

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

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

android:id="@+id/btn_login"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="25dp"

android:background="#3C8DC4"

android:text="登录"

android:textColor="@android:color/white"

android:textSize="20sp" />

实现效果如下:

标签:QQ,Toast,account,java,String,基础教程,import,Android,password

来源: /m0_46412771/article/details/105866774

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。