Android物联网应用程序开发-项目四 数据存储的实现-任务1:智能农业环境数据的设置_第1页
Android物联网应用程序开发-项目四 数据存储的实现-任务1:智能农业环境数据的设置_第2页
Android物联网应用程序开发-项目四 数据存储的实现-任务1:智能农业环境数据的设置_第3页
Android物联网应用程序开发-项目四 数据存储的实现-任务1:智能农业环境数据的设置_第4页
Android物联网应用程序开发-项目四 数据存储的实现-任务1:智能农业环境数据的设置_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android物联网应用程序开发资源转化系统教材辽宁轻工职业学院辽宁轻工职业学院任务实现知识准备任务目标目录

项目4数据存储的实现辽宁轻工职业学院任务1智能农业环境数据的设置辽宁轻工职业学院项目目标辽宁轻工职业学院智能农业系统中在环境参数实时采集后,通过对储存在系统中已设置完成的环境变量临界值进行对比,为接下来的控制动作提供决策信息。本节我们学习完成环境变量的存储。辽宁轻工职业学院【任务目标】1.了解SharedPreferences的操作模式和常用的使用方法2.掌握使用SharedPreferences存储数据的方法1.SharedPreferences简介辽宁轻工职业学院【知识准备】Android平台提供了一个轻量级的存储类SharedPreferences,使用存储key-value形式保存移动应用程序的一些常用配置。WEB开发使用XML格式数据作为配置文件,配置程序相关模块功能的参数。Android的SharedPreferences也是以XML方式来保存。比如系统设置的相关参数,智能农业系统中温湿度等临界值等等,都可以把相关的状态信息保存到SharedPereferences中。当外界温度高于SharedPereferences存储的临界值时,智能农业系统中的硬件设备风扇会自动开启,否则处于关闭状态。1.SharedPreferences简介辽宁轻工职业学院【知识准备】操作模式说明值Context.MODE_PRIVATE默认操作模式,只能被应用本身访问

0Context.MODE_APPEND该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.32768Context.MODE_WORLD_READABLE表示当前文件可以被其他应用读取1Context.MODE_WORLD_WRITEABLE表示当前文件可以被其他应用写入2SharedPereferences操作模式1.SharedPreferences简介辽宁轻工职业学院【知识准备】方法名称含义booleangetBoolean(Stringkey,booleandefValue)获取一个boolean类型的值floatgetFloat(Stringkey,floatdefValue)获取一个float类型的值intgetInt(Stringkey,intdefValue)获取一个int类型的值longgetLong(Stringkey,longdefValue)获取一个long类型的值StringgetString(Stringkey,StringdefValue)获取一个String类型的值智能农业移动应用中设计了只存取自身APP应用的访问模式,因此在本应用程序中可以忽略其他访问模式。通过设计智能农业移动应用相关业务参数,需要熟悉和使用SharedPreferences存储类提供的相关方法,现把移动应用常用到的一些方法说明提供如下(见表):

SharedPereferences和Editor常用方法1.SharedPreferences简介辽宁轻工职业学院【知识准备】SharedPreferences.Editoredit()获取用于修改SharedPreferences对象设定值的接口引用SharedPreferences.EditorputBoolean(Stringkey,booleanvalue)存入指定key对应的boolean值SharedPreferences.EditorputFloat(Stringkey,floatvalue)存入指定key对应的float值SharedPreferences.EditorputInt(Stringkey,intvalue)存入指定key对应的int值SharedPreferences.EditorputLong(Stringkey,longvalue)存入指定key对应的long值SharedPreferences.EditorputString(Stringkey,Stringvalue)存入指定key对应的String值SharedPreferences.Editorcommit()提交存入的数据1.SharedPreferences简介辽宁轻工职业学院【知识准备】

