您的位置:首页 > 移动开发 > Android开发

Android 简单的账号密码登陆界面(IO流)

2015-12-30 22:18 706 查看
Android 简单的账号密码登陆界面(IO流)
用到了map<String,String> 、IO流等。
MainActivity代码如下:
package com.xh.tx.fileio;

import java.io.File;
import java.util.Map;

import com.xh.tx.utils.FileIOUtils;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

EditText number = null;
EditText pwd = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

number = (EditText) findViewById(R.id.number);
pwd = (EditText) findViewById(R.id.pwd);
Button btn = (Button) findViewById(R.id.btn);

Map<String,String> infos = FileIOUtils.readFile(new File(this.getFilesDir(),"rember.txt"));
if(null != infos)
{
number.setText(infos.get("number"));
pwd.setText(infos.get("pwd"));
}

btn.setOnClickListener(this);

}

@Override
public void onClick(View v) {
String num = number.getText().toString();
String pwds = pwd.getText().toString();

String content = num + "#" + pwds;

File file = new File(this.getFilesDir(),"rember.txt");
//File file = new File(this.getCacheDir(),"rember.txt");

boolean status = FileIOUtils.writeFile(file, content);

if(status)//如果保存成功那么提示保存成功,否则提示失败
{
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
}
}

}


读取写入到文件的代码如下:
package com.xh.tx.utils;

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.util.HashMap;
import java.util.Map;

public class FileIOUtils
{
public static boolean writeFile(File file, String content)
{
//data/data/com.xh.tx.fileio
FileOutputStream out  = null;
try {
out = new FileOutputStream(file);

out.write(content.getBytes());//byte[205]

return true;

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(null != out)
{
out.flush();
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}

}
return false;
}

public static Map<String,String> readFile(File file)
{
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

String content = reader.readLine();
String[] info = content.split("#");

Map<String,String> infos = new HashMap<String,String>();
infos.put("number", info[0]);
infos.put("pwd", info[1]);

return infos;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}


布局文件:

<RelativeLayout 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.xh.tx.fileio.MainActivity" >

<EditText
android:id="@+id/number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

<EditText
android:id="@+id/pwd"
android:layout_below="@id/number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/checkbox"
android:layout_below="@id/pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="记住密码"
/>

<Button
android:id="@+id/btn"
android:layout_below="@id/checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
/>

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: