文件保存


package com.example.datastroredtest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText; import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter; public class MainActivity extends Activity { EditText username = null;
EditText password = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password); } @Override
protected void onDestroy() {
super.onDestroy();
String fileName ="data";
String user_name = username.getText().toString();
String pass_word = password.getText().toString();
save(fileName,user_name,pass_word);
} public void save(String fileName, String username, String password) { FileOutputStream fos = null;
BufferedWriter writer = null;
try{
fos = openFileOutput(fileName,MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(fos));
writer.write("<username>");
writer.write(username);
writer.write("</username>");
writer.write("\n");
writer.write("<password>");
writer.write(password);
writer.write("</password>"); }catch(IOException e){
e.printStackTrace();
}finally{
try{
if(writer != null){
writer.close();
}
}catch (IOException e){
e.printStackTrace();
}
} }
}

package com.example.datastroredtest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText; import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList; public class MainActivity extends Activity { EditText username = null;
EditText password = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password); } @Override
protected void onDestroy() {
super.onDestroy();
String fileName ="data";
ArrayList<String> values = load(fileName);
username.setText(values.get(0));
password.setText(values.get(1));
} public ArrayList<String> load(String fileName) { FileInputStream fis = null;
BufferedReader reader = null;
ArrayList<String> content = new ArrayList<String>(); try{
fis = openFileInput(fileName);
reader = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = reader.readLine()) != null){
content.add(line);
} }catch (IOException e){
e.printStackTrace();
}finally {
try{
if(reader != null){
reader.close();
}
}catch (IOException e){
e.printStackTrace();
}
} return content;
}
}

Android数据持久化技术 — — —文件存储的更多相关文章

  1. Android学习--持久化(一) 文件存储

    持久化之   文件存储 这里把Android持久化全都整理一下,这一篇文章先简单的说一下文件的存储,通过下面一个简单的Demo,理解一下这个文件存储,先说说下面Demo的思路: 1.创建EditTex ...

  2. Android数据持久化技术 — — —SharedPreferences

    SharedPreferences是使用键值对的方式来存储数据. 要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferen ...

  3. IOS开发--数据持久化篇文件存储(二)

    前言:个人觉得开发人员最大的悲哀莫过于懂得使用却不明白其中的原理.在代码之前我觉得还是有必要简单阐述下相关的一些知识点. 因为文章或深或浅总有适合的人群.若有朋友发现了其中不正确的观点还望多多指出,不 ...

  4. python(四)数据持久化操作 文件存储

    1.写入 导入pickle包 然后组织一个列表my_list,保存为pkl格式,可以是任意格式 在磁盘下回出现一个保存的文件 2.读取

  5. Android面试收集录 文件存储

    1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...

  6. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

    Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览   作为一个完成的应用程序,数据存储操作是必不可少的. ...

  7. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...

  8. (转)Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...

  9. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...

随机推荐

  1. vue 2.0

    vue2.0 据说也出了很久了,博主终于操了一次实刀. 整体项目采用  vue +  vue-router +  vuex (传说中的vue 全家桶 ),构建工具使用尤大大推出的vue-cli 项目是 ...

  2. Timing Attack 周边感应sql

    直接上硬菜.盲注的一段语句: 1170 UNION SELECT IF(SUBSTRING(current,1,1)) = CHAR(119) , BENCHMARK(5000000,ENCODE(' ...

  3. (46) odoo核心文档分享

    *前言: 要掌握一个系统,还得有扎实的基础,最好的方法,阅读核心文档 然后去实践. *核心文档列表如下: odoo8官方参考.pdf                      链接: http://p ...

  4. linux系统文件说明

    linux系统文件说明 bin 系统命令目录 dev 设备目录 home 用户的家(每个系统用户在home下都有一个自己家) root超级用户在根目录下 lib 系统库目录.so动态库文件 media ...

  5. mysql自增主键归零的方法

    最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧:方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从 ...

  6. The ProgID of the WorkspaceName's workspace factory

    The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...

  7. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  8. 【原作】关于Dynpro中的红绿灯显示

    问题源自李宁的需求,就不说了. 关于ABAP中的红绿灯网上也有很多资料,不过貌似都是ABAP的程序,没怎么注意.后来根据需求要在Dynpro上也做出那样的效果,所以,研究了一下. 这种红绿灯在ABAP ...

  9. continue用法

    之前,一直没搞懂continue的用法,现在知道其中一个了: continue语句用于终止本轮循环,返回循环头部,开始下一轮循环 var i = 0; while (i < 10){ i++; ...

  10. zoom和transform:scale的区别

    小tips: zoom和transform:scale的区别 这篇文章发布于 2015年11月3日,星期二,00:52,归类于 css相关. 阅读 7876 次, 今日 8 次 by zhangxin ...