Android开发基础,保存用户输入的用户名和密码
2017-11-09 17:26
513 查看
activity_main.xml布局文件(2017-11-9)
<LinearLayout xmlns: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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" /> <EditText android:id="@+id/et_pwd" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" /> <CheckBox android:id="@+id/cb" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="保存用户名和密码" /> <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:onClick="click" /> </LinearLayout>
MainActivity.java文件
/*2017-11-9 * 功能:保存用户输入的用户名和密码,读取sd*/ package com.day11_9; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStream; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //在activitie创建时读取用户保存的密码 EditText et_name=(EditText) findViewById(R.id.et_name); EditText et_pwd=(EditText) findViewById(R.id.et_pwd); //CheckBox cb=(CheckBox) findViewById(R.id.cb); //获得用户保存的文件内容 //File file=new File(getCacheDir().getAbsolutePath()+"/info.txt"); if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //创建文件对象 File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/info.txt"); if(file.exists()){ //开始读取 String temp=readInner(file); if(temp!=null&&!("".equals(temp))){ //进行字符串的分割 String []temps=temp.split("@@"); et_name.setText(temps[0]); et_pwd.setText(temps[1]); } } } } /** * <uses-permission * android:name="android.permission.READ_EXTERNAL_STORAGE"/> * @param file * @return */ public String reradInSD(File file){ String temp=null; try { //创建文件输入流 FileInputStream fis=new FileInputStream(file); //将字节流转换为字符流 BufferedReader br=new BufferedReader(new InputStreamReader(fi 8dde s)); //读取一行 temp=br.readLine(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return temp; } /** * 从内存中读取用户保存的用户名和密码 * @param file * @return */ public String readInner(File file){ String temp=null; try { //创建文件输入流 FileInputStream fis=new FileInputStream(file); //将字节流转换为字符流 BufferedReader br=new BufferedReader(new InputStreamReader(fis)); //读取一行 temp=br.readLine(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return temp; } /** * 根据用户的选择将用户名和密码保存到info.txt文件中 * @param v */ public void click(View v){ EditText et_name=(EditText) findViewById(R.id.et_name); EditText et_pwd=(EditText) findViewById(R.id.et_pwd); CheckBox cb=(CheckBox) findViewById(R.id.cb); String name=et_name.getText().toString(); String pwd=et_pwd.getText().toString(); //根据用户的选择进行判断,是否勾选 if(cb.isChecked()){ //调用写入内存的方法 //生成一个文件对象 //获得文件保存的路径,data/data/day119/files //String path=getFilesDir().getAbsolutePath()+"/info.txt"; //获得文件保存的路径,data/data/day119/cache String path=getCacheDir().getAbsolutePath()+"/info.txt"; System.out.println(path); File file=new File(path); //writeInInner(name+"@@"+pwd, file); //调用写入sd的方法 writeInSD(name+"@@"+pwd); } } /** * 向内存中的文件进行写入 * * @param data */ public void writeInInner(String data,File file){ //if(file.exists()){ //判断文件是否存在 //1.获得输出流 try { FileOutputStream fos=new FileOutputStream(file); //将data写入文件 fos.write(data.getBytes()); //关闭流 System.out.println("==========================="); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // } } /** * <uses-permission android: * name="android.permission.WRITE_EXTERNAL_STORAGE"/> * @param data */ public void writeInSD(String data){ //1.判断sdCard的状态 //获得SDCard的真实路径 String sdPath= Environment.getExternalStorageDirectory(). getAbsolutePath(); //再判断sd的状态,只有当sd的状态为MEDIA_MOUNTED才表示 //sd卡已经准备好 if( Environment.getExternalStorageState(). equals(Environment.MEDIA_MOUNTED)){ //创建文件对象 File file=new File(sdPath+"/info.txt"); //获得输出流 try { FileOutputStream fos=new FileOutputStream(file); fos.write(data.getBytes()); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
相关文章推荐
- Android开发之保存用户的登陆密码
- Android——用户登陆及用户名和密码的保存
- android 用户登陆注册UI设计之 edittext (就是输入用户名和密码的文本框)
- 黑马程序员之C#编程基础学习笔记:提示用户输入用户名,然后再提示输入密码,如果用户名是"admin"并且密码是“888888”,则提示正确,否则提示错误,如果用户名不是admin还提示用户用户名不存在
- Android开发中保存用户名和密码
- 黑马程序员之C#编程基础学习笔记:要求用户输入用户名和密码,只要不是admin,888888就一直提示要求重新输入。
- android开发时保存用户名和密码
- Android——用户登陆及用户名和密码的保存
- ios开发,用户登录界面,输入用户名之后点击Next后切换到密码输入框,密码输入框输入后点击Return,键盘回收
- iOS开发中——如何保存用户敏感信息(用户名和密码等信息)
- Android开发中如何保存用户名密码在本地
- Android——用户登陆及用户名和密码的保存
- 黑马程序员之C#编程基础学习笔记:用while break实现要求用户输入用户名和密码,只要不是admin,888888就一直提示要求重新输入。
- 防止用户不输入正确用户名,密码登陆
- Android开发——保存用户设置
- win7保存登录凭证 连接vss不需要输入用户名密码登录
- 用户输入正确的用户名和密码后,显示登陆成功,并且显示改用户的详细信息。(sqldatasource)
- 黑马程序员之C#编程基础学习笔记:提示用户输入密码,如果密码是“888888”,则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误。
- Nginx实战基础篇五 如何让用户通过用户名密码认证访问我们的web站点
- 过滤器做单点登录(包括后登录用户将之前用户挤出,防止url键入操作,已登录用户重操作其他不用再次输入用户名和密码)