Android项目之多功能新闻客户端(上)

Android项目之新闻客户端

  • 主要功能(后续添加,完善)
    • 进入有良好的动画效果
    • 初始进入有新手引导界面
    • 可以浏览新闻,一键分享
    • 侧边栏,底部标题栏,多页面切换
    • 消息推送等

新手引导界面

引导用户使用APP的大致应用介绍(只在第一次使用时显示)

  • 实现

    • 可滑动的界面VIewPager(填充介绍APP的图片)
    • “开始体验”的Button按键
      • 最后一个页面显示开始体验的按钮。
    • 显示下方页面指示器的小圆点

      • OnPageCHangelistener()来判断移动位置和距离。
      • 计算两个圆点的距离
      • 移动距离=第二个圆点left值 - 第一个圆点left值
      • measure->layout(确定位置)->draw(activity的onCreate方法执行结束之后才会走此流程)
      • mPointDis = llContainer.getChildAt(1).getLeft() - llContainer.getChildAt(0).getLeft();
      • System.out.println(“圆点距离:” + mPointDis);

      • 监听layout方法结束的事件,位置确定好之后再获取圆点间距

程序进入时闪屏页面

  • 动画实现旋转RotateAnimation,缩放ScaleAnimation,渐变AlphaAnimation效果,添加动画集合AnimationSet set并启动startAnimation(set)。
  • 并在onAnimationEnd中判断动画是否结束,跳转页面,如果是第一次进入, 跳新手引导,否则跳主页面。

侧滑菜单

  • 使用SlidingMenu API实现方法

    SlidingMenu slidingMenu = getSlidingMenu();
    slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏触摸
    slidingMenu.setBehindOffset(200);//屏幕预留200像素宽度

  • 侧滑菜单的内容

    • 使用Xutils访问服务器Tomcat(使用开源框架Xutils)
      • 可以自己创建Tomcat服务器,也可以找线上服务器url地址连接。
    • 使用json文件保存页面所需数据(使用Gson解析数据)
      • 分类信息封装,使用Gson解析时:逢{}创建对象,逢[]创建集合(ArrayList),所有字段名称要和json返回字段高度一致(字段匹配)
      • 缓存json文件(key = url,value = json内容,保存在本地)
    • 侧边栏使用json文件的数据表示相关信息
    • 点击侧边栏listview后,收起侧边栏。使用slidingmenu.toggle()方法(调用可以使侧边栏状态改变)
    • 侧边栏点击后,应该修改新闻的内容
      • 菜单的详细页的展示(TextView)
      • 多次对象的引用来提取主页面的FrameLayout的布局。

主页面的大致构造

  • 底部标签栏
    • 底部为RadioGroup+RadioButton来制作几个点击可变色的btn。
  • 标签页面
    • ViewPager(与底部标签栏相结合,所以禁止左右滑动)。
  • 标题栏
    • 几个页面设置类似的标题栏,可以提取为style,改变标题文字即可。
  • 底部标签栏和标签页面一一对应
    • 设置btn的点击事件,改变ViewPager相应界面
    • ViewPager会默认自动加载下一页。(浪费性能,应该禁用,调用onPageSelected(int pos)方法在显示界面时在加载此界面的Data)。
    • 首页和设置页要禁用侧边栏。

