Android时事新闻客户端
2015-09-06 10:01
204 查看
在学习过程中,对时时新闻客户端项目进行练习,本项目实现了新闻时时更新,其实现效果下面的图片所示:在此项目主要对界面的跳转,界面的衔接,部分功能由于时间有限,侧滑界面上的点击事件还没有实现,点击新闻列表上的信息将会显示新闻的内容,在之后将不断的完善该项目上的功能。此项目主要应用在Android 4.0以上的版本,其技术实现上主要用到了Android常用的UI控件,网络链接,ListView数据的分页加载(下拉刷新,上拉加载更多)。若有需要的朋友可以去http://download.csdn.net/detail/q394895302/9107997下载(编码方式GBK,有些注释的地方可能中文乱码,之前用UTF-8写的,引用过来的时候没有转换编码方式,其中NewsClient为项目,其余的是引用的第三方工具),有问题请提出来,共同学习进步。
![](http://img.blog.csdn.net/20150906095335228?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
为了实现上面的效果,实现图片的自动滚动效果以及实现左侧侧滑事件,实现滑动及点动切换界面效果,导入第三方包slidingmenu_library、ImageSlider_library才将其实现;实现上拉加载更多、下拉刷新使用了第三包Android-XListView-library;由于是初学不久后的一个练习项目,在界面的资源的显示是应用的是网易新闻客户端资源。为了实现资源的缓存效果,在断网的情况下也能显示之前加载的内容,引入了Volley_libaray框架。新闻当中的内容是从网上获取,当网上的数据发生改变的时候,新闻中的内容也将相应的进行改变,因此实现了新闻时事同步功能。由于Volley_libaray框架中封装了图片和资源缓存,故在加载了后数据将会被保存,所有在没有网络的情况下也能显示之前加载的数据信息。
其部分代码如下所示:其实现了侧滑,滑动、点动切换界面
通过该练习,熟悉了从网站上面获取解析资源并显示到界面上的使用,同时也对第三方包的使用进行了了解。对于Volley_libaray框架的使用及功能有所掌握,其间封装了网络数据解析、缓存。由于时间的关系,List点击事件及侧滑中的点击事件暂时还没有实现;在和面将不断的对其功能进行完善。
为了实现上面的效果,实现图片的自动滚动效果以及实现左侧侧滑事件,实现滑动及点动切换界面效果,导入第三方包slidingmenu_library、ImageSlider_library才将其实现;实现上拉加载更多、下拉刷新使用了第三包Android-XListView-library;由于是初学不久后的一个练习项目,在界面的资源的显示是应用的是网易新闻客户端资源。为了实现资源的缓存效果,在断网的情况下也能显示之前加载的内容,引入了Volley_libaray框架。新闻当中的内容是从网上获取,当网上的数据发生改变的时候,新闻中的内容也将相应的进行改变,因此实现了新闻时事同步功能。由于Volley_libaray框架中封装了图片和资源缓存,故在加载了后数据将会被保存,所有在没有网络的情况下也能显示之前加载的数据信息。
其部分代码如下所示:其实现了侧滑,滑动、点动切换界面
<span style="font-size:18px;"> mSlidingMenuBtn.setOnClickListener(this); mAddBtn.setOnClickListener(this); mHeadlineTab.setChecked(true); setBehindContentView(); HeadlineFragment fragmen1 = HeadlineFragment.newInstance(); RecreationFragment fragmen2 = RecreationFragment.newInstance(); SportsFragment fragmen3 = SportsFragment.newInstance(); FinanceFragment fragmen4 = FinanceFragment.newInstance(); ScienceFragment fragmen5 = ScienceFragment.newInstance(); ArrayList<Fragment> list = new ArrayList<Fragment>(); list.add(fragmen1); list.add(fragmen2); list.add(fragmen3); list.add(fragmen4); list.add(fragmen5); MyFragmentAdapter adapter = new MyFragmentAdapter( getSupportFragmentManager()); mViewPager.setAdapter(adapter); adapter.setAdapterData(list); mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.HeadlineTab: mViewPager.setCurrentItem(0); break; case R.id.RecreationTab: mViewPager.setCurrentItem(1); break; case R.id.SportsTab: mViewPager.setCurrentItem(2); break; case R.id.FinanceTab: mViewPager.setCurrentItem(3); break; case R.id.ScienceTab: mViewPager.setCurrentItem(4); break; } } }); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { switch (arg0) { case 0: mHeadlineTab.setChecked(true); break; case 1: mRecreationTab.setChecked(true); break; case 2: mSportsTab.setChecked(true); break; case 3: mFinanceTab.setChecked(true); break; case 4: mScienceTab.setChecked(true); break; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } private void setBehindContentView() { setBehindContentView(R.layout.slidingmenu_item_layout); getSupportFragmentManager() .beginTransaction() .add(R.id.slidingmenu_item_layout, SlidingmenuFragment.newInstance()).commit(); SlidingMenu sm = getSlidingMenu(); sm.setSlidingEnabled(true); sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); sm.setShadowWidthRes(R.dimen.shadow_width); sm.setBehindOffsetRes(R.dimen.slidingmenu_offset); sm.setBehindScrollScale(0); sm.setFadeDegree(0.25f); }</span>
通过该练习,熟悉了从网站上面获取解析资源并显示到界面上的使用,同时也对第三方包的使用进行了了解。对于Volley_libaray框架的使用及功能有所掌握,其间封装了网络数据解析、缓存。由于时间的关系,List点击事件及侧滑中的点击事件暂时还没有实现;在和面将不断的对其功能进行完善。
相关文章推荐
- Android笔记(十七)光照传感器
- Android Uri带中文乱码问题
- Android 4.4+ 实现半透明状态栏(Translucent Bars)
- Android开源项目和应用源码分析
- Android android:windowSoftInputMode 属性整理
- Android Studio上Git使用指南
- Android Studio汉化
- Android studio 导出jar包并混淆和aar
- Android ActionBar常用功能代码整理
- Android添加快捷方式(Short)到手机桌面
- Android手机智能定位并在地图上显示地址
- Android createWindowSurface failed EGL_BAD_ALLOC 引起Crash的解决方案
- AndroidMainFest.xml file missing!
- Android Studio添加插件(Genymotion)
- 服务器上编译Android程序
- 自定义 Android 对话框 (AlertDialog) 的样式
- Android常用控件
- Android实例-TRectangle加载图片(XE8+小米2)
- android 环境搭建
- Android wifi调试技巧