Android开发保存QQ密码功能

Obelia ·
更新时间:2024-11-10
· 1860 次阅读

本文实例为大家分享了Android保存QQ密码功能的具体代码,供大家参考,具体内容如下

技术要点:

使用文件储存的方式保存数据

实现步骤:

①用户交互界面的设计与实现
②工具类(FileSaveQQjava )的设计与实现
③界面逻辑代码的设计与实现

页面布局请看:Android开发实现简单QQ登录页面

MainActivity.java代码:

package com.example.saverqq; 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 Button etLogin;     private EditText etPassword;     private EditText etNumber;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         //初始化view         initView();         //如果用户已经保存过就进行数据回显         Map<String, String> userInfo = FileSaveQQ.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);         etLogin = (Button) findViewById(R.id.btn_login);         //设置按钮点击事件         etLogin.setOnClickListener(this);     }     @Override     public void onClick(View view) {         //点击按钮获取账号密码         String number = etNumber.getText().toString().trim();         String password = etPassword.getText().toString().trim();         if (TextUtils.isEmpty(number)) {             Toast.makeText(this, "请输入QQ账号", Toast.LENGTH_LONG).show();             return;         }         if (TextUtils.isEmpty(password)) {             Toast.makeText(this, "请输入QQ密码", Toast.LENGTH_LONG).show();             return;         }         Toast.makeText(this, "登录成功", Toast.LENGTH_LONG).show(); //保存用户信息         boolean isSaveSucess = FileSaveQQ.saveUserInfo(this, number, password);         if (isSaveSucess) {             Toast.makeText(this, "保存成功", Toast.LENGTH_LONG).show();         } else {             Toast.makeText(this, "保存失败", Toast.LENGTH_LONG).show();         }     } }

FileSaveQQ.java文件代码:

package com.example.saverqq; import android.content.Context; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Map; public class FileSaveQQ {     //保存用户信息     public static boolean saveUserInfo(Context context, String number, String password) {         try {             //通过上下流获取文件输出流             FileOutputStream fos = context.openFileOutput("data.txt", context.MODE_PRIVATE);             //把数据写到文件中             fos.write((number + ":" + password).getBytes());             fos.close();             return true;         } catch (Exception e) {             e.printStackTrace();             return false;         }     }     //从data.txt文件中读取QQ账号和密码     public static Map<String, String> getUserInfo(Context context) {         String content = "";         try {             FileInputStream fis = context.openFileInput("data.txt");             byte[] buffer = new byte[fis.available()];//设置缓冲区的大小             fis.read(buffer);//读到缓冲区             Map<String, String> userMap = new HashMap<String, String>();             content=new String(buffer);             String[] infos = content.split(":");//以 :切割字符串             userMap.put("number", infos[0]);             userMap.put("password", infos[1]);             fis.close();             return userMap;         } catch (Exception e) {             return null;         }     } }

参考图书《Android移动开发基础案例教程》



qq android开发 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号