从上表可以看出,SharedPreferences存储类在读取配置文件的数据时,使用getXxx(key,defValue),方法可以获取配置文件中的数据。其中key代表key-value中的key值,defValue代表如果配置文件中不存在此key-value键值匹配对时,使用defValue代表默认值,保证程序的正常运行。SharedPreferences.Editor工具接口提供了写入XML的方法,可以把指定数据类型以key-value的形式写入的文件中。最后切记调用commit()方法提交存入的信息。2.使用SharedPreferences存取数据辽宁轻工职业学院【知识准备】2.使用SharedPreferences存取数据使用SharedPreferences存取key-value值一般需要经过以下步骤可以实现:1)通过Context上下文获取SharedPreferences实例对象mSharedPreferences; mSharedPreferences=context.getSharedPreferences(Stringname,intmode);2)sharedPreferences对象取值或sharedPreferences对象获取Edit对象存值 Stringtemp=mSharedPreferences.getString("最低温度","0.0");//获取温度 EditormEditor=mSharedPreferences.edit();//获取存值的工具对象3)通过mEditor对象存储key-value形式的配置数据; mEditor.putString("最低温度",temp1);4)通过mEditor的commit()方法提交数据;

mEmit();//提交修改辽宁轻工职业学院【任务实现】1)在Eclipse中创建一个命名为AndroidDemo4_1。并把项目2中的任务1的界面导入到此项目中,如下图所示。2)在src文件夹中下建立MainActivity.java文件实现界面初始化界面初始化代码之前有所学习,所以这里就不详述,请参考书籍编写。辽宁轻工职业学院【任务实现】3)设置按钮单击事件—保存按钮,获取EditText的值,并通过SharedPreferences类保存数据

当智能农业系统管理员输入系统相关的设置参数后,点击保存按钮后,程序将把设置数据通过SharedPreferences写入到移动设备中。在后台只需在initView()中添加实现mBtnSave按钮的单击事件。具体代码请参考书籍。辽宁轻工职业学院【任务实现】

通过代码可以看出智能农业环境数据保存到一个以zhcs为名称的文件中,它在移动设备中完整路径和名称为:

/data/data/com.example.androiddemo4_1/shared_prefs/zhcs.xml。可以通过DDMS的FileExplorer选项卡找到此文件如,通过图1右上角的红色导出按钮把配置文件导出到文件系统中,打开后可以看到配置文件的配置形式如图2所示。图1图2辽宁轻工职业学院【任务实现】

从保存环境参数这个功能可以看出SharedPreferences保存数据是以XML数据格式保存在移动设备中。它是以<map>…</map>为根元素,可以包含多种数据类型子元素的XML格式数据,子元素以key-value键值匹配的形式存在。当value为字符串类型时使用<String…/>格式的子元素。辽宁轻工职业学院【任务实现】4)设置按钮单击事件—清空按钮当点击清空按钮后,程序将之前的数据清空,在后台只需在initView()中添加实现mBtnClear按钮的单击事件。具体代码如下://清空按钮 mBtnClear.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //清空编辑框 mEtTemp1.setText(""); mEtTemp2.setText(""); mEtHumi.setText(""); mEtLight.setText(""); mEtCo.setText(""); Toast.makeText(MainActivity.this,"清空成功!",Toast.LENGTH_SHORT).show(); } });辽宁轻工职业学院【任务实现】5)设置按钮单击事件—读取按钮

当智能农业系统管理员关闭应用并再次进入系统并点击读取按钮后,程序将通过SharedPreferences存储类读取移动设备中的zhcs.xml文件并显示在界面。在后台只需在initView()中添加实现mBtnRead按钮的单击事件。具体代码如下:辽宁轻工职业学院【任务实现】//读取按钮mBtnRead.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){SharedPreferencesmSharedPreferences=getSharedPreferences("zhcs",Context.MODE_PRIVATE);//getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值Stringtemp1=mSharedPreferences.getString("最低温度","");Stringtemp2=mSharedPreferences.getString("最高温度","");Stringhumi=mSharedPreferences.getString("湿度临界值","");Stringlight=mSharedPreferences.getString("光照临界值","");Stringco=mSharedPreferences.getString("一氧化碳临界值","");辽宁轻工职业学院【任务实现】//设置编辑框值 mEtTemp1.setText(temp1); mEtTemp2.setText(temp2); mEtHumi.setText(humi); mEtLight.setText(light); mEtCo.setText(co); Toast.makeText(MainActivity.this,"读取成功!",Toast.LENGTH_SHORT).show(); } });辽宁轻工职业学院【任务实现】

通过代码可以看出移动应用程序成功的读取数据并显示,与上一次保存的数据完全一致,说明通过SharedPreferences

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论