新闻页面的详细

  • 新闻页签页面

    1. 可滑动的ViewPager制作页签页面
      • 初始化页签页面(通过Xutils读取json数据)
      • 两个ViewPager嵌套了,使外层ViewPager不拦截滑动事件,重写父类的ViewPager的事件拦截方法onInterceptTouchEvent() return false//设置不拦截。
    2. 页签页面上方设置文字指示器
      • 使用开源框架ViewPager Indicator,并将ViewPager和指示器绑定在一起
      • 重写PagerAdapter的getPageTitle来设置页签页面的标题
      • 在清单文件中修改背景style和文字style
      • 页签滑动禁用侧边栏:调用dispatchTouchEvent方法,请求所有父类都不要拦截事件
      • 设置页签页面第一页对侧边栏的调用,其他页签页面禁用侧边栏
    3. 页签页面设置点击按钮跳转下一页
      • 添加ImageButton,设置点击事件,跳转下一页面
    4. 头条新闻内容的展示
      • 头条新闻的轮流展示 ViewPager(第三个ViewPager的嵌套)
      • httpUtils来请求json数据,Gson解析json数据传递给ViewPager展示
      • 新闻图片的缓存(BitmapUtils)
      • 请求新闻图片ViewPager不要被上一层的ViewPager类拦截,同理重写它的父类方法,但滑动到最后自动切换页签页面的下一页面,所以设置拦截第一个和最后一个新闻图片。
      • 设置第一个和最后一个新闻图片的滑动事件。
      • 更新头条新闻信息的标题。(解析json数据,设置为title标题)
      • 设置头条新闻页面指示器(使用ViewPagerIndicator框架,重写指示器的style,并关联新闻图片信息,OnPageSelected(0)默认第一个被选中)
    5. 列表新闻展示
      • bitmap图片的压缩和自动剪切centerCrop中心剪切
      • 列表新闻的大体内容TextView和时间TextView
    6. 实现上下滑动使新闻移动
      • 设置头条新闻ViewPager为列表新闻的头部局addHeaderView()
    7. 实现下拉刷新
      • 下拉刷新的ListView
      • 设置刷新的animation的动画效果,但结束时clearAnimation(),不然隐藏出现问题。并判断当前刷新状态,则不进入刷新,略过该方法。
      • 设置回调方法来refresh数据,完成之后设置隐藏刷新的ListView。
      • 添加刷新时间读取Date()类即可。
    8. 底部上滑加载
      • 设置自定义进度条,表示下拉刷新。
      • 判断是否为最后一个item并是否加载中,并添加数据。
    9. 设置标记已读与未读
      • 设置字符串保存新闻id来标记已读。

当前整体UI布局
MainActivity
  • leftMenuFragement(侧边栏菜单)
    • SlidingMen框架(侧边栏框架)
      • ListView(新闻主题分栏)
  • ContentFragment(主页面)
    • ViewPager(中心页面)
      • HomePager(主页)
      • NewsCenterPager(新闻中心-侧边栏点击进入的几个页面)
        • NewsMenu(新闻菜单)
          • ViewPagerIndicator框架(可滑动的文字指示器)
          • ListView(各个新闻大体内容)
            • ListView的下拉刷新(一般隐藏)
            • ListView的头部局ViewPager(展示可滑动的头条新闻)
              • ViewPagerIndicator框架(可滑动的图片指示器)
            • 上下滑动的列表新闻ListView
              • Bitmap新闻图片和该新闻大体介绍和时间TextView
            • 底部上滑加载item
              • 自定义旋转的进度条
        • TopicMenu(主题新闻菜单)
        • PhotoMenu(图片新闻菜单)
        • InteractMenu(互动菜单)
      • SettingPager(设置)
    • RadioGroup(底部标题栏)
      • RadioButton(底部按键)

未完待续。

