Android登陆界面
今天学习了Android登陆界面,其中包含了Java中的输入输出流的知识,其中输入流使用的是字节流BufferedReader
这是activity_main.x
<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="com.example.login.MainActivity" android:orientation="vertical" android:layout_marginTop="20dp" //定义内边距 > <EditText android:id="@+id/user_name" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="请输入用户名" /> <EditText android:id="@+id/user_pass" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="请输入密码" /> <RelativeLayout android:id="@+id/rl" android:layout_width="match_parent" android:layout_height="wrap_content" > <CheckBox android:id="@+id/select" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住密码" android:layout_centerVertical="true" /> <Button android:id="@+id/login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:layout_alignParentRight="true" android:onClick="click" /> </RelativeLayout> </LinearLayout>
这是MainAcitivity.java中的代码
package com.example.login; 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.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends ActionBarActivity { EditText et_name; EditText et_pass; CheckBox cb; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name=(EditText) findViewById(R.id.user_name); et_pass=(EditText) findViewById(R.id.user_pass); cb = (CheckBox)findViewById(R.id.select); show(); } public void show(){ File file=new File("data/data/com.example.login/info.txt"); try { BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file)));//使用字节流 String info=br.readLine(); String str[]=info.split(","); et_name.setText(str[0]);//获取输入过的用户名 et_pass.setText(str[1]);//获取输入过的密码 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void click(View v){ String user_name=et_name.getText().toString(); String user_pass=et_pass.getText().toString(); if(cb.isChecked()){ File file=new File("data/data/com.example.login/info.txt"); try{ OutputStream os=new FileOutputStream(file);//使用输出流 os.write((user_name+","+user_pass).getBytes());//将字符改成字节类型 os.close();//关闭输出流 }catch(Exception e){ e.printStackTrace(); } } Toast.makeText(this,"登录成功",0).show(); } }
其中还包括查找文件中的文本data/data/com.example.login/info.txt
这个在Window->Show View->Other->File Explorer中,找到文件所在的包位置,可查看设置的用户名和密码