简易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(); } } } }
相关文章推荐
- 没有躲过的坑--deprecated关键字
- [NOIP 2011]铺地毯 模拟
- opencv打开图片用到的ShowImage()函数和ResizeImage()函数
- SUMO使用教程(六)
- PyQt4(简单布局)
- python 2.7疑难问题之 编码
- Android面试总结2
- cf(思维题,判断两个大数的大小的比较方法)
- leetcode-Minimum Window Substring
- 使用系统类NSURLSessionDownloadTask实现断点续传(音乐视频下载等)
- C/C++基本数据类型大小及表示范围
- SUMO使用教程(五)
- .NET中值得体验的精妙设计
- LeetCode OJ:Remove Nth Node From End of List(倒序移除List中的元素)
- MagicalRecord的使用(入门级别)
- CUDA-GDB调试一般方法————矩阵乘的例子
- windows下安装lavavel5
- nyoj57--6174问题
- EF在转换成JsonResult时遇到无限循环的解决办法
- IOS关闭键盘以及接受键盘打开关闭事件