博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
保存文件到手机内存
阅读量:6290 次
发布时间:2019-06-22

本文共 3568 字,大约阅读时间需要 11 分钟。

1.编写布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="亲输入用户名" />

 

    <EditText

        android:id="@+id/et_username"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" >

 

        <requestFocus />

    </EditText>

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="亲输入密码" />

 

 

    <EditText

        android:id="@+id/et_password"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:inputType="textPassword" />

 

    <RelativeLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" >

 

        <CheckBox

            android:id="@+id/cb_remember_psw"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:checked="true"

            android:text="记住密码" />

 

        <Button

            android:onClick="login"

            android:layout_alignParentRight="true"

            android:id="@+id/login"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="登录" />

    </RelativeLayout>

 

</LinearLayout>

2.编写Activity

public class LoginUIActivity extends Activity {

private EditText et_username = null;

private EditText et_password = null;

private CheckBox cb_remeber_password = null;

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

this.et_username = (EditText) this.findViewById(R.id.et_username);

this.et_password = (EditText) this.findViewById(R.id.et_password);

this.cb_remeber_password = (CheckBox) this

.findViewById(R.id.cb_remember_psw);

HashMap<String, String> info = LoginService.getInfo(this);

if(info != null) {

this.et_username.setText(info.get("username"));

this.et_password.setText(info.get("password"));

}

}

 

public void login(View view) {

String username = this.et_username.getText().toString().trim();

String password = this.et_password.getText().toString().trim();

if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {

Toast.makeText(this, "用户名或密码不能为空", 0).show();

} else {

if (this.cb_remeber_password.isChecked()) {

boolean result = LoginService.saveInfo(this, username, password);

if(result) {

Toast.makeText(this, "保存密码成功", 0).show();

}

 

}

if ("weijie".equals(username) && "123".equals(password)) {

Toast.makeText(this, "登录成功", 0).show();

} else {

Toast.makeText(this, "登录失败", 0).show();

 

}

}

}

}

3.编写业务类

public class LoginService {

 

public static boolean saveInfo(Context context, String username,

String password) {

 //getFileDir : /data/data/包名/files

//getCacheDir : /data/data/包名/cache

File file = new File(context.getFilesDir(), "info.txt");

try {

FileOutputStream fos = new FileOutputStream(file);

fos.write((username + "=" + password).getBytes());

fos.flush();

fos.close();

return true;

} catch (Exception e) {

e.printStackTrace();

return false;

}

}

 

public static HashMap<String, String> getInfo(Context context) {

File file = new File(context.getFilesDir(), "info.txt");

try {

FileInputStream fis = new FileInputStream(file);

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

String[] result = br.readLine().split("=");

HashMap<String, String> map = new HashMap<String, String>();

map.put("username", result[0]);

map.put("password", result[1]);

br.close();

return map;

 

} catch (Exception e) {

Toast.makeText(context, "无法读取用户信息", 0).show();

 

}

return null;

}

 

}

 

转载于:https://www.cnblogs.com/freenovo/archive/2012/09/27/4469841.html

你可能感兴趣的文章
环境变量PATH、cp命令、mv命令、cat命令、tac命令、more、less、head、tail
查看>>
bandit系列0--10
查看>>
文本过滤之grep,egreo及fgrep 三剑客及正则表达式
查看>>
实现Singleton模式在C#
查看>>
服务发现:Zookeeper vs etcd vs Consul
查看>>
微软企业项目管理系统技术研讨会
查看>>
Kafka设计篇之消息传输的事务定义
查看>>
我的友情链接
查看>>
使用windows 7 系统安装盘 DOS普通用户提权为管理员
查看>>
老男孩教育每日一题第115天:如何在centos 6下面实现命令补全?效果如下
查看>>
国内可用的yum源
查看>>
linux df -h 命令卡住 解决方法
查看>>
spring是什么,Spring能帮我们做什么
查看>>
Codeforces 861D - Polycarp's phone book
查看>>
FreePortScanner.java
查看>>
HttpURLConnection 文件上传限制
查看>>
javascript类式继承新的尝试
查看>>
真正掌握vuex的使用方法(四)
查看>>
MySql的Communications link failure解决办法
查看>>
GB2312编码
查看>>