Android时事新闻客户端

来源:互联网 发布:node modules目录详解 编辑:程序博客网 时间:2024/05/17 23:19

       在学习过程中,对时时新闻客户端项目进行练习,本项目实现了新闻时时更新,其实现效果下面的图片所示:在此项目主要对界面的跳转,界面的衔接,部分功能由于时间有限,侧滑界面上的点击事件还没有实现,点击新闻列表上的信息将会显示新闻的内容,在之后将不断的完善该项目上的功能。此项目主要应用在Android 4.0以上的版本,其技术实现上主要用到了Android常用的UI控件,网络链接,ListView数据的分页加载(下拉刷新,上拉加载更多)。若有需要的朋友可以去http://download.csdn.net/detail/q394895302/9107997下载(编码方式GBK,有些注释的地方可能中文乱码,之前用UTF-8写的,引用过来的时候没有转换编码方式,其中NewsClient为项目,其余的是引用的第三方工具),有问题请提出来,共同学习进步。



    为了实现上面的效果,实现图片的自动滚动效果以及实现左侧侧滑事件,实现滑动及点动切换界面效果,导入第三方包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() {@Overridepublic 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() {@Overridepublic 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;}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic 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点击事件及侧滑中的点击事件暂时还没有实现;在和面将不断的对其功能进行完善。

0 0
原创粉丝点击