版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、博学谷一一让IT教学更简单,让IT学习更有效案例:新闻客户端1、案例分析新闻客户端案例共有四个界面,分别是传智新闻、传智吧、知道和传智图库。点击新闻页面条目可以进入子页面。新闻客户端案例使用百度提供的接口获取百度数据。具有HttpPost获取网络数据、使用JSON解析、Fragment页面、AsyncTask异步加载图片、Handler>Listview展示界面,上拉获取更多数据等功能。该案例是一个综合性较为全面的应用,通过该案例的学习可以对基础只是做一个总结并掌握更深的知识。2、案例展示案例主界面MainActivity继承自Activity,相对应的布局文件为activity_mai
2、n.xml。布局文件有两大模块,上方为一个RadioGroup包裹四个RadioButton,分别对应四个页面,点击RadioButton跳转不同界面,下方为FrameLayout用于展示详细信息。MainActivity的布局界面如下所示:应用启动时显示欢迎界面,由转至MainActivity界面:Handler.postDelayde()实现,欢迎界面显示两秒钟后自动关闭并跳博学谷一一让IT教学更简单,让IT学习更有效1754OS3加力一爸二417传笆播者PTCArTiCNMainActivity同时加载四个Fragment页面,默认显示第一个Fragment新闻界面。由于数据是联网获取的
3、,在获取到数据之前界面中会先显示一个ProgressBar,当数据加载完毕之后会使用Listview加载各个页面:当数据加载完成后,点击不同按钮会加载不同页面:博学谷一一让IT教学更简单,让IT学习更有效电算设计猩(M电商®修营呢设计传颦橘I群网用甲曲斯智福ar%14年全an岛校仃骨干融牌研修MT国洲收官M14心防111*45值智捆离.和W年全国高校仃号干牧师01幡班L火娉开刷3Q14KT72fiIQtll视wr肮友与环道的旧哨,便栽选择了2s-造皆陌客IOS学限MMfli2014-11-131025税制:桂7一尽55力,让我们一起理一遣历史一一传料MV-NETWIftUtfl3Q1
4、1-I1-12111视箱:瓶宦的H对代码的摭总皓喘某诬-一传忸由喜NET学院回直曲目12月8日必用EE也跳班京台相,S本人文,胜后活酒开BK.UF野学,昨卡孟福启了一T.患觉看些乱俎出果期房累自胆小快件,只女.».HWH.11-37&北京传志慢声忽必H?唱mUMY11-illB2郑州开课堪泰1st号.如蟀用y做阴开慢网.好事过I网.后总胜不息料:*1断小的.«1*m诰B-2T©I来告用弓就业班用村事国&tfl也乳兔刎店斯见创房产暹事人电遇匕也辆9MMQQ335127267年修诙个年节作躅亘iffi安舷*i*Ki前2F丁新闻页面贴吧页面知,后土而国女
5、生学习FHP如何赭内和兄冕迪,博瞥圈咨方去用Ml过的说说他灯如何徐£俎PHPif黑?1了工作.如麋11*就那也在*歌你距自学通修版去了唱词中心因便怏窗上手.母学是比内舌为周网也没出人交遒回E因为愕敢就餐动力.她裁即是先了就业播也盗伴降凄喝M配楼.国宴的人怅狂.日”用向I2013,8,I屏*3<f?&懵君L韩Q平-耗椎懵定网页MtKhlmi+css+-js)慢用施坦1rarSaHTlR:<flun甲胃贝谀计Ounnl+E上*,闱鞘网程,下觉姑腐点击FilTUB573大小学23K0IffrItBfXttO&tiilSrt.13tli31131M灯上海博苫懵喜如
6、何了睛傅是口碑海仔的E自训机构S.事的吗?利81达内一样堵死人航上海哨替值造啊君峰于海,岩览三大巨头畦摘川V&和谟计学联的OIHL造不叫白好,JBIM的设"容算了.秋定蹲口,本是修排理的.胆必若学生学完之坛高龄就业口相惜的,可不黑广国悔出费的.品外也设你班HtQMtrKI2tl1i-0S-31-11<-知道页面新闻页面默认显示20条数据,贴吧页面默认显示图片页面50条数据,知道页面默认显示10条数据,图片页面默认显示30条数据。当位于页面最下方再往上拉时会再次加载相同数量的数据:博学谷一一让IT教学更简单,让IT学习更有效在新闻页面点击任意条目会跳转到新闻详细页面New
7、sDetailsActivity,该Activity由WebView进行展示新闻信息,并实现OnTouchListener接口,当在子页面时手指在屏幕横向滑动时会关闭NewsDetailsActivity回到上级页面。在MainActivity界面按返回键时会提示再按一次退出应用,使用Handler实现该功能:3、数据加载流程下图为项目所用到的所有类:博学谷一一让IT教学更简单,让IT学习更有效定!BaiduNews&earchT20Android4.1,2,AndroidDependencies,RerencedLibrari&s心srt Bch.ileastnews
8、3;MainActivily.javaI.NemDetailsActivTtyJava1Wek&meActivityjafva 由cn.it«stnewsraddpter团NewsUstVi'ewAdapterJava TjPhotoListViewAdapt&rJavai> 2PostbarGstViewAdapterJava> 2QuesticriGstViewAdapterJava> 由cn.ilcast.newSrdcinam0由Newsjava>由Photojava0aPostbarjavaamQuesticnjava田cn.
9、itcast,newsiragmentC*2)FragmentNesjava出FragmentPhotoJava>国FragmentPostbarjavaamFragrnentQuestionJaa由cnitcatt.n'ewSrnrtservice> 国GetNewsSenflceJawa0S)GetPhotoServicejava> 团GetPostbar$erviceJava团GetQuestionServiceJava0团NetServicejava由cn.ftat.nws-n-etijiiil>团GetBitmapUtiljavat>团NetUt
10、iiljava;Hcn.itcatnews.utilgenGeneratedFiles;a监*binlibs;AndraidManifes.tjcml凡icjaun£:tier»web.png_proguard-prajedLbct国project.prcperties;应用启动时四个Fragment会同时向网络请求数据,每一个页面请求数据的过程如下:1、欢迎界面WelcomeActivity.java应用启动的入口,只加载一张图片,这里的作用是实际开发中放入广告所准备。WelcomeActivity的onCreate()中创建一个Handler对象,使用Handler对象
11、的postDelayed方法使界面延迟两秒钟后自动关闭并跳转至MainActivity界面。2、新闻界面News.java新闻界面的javabean对象NetUtil.Java网络工具操作类NetService.Java通过url请求得到JSON数据GetNewsService.Java展示新闻界面的fragmentFragmentNews.Java在界面上展示数据博学谷一一让IT教学更简单,让IT学习更有效NewsListViewAdapter.Java新闻界面ListView的adapterNewsDetailsActivity.Java新闻界面的子界面,详细新闻信息新闻界面会创建一个As
12、yncTask对象异步获取数据。使用NetService类的getJsonObjectsByUrl()方法调用网络操作工具类NetUtil.postAndGetDaet()得到新闻信息的JSON数据。GetNewsService的getNewsByPage()方法解析得到的JSON数据得到新闻列表数据并把数据封装为News对象,最后把得到的新闻列表数据返回给FragmentNews的List<News>,当List<News>得到数据后,会调用ListView的adapter.notifyDataSetChanged()刷新界面把数据填充到界面中进行展示。由于新闻界面有
13、可能获取到图片url信息,当ListView加载数据时如果有图片Url则新创建一个AsyncTask对象,将url作为参数使用HttpURLConnection对象向网络获取到url对应的图片并转化为Bitmap对象,将Bitmap对象返回给ListView的adapter加载到界面中。当点击新闻列表某一个条目时会跳转到详细信息界面NewsDetailsActivity类,NewsDetailsActivity是以webview形式把新闻详细信息数据展示在界面上,NewsDetailsActivity实现了OnTouchListener接口,当在屏幕上横向滑动时关闭该界面返回到新闻列表界面。3
14、、贴吧界面Postbar.java贝占吧界面的javabean对象NetService.javahtml操作类GetPostbarService.Java解析Html得到贴吧数据FragmentPostbar.Java展示贴吧界面的FragmentPostbarListViewAdapter贴吧界面ListView的adapter贴吧页面与新闻页面不同的是,贴吧获取到的是一个Html页面。由于GetPostbarService是继承自NetService,所以可以在GetPostbarService类直接调用NetService.getDocumentByUrl()方法使用第三方jar包jso
15、up解析html文档得到贴吧数据,把解析到的数据封装进PostBar对象。最后把数据返回给FragmentPostbar的List<Postbar>。当List<Postbar>得到数据之后刷新ListView的adapter,把数据展示在界面上。4、知道界面Question.java知道界面的javabean对象NetUtil.java网络工具操作类NetService.java获取JSON对象GetQuestionService解析JSON对象FragmentQuestion展示知道界面的fragmentQuestionListViewAdapter知道界面List
16、View的adapter知道界面与新闻界面获取数据、展示数据的步骤一致,也是获取JSON数据。首先使用NetService类的getJsonObjectByUrl()方法调用网络工具类NetUtil获取网络数据得到JSON数据,再使用GetQuestionService类的getQuestionsByPage()方法解析JSON得到百度知道列表数据,最后把数据返回给FragmentQuestion的List<Question>,当List<Question>得到数据之后刷新ListView的adapter将数据展示在界面上。5、百度图片Photo.java图片界面的javabean对象NetUtil.java网络工具操作类NetService.java获取JSON对象博学谷一一让IT教学更简单,让IT学习更有效GetPhotoService.java解析JSON获取数据列表FragmentPhoto.java展示图片界面的FragmentPhotoListViewAdapter.java图片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 64028-2021衬纬经编针织粘合衬》
- 《JBT 8475-1996单螺旋锥形混合机》专题研究报告
- 一元一次不等式组课件2025-2026学年北师大版八年级数学下册
- 甘肃省武威市2026年八年级下学期语文期中模拟试卷附答案
- 2026年云南省临沧市城管协管招聘笔试备考题库及答案解析
- 第四节 基因位于染色体上教学设计高中生物苏教版2019必修2 遗传与进化-苏教版2019
- 第十课 历史规律与人生目标教学设计中职基础课-哲学与人生(第3版)-人教版-(政治(道法))-59
- 2026年鹰潭市月湖区社区工作者招聘考试参考题库及答案解析
- 2026年平凉市崆峒区社区工作者招聘考试参考试题及答案解析
- 2026年石家庄市新华区社区工作者招聘考试模拟试题及答案解析
- 2025英德辅警考试真题
- 日常课间守护活动方案
- 安徽国元农业保险股份有限公司招聘笔试题库2025
- 《民族团结一家亲同心共筑中国梦》主题班会
- 2025-2030中国频率合成器行业市场发展趋势与前景展望战略研究报告
- T/CSPSTC 72-2021隧道衬砌脱空注浆治理技术规程
- 博士论文写作精解
- 数字普惠金融对粮食供应链韧性的影响研究
- 新教科版一年级科学下册第一单元第6课《哪个流动得快》教案
- 2024年11月医用冷库建设合同3篇
- 护理CQI项目模板
评论
0/150
提交评论