xml文件

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="5dp"><EditTextandroid:id="@+id/qqnum"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请输入QQ"android:inputType="number"android:textSize="20dp"/><EditTextandroid:id="@+id/pass"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请输入密码"android:inputType="textPassword"android:textSize="20dp"/><CheckBoxandroid:id="@+id/rem"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="记住密码"/><Buttonandroid:id="@+id/Login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登录"/></LinearLayout>

Utils

packagecom.example.android22filelogin;importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.InputStreamReader;importjava.util.HashMap;importjava.util.Map;importandroid.text.TextUtils;publicclassUtils{publicstaticbooleansaveUserInfo(Stringusername,Stringpwd){Stringdata=username+"##"+pwd;Stringpath="/data/data/com.example.android22filelogin/data.txt";try{FileOutputStreamout=newFileOutputStream(path);out.write(data.getBytes());out.flush();out.close();returntrue;}catch(Exceptione){e.printStackTrace();}returnfalse;}publicstaticMap<String,String>getUserInfo(){Stringpath="/data/data/com.example.android22filelogin/data.txt";try{BufferedReaderreader=newBufferedReader(newInputStreamReader(newFileInputStream(path)));Stringdata=reader.readLine();if(!TextUtils.isEmpty(data)){String[]datas=data.split("##");Map<String,String>userinfo=newHashMap<String,String>();userinfo.put("number",datas[0]);userinfo.put("pwd",datas[1]);returnuserinfo;}}catch(Exceptione){e.printStackTrace();}returnnull;}}

activity

publicclassMainActivityextendsActivityimplementsOnClickListener{privateEditTextqqnum,pwd;privateCheckBoxrem;privateButtonbut;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);qqnum=(EditText)findViewById(R.id.qqnum);pwd=(EditText)findViewById(R.id.pass);rem=(CheckBox)findViewById(R.id.rem);but=(Button)findViewById(R.id.Login);but.setOnClickListener(this);//回显数据Map<String,String>userinfo=Utils.getUserInfo();if(userinfo!=null){qqnum.setText(userinfo.get("number"));pwd.setText(userinfo.get("pwd"));}}@OverridepublicvoidonClick(Viewv){//记住号码和密码Stringnum=qqnum.getText().toString();Stringpassword=pwd.getText().toString();if(TextUtils.isEmpty(num)||TextUtils.isEmpty(password)){Toast.makeText(this,"用户名或密码不能为空",Toast.LENGTH_LONG).show();return;}//判断是否记住密码if(rem.isChecked()){booleanisSuccess=Utils.saveUserInfo(num,password);Toast.makeText(this,isSuccess+"",Toast.LENGTH_LONG).show();}//登录成功}}


更多相关文章

  1. Android(安卓)获取imu数据
  2. 基于android的音乐APP大作业和设计指导项目
  3. 对自己第一个android小项目的归纳总结
  4. android 简单登陆注册的实现
  5. 快速的APK制作简易免费的Android应用软件,而无需编码技巧
  6. android学习小结
  7. Android(安卓)与github的使用
  8. Android(安卓)与github的使用
  9. 对话框的练习(android)

随机推荐

  1. 第一行代码:AlertDialog
  2. android ndk 纵览
  3. Android Development Notes -1
  4. Android - LayoutInflater 的使用
  5. android 菜单事件处理
  6. Android button 拖动
  7. android:fitsSystemWindows=“true”
  8. android 网络判断
  9. android tv-TV Apps Checklist
  10. android 串口编程