背景                                                                                            

我们以常见的登录的时候有CheckBox来显示是否保存帐号密码的形式来生动的讲解这个故事。

最后是以txt文档保存,用到的是Java的IO操作。

这个只是粗略的,大家不喜勿喷。

保存文件                                                                                      

public static void savefile2card(Context context,String username,String password)
{
File file = null;
FileOutputStream fos = null;
try
{
// file = new File("/data/data/com.yuyidong.savefile/savefile.txt");
file = new File(context.getFilesDir(),"info.txt");
fos = new FileOutputStream(file);
fos.write((username+"!!!!"+password).getBytes());
}
catch (Exception e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
try
{
fos.close();
}
catch (IOException e1)
{
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
}
}

读取文件                                                                                      

public static Map<String,String> getSaveFile(Context context)
{
File file =new File(context.getFilesDir(),"info.txt");
try
{
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String str = br.readLine();
String[] infos = str.split("!!!!");
Map<String,String> map = new HashMap<String, String>();
map.put("username",infos[0]);
map.put("password", infos[1]);
br.close();
return map;
}
catch (Exception e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
return null;
}
finally
{
}
}

主程序                                                                                         

public class MainActivity extends Activity {

    private Button button;
private CheckBox check;
private EditText usernameText;
private EditText passwordText;
private String username;
private String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
check = (CheckBox) findViewById(R.id.check);
        usernameText = (EditText) findViewById(R.id.username);
passwordText = (EditText) findViewById(R.id.password);
        button.setOnClickListener(new buttonListener());
        Map<String, String> map = read.getSaveFile(this);
usernameText.setText(map.get("username"));
passwordText.setText(map.get("password"));
} class buttonListener implements OnClickListener
{ @Override
public void onClick(View v) {
// TODO 自动生成的方法存根
username = usernameText.getText().toString();
password = passwordText.getText().toString();
System.out.println(username+"~!!~"+password);
if(check.isChecked())
{
save.savefile2card(MainActivity.this, username, password);
}
}
}

                               我是天王盖地虎的分割线                                 

源代码:http://pan.baidu.com/s/1dD1Qx01

saveFile.zip

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3708964.html

Android -- 保存文件的更多相关文章

  1. android 保存文件的各种目录列表

    一般的,我们可以通过context和Environment来获取要保存文件的目录 ($rootDir) +- /data -> Environment.getDataDirectory() | ...

  2. [android] 保存文件到手机内存

    /*****************2016年5月4日 更新*******************************/ 知乎:Android 没有沙盒保护机制吗,WhatsApp 信息为何可被随 ...

  3. android保存文件到SD卡中

    想把文件保存到SD卡中,一定要知道SD卡的路径,有人说可以用File explore来查看,这种方法不太好,因为随着android版本的升级,SD卡的路径可能会发生改变.在1.6的时候SD的路径是/s ...

  4. [android] 保存文件到SD卡

    /****************2016年5月4日 更新*****************************/ 知乎:为什么很多Android应用要把文件写到/sdcard目录下而不是写到/d ...

  5. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  6. Android 读取和保存文件(手机内置存储器)

    1:activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi ...

  7. 【Android Developers Training】 25. 保存文件

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. Android Developers:保存文件

    Android使用一个和其它平台基于硬盘文件系统相似的文件系统.这个课程描述了如何和在Android文件系统使用File APIs读和写文件. 一个File对象适用于读或者写从头到尾没用中断的大型数据 ...

  9. Android学习笔记——保存文件(Saving Files)

              本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论.                 欢迎转载,转载请注明网址:http://www.cnblogs.com/J ...

随机推荐

  1. [python]缓存函数结果进redis

    工作中遇到一个问题,就是有一些需要对数据库做全表扫描,而且对结果要求比较宽松的地方,总觉得可以找地方优化,比如暂时保存计算结果. 首先想起来的就是functools.lru_cache,但是可惜在py ...

  2. 解读socketserver之Tcpserver

    在解析socketserver是如工作之前,我们先看看socektserver类的继承关系图: 请求类继承关系: server类继承关系: 有了上面的继承关系图后,我们解析socketserver就轻 ...

  3. PHP7.x新特性

    1.太空船操作符太空船操作符用于比较两个表达式. 当$a小于. 等于或大于$b时它分别返回-1. 0或1. // Integers echo 1 <=> 1; // 0 echo 1 &l ...

  4. 【提权思路】绕过SecureRDP限制远程连接

    工具可以在百度上下载 直接步入正题 配置好的SecureRDP是限制远程登录的用户 原理是判断来访的计算机名是否在白名单中 如果不在,便出现如上图所示 网上也有绕过方法(https://weibo.c ...

  5. 2016 UESTC DP专题题解

    题解下载地址:http://pan.baidu.com/s/1eSx27Jk 题解下载地址:http://pan.baidu.com/s/1qYDxlhi

  6. Spring Batch 批处理框架介绍

    前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...

  7. 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)完美支持。

    WAMPServer可以让开发者在Windows系统下快速搭建WAMP环境,它支持多版本的Apache.MySQL.PHP之间的相互切换,互不影响,对于PHPer开发者来讲极为方便快速. 以下是在WA ...

  8. 【Go入门教程6】struct类型(struct的匿名字段)

    struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器.例如,我们可以创建一个自定义类型person代表一个人的实体.这个实体拥有属性:姓名和年龄.这样 ...

  9. tracef 安装 跟踪 函数调用图

    http://www.prevanders.net/dwarf.html redhat 5.4 tar -zxvf libdwarf-20140519.tar.gz [root@localhost d ...

  10. 从 n 个数字中选出 m 个不同的数字,保证这 m 个数字是等概率的

    问题如上. 这是我被面试的一个题目. 我的第一反应给出的解决的方法是.开启  n 个线程并标记序号,各个线程打印出它的序号.直到有 m 个线程被调度时,停止全部线程. 打印出的序号即是 m 个等概率出 ...