«

android中的数据存储

时间:2024-3-2 19:47     作者:韩俊     分类: Android


一、sharedPerferences存储数据
实现sharedPerferences存储的 步骤如下:
1、根据Content获取sharedPerferences对象
2、利用edit()方法获取Editor对象
3、通过Editor()对象存储key-value键值对数据
4、通过commit()方法提交数据
sharedPerferences存储数据代码如下

SharedPreferences preferences=getSharedPreferences("mydate",Activity.MODE_PRIVATE);
SharedPreferences.Editor editor=preferences.edit();
editor.putString("name", "lzb");
editor.putInt("age", 12);
editor.commit();

获取存储的数据代码如下:

SharedPreferences read=getSharedPreferences("mydata", 0);
String name=read.getString("name", null);

2、Files存储数据
写入文件(下面函数是根据传入的路径和要写入的数据写入文件)

public void writetofile(String path,String data)
    {
        try
        {
            // 如果手机插入了SD卡,而且应用程序具有访问SD的权限
            if (Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED))
            {
                // 获取SD卡的目录
                File sdCardDir = Environment.getExternalStorageDirectory();
                File targetFile = new File(sdCardDir
                    .getCanonicalPath() + path);
                // 以指定文件创建 RandomAccessFile对象
                if(!(targetFile.isDirectory()))
                {
                   new File("/data").mkdir();

                }
                RandomAccessFile raf = new RandomAccessFile(
                    targetFile, "rw");
                // 将文件记录指针移动到最后
                raf.seek(targetFile.length());
                // 输出文件内容
                raf.write(data.getBytes());
                // 关闭RandomAccessFile   

                raf.close();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

读取文件(下面函数是根据路径读取指定位置文件,并返回一个arraylist)

public ArrayList<String> read(String path)
    {
        ArrayList<String> arrayList=new ArrayList<String>();
        try {
            // 如果手机插入了SD卡,而且应用程序具有访问SD的权限
            if (Environment.getExternalStorageState().equals(
                    Environment.MEDIA_MOUNTED)) {
                // 获取SD卡对应的存储目录
                File sdCardDir = Environment
                        .getExternalStorageDirectory();
                // 获取指定文件对应的输入流
                FileInputStream fis = new         FileInputStream(sdCardDir
                        .getCanonicalPath() + path);
                // 将指定输入流包装成BufferedReader
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(fis));
                StringBuilder sb = new StringBuilder("");
                String line = null;
                // 循环读取文件内容
                while ((line = br.readLine()) != null) {

                    arrayList.add(line);
                    sb.append(line);
                }
                br.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return arrayList;
    }

3、SQLite存储数据

SQLite使用教程

        <p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>

标签: android

热门推荐