400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Android开发中如何实现数据存储-创新互联

这篇文章将为大家详细讲解有关Android开发中如何实现数据存储,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

10年积累的成都做网站、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有铁西免费网站建设让你可以放心的选择与我们合作。

在Android中,可以使用几种方式实现数据持久化:

  1. SharedPreferences

也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下:

一、根据Context获取SharedPreferences对象

二、利用edit()方法获取Editor对象。

三、通过Editor对象存储key-value键值对数据。

四、通过commit()方法提交数据。


赋值:

putBoolean(KEY_SHOW_DIALOG_AT_START, false)

取值:

getBoolean(KEY_SHOW_DIALOG_AT_START,false);

SharedPreferences案例分析:

  1. 加进一检查框

       android:id="@+id/cbSent"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_alignLeft="@+id/textView1"

       android:layout_below="@+id/textView1"

       android:layout_marginTop="60dp"

       android:text="测试语句"/>

  1. 定义三变量

private CheckBox cbSent;

  private SharedPreferences sp;

  privatestaticfinal String KEY_SHOW_DIALOG_AT_START = "showDialog";

  1. onCreate中添加

     sp = getSharedPreferences("mysp", Context.MODE_PRIVATE);

     cb = (CheckBox) findViewById(R.id.cb);

     cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

         @Override

         publicvoid onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            Editor e = sp.edit();

            e.putBoolean(KEY_SHOW_DIALOG_AT_START, isChecked);

            e.commit();

         }

     });

     cb.setChecked(sp.getBoolean(KEY_SHOW_DIALOG_AT_START, false));

     if (cb.isChecked()) {

            new AlertDialog.Builder(this).setTitle("标题").setMessage("显示语句么?").setPositiveButton("关闭", null).show();

     }

  1. 内部存储

Internal Storage

内部存储,在Android中,开发者可以直接使用设备的内部存储器中保存文件,默认情况下,以这种方式保存的和数据是只能被当前程序访问,在其他程序中是无法访问到的,而当用户卸载该程序的时候,这些文件也会随之被删除。

使用内部存储保存数据的方式,基本上也是先获得一个文件的输出流,然后以write()的方式把待写入的信息写入到这个输出流中,最后关闭流即可,这些都是Java中IO流的操作。具体步骤如下:

Internal Storage案例分析:

1)加进编辑和命令按钮

       android:gravity="top"

       android:id="@+id/et"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:layout_weight="1"/>

   

       android:id="@+id/btnSave"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="保存" />

2)读取数据

  privatevoid readSavedText(){

     try {

         InputStream is = openFileInput("data");

         byte[] bytes = newbyte[is.available()];

         is.read(bytes);

         is.close();

         String str = new String(bytes,"utf-8");

         et.setText(str);

     } catch (FileNotFoundException e) {

         e.printStackTrace();

     } catch (IOException e) {

         e.printStackTrace();

     }

  }

3保存数据

privatevoid saveCurrentText(){

     try {

         OutputStream os = openFileOutput("data", Context.MODE_PRIVATE);

         os.write(et.getText().toString().getBytes("utf-8"));

         os.flush();

         os.close();

         Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();

         return;

     } catch (FileNotFoundException e) {

         e.printStackTrace();

     } catch (UnsupportedEncodingException e) {

         e.printStackTrace();

     } catch (IOException e) {

         e.printStackTrace();

     }

     Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();

  }

4)开始读取数据和定义保存

et = (EditText) findViewById(R.id.et);

     btnSave = (Button) findViewById(R.id.btnSave);

       readSavedText();

     btnSave.setOnClickListener(new View.OnClickListener() {

         @Override

         publicvoid onClick(View v) {

            saveCurrentText();

         }

     });

关于“Android开发中如何实现数据存储”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Android开发中如何实现数据存储-创新互联
链接URL:http://www.bluegullmedia.com/article/echgo.html

其他资讯

让你的专属顾问为你服务

0.0509s