———谢谢观看———

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android新闻客户端是一种运行在Android平台上的应用程序,旨在为用户提供便捷、实时的新闻信息。通过Android新闻客户端,用户可以轻松地浏览、阅读各种新闻类别和各种来源的新闻内容,了解最新的时事动态和全球新闻Android新闻客户端具有以下几个主要功能: 1. 新闻浏览:Android新闻客户端为用户提供了一个方便的平台,使用户可以浏览各种新闻类别,如国内新闻、国际新闻、财经新闻等。用户可以根据自己的兴趣选择浏览特定类别的新闻,从而获得所需的信息。 2. 定制化推荐:Android新闻客户端通常会根据用户的浏览历史和兴趣爱好为其推荐相关的新闻内容。这样,用户可以更加容易地找到自己感兴趣的新闻,节约浏览时间。 3. 多媒体内容:Android新闻客户端不仅提供新闻的文字内容,还可以包含图片、视频和音频等多媒体形式的内容。这样,用户可以更加生动地了解新闻内容,融入更多元化的视听体验。 4. 分享和评论:Android新闻客户端通常允许用户在社交媒体上分享自己感兴趣的新闻内容,与朋友、家人等人交流和讨论。同时,用户还可以在新闻客户端上发表自己的评论和观点,与其他用户进行互动。 5. 离线浏览:有些Android新闻客户端支持离线浏览功能,用户可以在有网络连接时将感兴趣的新闻保存到手机上,以便在没有网络连接的情况下继续阅读。 总之,Android新闻客户端为用户提供了方便、实时、多媒体的新闻阅读体验。用户可以根据自己的兴趣和需求,方便地获取各种新闻内容,以及与他人交流和互动。 ### 回答2: Android新闻客户端是一种运行在Android操作系统上的应用程序,旨在为用户提供快速、方便的新闻浏览体验。 首先,Android新闻客户端可以通过与各种新闻源的接口进行连接,从不同的媒体网站、新闻社交平台、博客等抓取最新的新闻内容。这意味着用户可以在一个应用程序中获取来自多个来源的多种类型的新闻,轻松地获取各种新闻。 其次,Android新闻客户端通常具备个性化推荐功能。根据用户的浏览历史、阅读喜好和实时趋势,客户端可以智能地为用户推荐相关的新闻内容,提供更贴合用户兴趣的新闻浏览体验。 此外,Android新闻客户端还具备多样的展示形式和交互方式。用户可以根据自己的习惯选择不同的新闻列表展示方式,如按时间、按类别、按热度等进行排序。同时,客户端还可以提供搜索和过滤功能,帮助用户快速找到感兴趣的新闻。 此外,Android新闻客户端还可以提供多媒体支持,如图片、音频、视频等。用户可以通过客户端直接在应用内观看视频新闻或浏览图片报道,丰富和提升了用户的新闻阅读体验。 最后,Android新闻客户端通常还提供一些社交分享功能,用户可以将自己喜欢的新闻内容通过应用内的分享功能分享到社交媒体平台上,与朋友们一起讨论和互动。 综上所述,Android新闻客户端是一种便捷、多样化、个性化的应用程序,能够提供用户快速获取、浏览和分享新闻信息的功能,为用户带来更好的新闻阅读体验。 ### 回答3: Android新闻客户端是一款运行在安卓系统上的应用程序,主要用于实时获取和展示各类新闻信息。这种客户端通过与不同的新闻网站或新闻服务提供商进行数据交互,可以根据用户的兴趣和偏好,为用户推送最新、最相关的新闻内容。 Android新闻客户端通常拥有用户友好的界面设计,方便用户直观地浏览和阅读新闻信息。用户可以根据自己的喜好选择新闻的分类、频道或关键字进行订阅,也可以随时搜索自己感兴趣的新闻内容。此外,该客户端还会根据用户的历史浏览记录和喜好推送相似内容的新闻,以提供更加个性化的阅读体验。 Android新闻客户端具备多种功能与特点。首先,它可以支持多种媒体形式,如文字、图片、视频等,使用户得以全面多样地了解新闻事物。其次,它可以实现与其他应用程序的整合,比如分享新闻至社交媒体平台,或者将新闻保存至云端进行后续阅读。此外,该客户端还可以提供天气预报、股票行情、体育赛事等实用信息,以便用户一站式获取各种资讯。 综上所述,Android新闻客户端是一种功能强大、使用方便的应用程序,它通过与新闻提供方进行数据交互,为用户提供最新、最相关的新闻内容,并具备个性化推送、多媒体形式和与其他应用的整合等特点。无论是随时了解当前时事,还是关注自己感兴趣的领域,Android新闻客户端都是用户获取信息的好帮手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值