PhotoGalley是《Android编程权威指南》书中另外一个重要的应用。
github:https://github.com/xurui1995/PhotoGallery (欢迎和谢谢您的star)
在第一个应用CriminalIntent中,主要学习了Intent的使用,Fragment的使用,Sqlite等等。
详情:http://www.cnblogs.com/xurui1995/p/5829458.html
在PhotoGalley的应用中,主要学习Android的多线程,网络请求,Json解析,WebView等方面的知识内容。
首先我们对应用的框架进行分析,对一个Android新手来说,设计一个框架往往是难度较大的,但是
我们可以去学习分析别人的框架,对自己以后无论是设计新的框架还是"移花接木"都很有帮助。
主界面:
界面分析:
1,主界面=Toolbar+RecyclerView。 Toolbar包含一个SerachView, RecyclerView使用的是GirdLayoutManager。
2,图中黄色边框标出的为默认图片,或理解为这RecyclerView的ViewHolder还没有获取到网络请求到的图片,但是我们也应该让其显示一些东西,空着会很别扭。
功能和技术思考:
1,如何去获取图片数据?
关键:申请相应的Api key,根据相关Api的指南去请求自己想要的数据对应的地址,对得到的Json格式数据进行解析。
2,图片的加载是耗时操作如何处理?如何可以不一次性加载所有缩略图,而是有需求时候才加载?图片过大如何不OOM?
关键:AsnycTask,HandlerThread,消息队列,图片缩小。
3,当网络上有新的数据时,如果通知使用者刷新?如何记录SearchView上次搜索记录,WebView加载网页带上进度条等等。
关键:IntentService,SharePreference, onProgressChanged(......)。
最后奉上思维带图,方便大家学习此书时回顾知识点。