当前位置 博文首页 > 程序员A的博客:简易QQ登录实现账号密码保存

    程序员A的博客:简易QQ登录实现账号密码保存

    作者:[db:作者] 时间:2021-06-14 09:39

    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();
    			}
    		}
    		
    	}
       
        
    }