千家信息网

怎么进行android中数据存储分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关怎么进行android中数据存储分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android中的数据存储主要有以下几种
千家信息网最后更新 2026年11月02日怎么进行android中数据存储分析

这篇文章将为大家详细讲解有关怎么进行android中数据存储分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Android中的数据存储主要有以下几种方式:

1、使用SharedPreferences:该存储方式主要用于应用程序有少量的数据需要保存,而且这些数据的格式很简单。

2、File存储:可以让我们轻松访问手机存储器上的文件(手机内存卡或者用户的SD卡)

3、SQLite数据库:Android系统集成了一个轻量级的数据库

4、网络:将数据保存在网络平台上进行存储

下面我将带领大家使用它们:

1、使用SharedPreferences,我们需要获取到SharedPreferences和SharedPreferences.Editor这两个重要的对象,然后便可以添加或者取出相应的数据:

1)添加数据:

  //获取SharedPreferences实例,表示该SharedPreferences只能被本应用程序进行读写                     //MODE_WORLD_READABLE:只能被其他程序读,但不能写                   //MODE_WORLD_WRITEABLE:能被其他应用程序进行读和写                          SharedPreferences preferences=getSharedPreferences("myFile", MODE_PRIVATE);                       SharedPreferences.Editor editor=preferences.edit();//获取SharedPreferences.Editor对象                                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");                            //通过editor向SharedPreferences存入指定key数据                                 editor.putString("time", sdf.format(new Date()));                                 editor.putInt("random", (int)(Math.random()*100));                             editor.commit();//提交所存入的数据

2)取出相应的数据:

                     SharedPreferences preferences=getSharedPreferences("myFile", MODE_PRIVATE);                                   //获取指定key的值,如果不存在返回默认值                                    String time=preferences.getString("time", null);                                      int random=preferences.getInt("random", 0);                                   String result=time==null?"你还未写入数据":"写入时间为:"+time+"\n上次生成的随机数为:"+random;                                Toast.makeText(SharedPreferencesTestActivity.this, result, 5000).show();

以上代码都有注释,我相信大家很容易就能理解!

2、File写入和读出

android中我们可以在我们的手机自带的内存卡中或者用户插入的SD卡中进行文件的写入和读出

实质上就是建立一个输入输出流,然后在里面读写数据,就是java里面的IO操作!

1)将数据保存在我们手机内置的存储空间

      /**    * 该方法是将数据保存在我们手机内置的存储空间,主要是调用Context.openFileOutput(fileName,MODE)方法就可以得到相应的输出流     * fileName:不能使用我们常用的分隔符("/"),例如:aaa/test.txt,我们只能使用test.txt       * 所保存的文件放在/data/data/包名/files/目录下,例如:/data/data/com.xin.activity/files/test.txt     * MODE:有以下几种:       * context.MODE_PRIVATE:当前应用程序下的私有数据,其他应用程序不能够进行读或者写访问,否则会出现permission denni错误,         * 并且如果文件已经存在,重新写入的文件会覆盖掉以前文件当中的数据;          * context.MODE_APPEND:当前应用程序下的私有数据,其他应用程序不能够进行读或者写访问,否则会出现permission denni错误,          * 并且如果文件已经存在,重新写入的数据会追加到源文件的数据后面;           * context.MODE_WORLD_READABLE:其他应用程序可以对该文件进行读的操作,不能进行写的操作,否则会出现permission denni错误;     * context.MODE_WORLD_WRITEABLE:其他应用程序可以对该文件进行写的操作,不能进行读的操作,否则会出现permission denni错误;    * 如果要使其他应用程序既可以对文件进行读取,又可以对文件进行写入,可以使用      * context.MODE_WORLD_READABLE+context.MODE_WORLD_WRITEABLE方式传入参数    * 保存后的文件中存在中文是不会乱码的         * 我们可以通过window-->android-->file explorer查看系统中的文件         * @param fileName      * @param fileContent           * @throws Exception    */      public void save(String fileName,String fileContent)throws Exception{                FileOutputStream fos=context.openFileOutput(fileName, context.MODE_WORLD_WRITEABLE);                fos.write(fileContent.getBytes());    }

