redis做mysql缓存实例Android开发之三级缓存含义实例演示

Android开发之三级缓存含义实例演示,Adroid项目开发经常需要使用到网络访问数据,将获取到的数据保存到本地,本地数据使用时写入到内存,再次访问的时候从内存获取数据,这就是平时说的三级缓存,三级缓存听起来很“高大上”,其实集合了网络访问数据/本地访问数据/缓存访问数据三个级别,按理说不是什么困难的事情,前提是你对数据操作的的三种...
Android项目开发经常需要使用到网络访问数据,将获取到的数据保存到本地,本地数据使用时写入到内存,再次访问的时候从内存获取数据,这就是平时说的三级缓存,三级缓存听起来很“高大上”,其实集合了网络访问数据/本地访问数据/缓存访问数据三个级别,按理说不是什么困难的事情,前提是你对数据操作的的三种方式都熟悉。步骤阅读工具/原料Android开发工具:AndroidStudio或EclipseAndroid测试工具:虚拟设备或测试手机一、三级缓存实例1网络访问数据。Android提供网络访问数据的类是:HttpURLConnection(最基础的访问方式),在实际开发中,TeachCourse一直使用的第三方的开发框架:android-async-http-0.4.5.jar,它的特点是:1.UI线程中调用,异步执行;2.实现接口AsyncHttpResponseHandler回调方法;3.涉及的类AsyncHttpClient/RequestParams/AsyncHttpResponseHandler,简单的例子:步骤阅读2更加详细的使用说明,可以参考TeachCourse《Android开发之数据存储的四种方式之一:Network存储》,网络存储数据的方式,将需要存储的数据通过Request请求的方式发送到后台URL中,然后后台读取数据并将用户名、密码按照指定格式存储。步骤阅读3本地访问数据。将数据保存到本地,可以文件流方式写入sdcard的文件中,也可以通过SharedPreferences方式保存键值对,SharedPreferences是一种比较简单的保存数据的方式,封装成了SharedPreferencesUtils类,更加详细的使用说明,可以参考TeachCourse《Android开发之数据存储的四种方式:SharedPreferences》,这里主要使用文件流的方式将新闻数据写入到sdcard的文件中。开发步骤:1、封装FileManager工具类;2、封装HttURLConnection工具类;3、访问服务器,将新闻数据写入文件;步骤阅读步骤阅读4HttpURLConnection工具类。流分为:字节流/字符流/文件流/数组流/缓冲流等,字节流是流操作的最小单位,字符流以字符为单位,文件流是特定对文件操作的一种流,对于其他的流操作也是字节流/字符流的直接或间接子类,比如:DataInputStream/DataOutputStream是InputStream/OutputStream的子类,操作方法是对底层流的“包装”,代码如下:步骤阅读步骤阅读5MainActivity获取数据。调用HttpURLConn中的get方法访问服务器,获取返回的json数据,然后o把json写入本地sdcard文件,再从sdcard的文件中读取数据在ListView中展示,具体代码如下:步骤阅读步骤阅读步骤阅读6解析JSON格式数据使用JSONArray和JSONObject,数学将:{}称为大括号,将:[]称为中括号,在返回的JSON字符串中,大括号使用JSONObject转换成对象,中括号使用JSONArray转换成对象,例如对面的字符串json,转换代码如下:步骤阅读7内存读写数据。内存读写数据的位置在:/data/data//file,相对本地文件存储/网络存储,内存存储数据的读写速度是最快的,在Android开发中,能够做到三级缓存的APP,使用起来更加顺畅,因为内存保存数据的位置与当前的包名相关,所以需要Context的openFileInput()/openFileOutput()方法获取输入/输出流,而sdcard读取数据使用的是FileInputStream/FileOutputStream类获取输入/输出流,这是他们两者之间的区别。具体代码,如下:步骤阅读步骤阅读8可以将上面新闻中的数据同时保存到内存/sdcard,当启动APP时,首先从内存读取,如果内存的数据不存在,再从sdcard中读取,最后从网络加载,这是三级缓存的开发思路,结合上面的Demo,完成新闻列表的展示。下一篇文章TeachCourse将介绍《如何读写sqlite数据库中的新闻数据》END注意事项常用的网络框架通常集合了缓存功能:内存缓存、硬盘缓存等,使用起来更方便该实例演示android-async-http、AsyncTask、流操作和文件读取的简单使用

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/XRw1kQg6Jb.html

(0)

相关推荐