入门Android开发--第一行代码--笔记系列(文件存储)

文本存储

文件存储即存储为手机本地文件

这是大家最为熟悉的保存方式,适用于存储结构简单的数据和二进制文件。否则需要自己定义规则

存储到本地

Context类提供了一个opneFileOutput()方法。

Context context=this;
context.openFileOutput(String name,int Mode);

其中name是文件名,不需要指定路经,默认为:
内存目录/Android/data/packagename/files/
Mode有四种,另外两种已经不推荐使用
MODE_PRIVATE默认模式,会覆盖同名
MODE_APPEND 文件已存在会追加内容

//存储到一个文本到默认路径
private void saveTxt() {
    String data="Its test text";
    FileOutputStream out=null;
    BufferedWriter writer=null;
    try {
        out=openFileOutput("data",MODE_PRIVATE);
        writer=new BufferedWriter(new OutputStreamWriter(out));
        writer.write(data);

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

}
//读取默认路径下的文件
private void readTxt() {
    FileInputStream in=null;
    BufferedReader reader=null;
     content=new StringBuilder();
    try {
        in=openFileInput("data");
        reader=new BufferedReader(new InputStreamReader(in));
        String line ="";

        while ((line=reader.readLine())!=null){
            content.append(line);
        }

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

}

保存的文件很奇怪,private模式,教程里可以用DDMS查看,而我不能,还花了些时间去确认这件事。。
后来干脆直接读取,查看。不过这样就不确定默认路径是哪个了。。

顺便这提了一个工具类,使用TextUtils.isEmpty()双判断,参数是Charsquence

SharePrefrences存储

多种多样的获取方式

Context .getSharedPreferences()
Activity .getPreferences()名称默认为activity类名
PreferenceManager .getDefaultSharedPreferences()
这是一个静态方法,它接收一个 Context 参数并自动使用当前应用程序的包名作为前缀来命名 SharedPreferences 文件。
至于代码,因为平时用的较多的就是这个。就不贴了。另说一句,这个在DDMS中也看不到

SQLite存储

这个才是我的重点!目前位置都没接触过数据库。唉~

SQLiteOpenHelper

这是一个抽象类,我们需要继承并重写onCreate()和onUpgrade()方法
一看不对啊。。这真的是我印象中的数据库吗。。我难道全忘了吗。赶紧翻到后面看增删改查,
这样才是对的嘛。。。不过发现没用过就是没用过,不会的还是挺多的
所以还是另开一章~

你可能感兴趣的:(存储,手机)