2)手机内置的存储空间中读取数据

        /**    * 从手机内置的存储空间中读取数据,主要是调用context.openFileInput(fileName)方法,传入参数文件名称           * @return           */      public String read(String fileName)throws Exception{              FileInputStream fis=context.openFileInput(fileName);             byte[] buffer=new byte[1024];               int len=0;               //保存在内存中,也可以使用下面的方式进行输出               ByteArrayOutputStream baos=new ByteArrayOutputStream();             //StringBuilder sb=new StringBuilder();             while((len=fis.read(buffer))!=-1){                    baos.write(buffer, 0, len);                         //sb.append(new String(buffer,0,len));           }             byte[] b=baos.toByteArray();             return new String(b);               //return sb.toString();          }

3)保存文件到手机的外部存储设备SD卡中

   /**    * 保存文件到手机的外部存储设备SD卡中        * 访问硬件设备,我们需要在AndroidMainifest.xml中配置相应的访问SD卡的权限    *                              注意由于android系统的版本不同,所以外部存储设备的根目录可能会不一样,例如2.1版/sdcard/,而2.2版本的/mnt/sdcard/           所以我们不能将其写死,使用Environment.getExternalStorageDirectory()即可得到不同版本的根目录,所以用这种方式           如果文件已经存在,内容会覆盖          * @param fileName      * @param fileContent           * @throws Exception    */      public void saveToSDCard(String fileName,String fileContent)throws Exception{                //Environment.getExternalStorageDirectory()--->/sdcard             File file=new File(Environment.getExternalStorageDirectory(),fileName);             FileOutputStream fos=new FileOutputStream(file);            fos.write(fileContent.getBytes());    }

4)将SD卡文件中的内容读取出来

       /**    * 将SD卡文件中的内容读取出来    * @param fileName      * @return           * @throws Exception    */      public String readSDCard(String fileName)throws Exception{                File file=new File(Environment.getExternalStorageDirectory()+File.separator+fileName);              FileInputStream fis=new FileInputStream(file);              byte[] buffer=new byte[1024];               int len=0;               ByteArrayOutputStream baos=new ByteArrayOutputStream();             while((len=fis.read(buffer))!=-1){                    baos.write(buffer, 0, len);                 }             byte[] b=baos.toByteArray();             return new String(b);       }


以上代码都有注释,我相信大家很容易理解!将文件从手机自带的内存卡中读写主要是用到android中提供的当前上下文Context提供的两个类openFileInput和openFileOutput获得相应的字节输入流和字节输出流,而操作SD卡上面的文件则主要是获得SD卡中文件所在的路径,我们通过Environment.getExternalStorageDirectory()来获得其根目录,然后对里面的文件进行相应的IO流操作即可,文件存储是不是so easy啦!

关于怎么进行android中数据存储分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 文件 存储 程序 应用程序 手机 应用 内容 方式 内存 空间 设备 错误 输出 内存卡 存储设备 方法 根目录 版本 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 蓝思科技飞鸽互联网 奇酷互联网络科技公司 菲比寻常互联网科技 碳银互联网科技有限公司 深圳艾佳互联网科技 成都互联网科技公司100强 互联网金融中的现代科技 青岛科技大学互联网大赛研究生 互联网科技产业特征 互联网科技大奖都有哪些公司 互联网数据科技专业 南博望互联网科技有限公司 济南有互联网科技公司吗 无锡工业互联网科技有限公司 富国互联网科技002692 风投北京互联网科技 互联网界的黑科技 数字互联网科技有限公司 陕西彩京云互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 广州大一互联网络科技有限公司 嘟嘟瓜互联网科技 深圳期待互联网科技 佰商互联网科技有限公司 重庆威客帮互联网科技 中国科技和美国互联网 众联互联网络科技 科技互联网公司两年变化 绵阳真晨互联网科技有限公司 陕西彩京云互联网科技有限公司
0