/OkCommunity

ok社区 新闻论坛app

Primary LanguageJava

OkCommunity

Ok社区 介绍

一款以新闻浏览为主,附带各种特色功能的新闻社区,在ok社区,你可以表达对实时新闻的评论,也可以在社区中心表述你的心情,无聊时还可以体验一下各种附带小功能。UI大致还是借鉴了知乎日报的界面风格,但也融入了很多个人的风格。 ok社区的安卓客户端和后台都是我自己写的,虽然安卓开发不需要做后台,但是我觉得最好还是要了解一下后台的知识,这样对整个项目的架构会更加的了解!

(欢迎大家star和下载,这是给我的动力)

app 演示图:

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

  • 更多功能请下载app自行体验。

具体模块

  1. 侧边栏是采用DrawerLayout实现,但是我个人不推荐,最好还是使用github的第三方侧边栏,因为DrawerLayout的局限性太大,而第三方功能非常丰富和灵活。

  2. 主界面的新闻列表,轮播条的实现思路是,采用handler和message,每隔3s就用handler发送message,通知viewpager让currentPage++; 轮播条下面的列表是采用CardView实现。

//利用handler循环发送消息
mHandler = new Handler() {
    public void handleMessage(Message msg) {

         mTopCurrentItem = ((HeaderViewHolder) holder).headerPager.getCurrentItem();

         if (mTopCurrentItem < mTopList.size() - 1) {
                mTopCurrentItem++;
         } else {
                mTopCurrentItem = 0;
         }

         ((HeaderViewHolder) holder).headerPager.setCurrentItem(mTopCurrentItem, false);
         mHandler.sendEmptyMessageDelayed(0, 3000);
    }
};
  1. 整个app的网络通信框架用的是okHttp,不过要进一步的封装,我使用的是鸿洋的OkHttpUtil。
  2. 图片加载使用的Glide,不过Glide会有一点小问题,下面会提到。
  3. 新闻详情页是采用5.0的新特性api实现的, Android5.x新特性之Toolbar,AppBarLayout,CoordinatorLayout,CollapsingToolbarLayout等汇总,不懂得可以看看这个链接。
  4. 图片选择器是使用github上的开源框架,MultiImageSelector

开发途中遇到的问题

给大家的福利

在这里,献上我学习安卓以来,收藏的一些非常好的学习资源。

  1. 现在的app开发架构,比较流行的是mvp+RxJava+Retrofit,这三种知识点的资料:给 Android 开发者的 RxJava 详解选择恐惧症的福音!教你认清MVC,MVP和MVVMAndroid网络请求--Retrofit基础
  2. 收藏的一些UI图标和设计的网站:materialpaletteUI**阿里巴巴图标库iconfinder