您的位置:首页 > 其它

简易QQ登录实现账号密码保存

2015-11-03 21:10 661 查看
package com.wyqhsj;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.Buffer;

import android.nfc.Tag;
import android.os.Bundle;
import android.app.Activity;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

private EditText et_qq;  //qq。pwd,cb的id
private EditText et_pwd;//
private CheckBox cb;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

et_qq=(EditText) findViewById(R.id.et_qq);
et_pwd=(EditText) findViewById(R.id.et_pwd);
cb=(CheckBox) findViewById(R.id.cb);
readSaveData();   //完成数据回显
}

private void readSaveData() {
File file=new File("/data/data/com.wyqhsj/info.txt");   //new出来文件
if(file.exists()&&file.length()>0)     //判断文件是否存在,有没有数据
{
try {
FileInputStream fis=new FileInputStream(file);
BufferedReader br=new BufferedReader(new InputStreamReader(fis));//读文件,需要reader对象
String info=br.readLine();  //读取第一行
String qq=info.split("###")[0];  //split拿到的是数组,第0个元素是qq,第一个密码,以###分隔
String pwd=info.split("###")[1];
et_qq.setText(qq);   //设置qq和密码
et_pwd.setText(pwd);
fis.close();         //关闭流
}  catch (IOException e) {
// 代码会有异常,需要try catch
e.printStackTrace();
}
}
}

public void login(View view)
{
String qq=et_qq.getText().toString().trim();  //获取qq,密码文本转换字符串,trim去除空格
String pwd=et_pwd.getText().toString().trim();
if (TextUtils.isEmpty(qq)||TextUtils.isEmpty(pwd))   //判断QQ,密码是否为空
{
Toast.makeText(this, "qq或者密码不能为空",0 ).show();  //弹出对话框
return;
}

//判断是否勾选记住密码
if (cb.isChecked())
{

try {
File file=new File("/data/data/com.wyqhsj/info.txt");//File file=new File("文件名");
FileOutputStream fos=new FileOutputStream(file); //new文件输出流
fos.write((qq+"###"+pwd).getBytes());   //写入###分隔,接受的是Bytes数组
fos.close(); //关闭输出流
Toast.makeText(this, "保存成功", 0).show();
}  catch (IOException e) {
// 代码异常,try-catch
e.printStackTrace();
Toast.makeText(this, "保存失败", 0).show();
}
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: