前言

在7月中旬的时候,突然想做一个上线的app,同时也巩固一下自己的android开发知识。于是开始动手坐了起来,终于在8月5号左右的时间,完成了历时20多天整个app的开发。我个人觉得,这个app虽不能说做得很好,但也是对我3个月的安卓学习的一个总结,当我发到论坛上,想听听其他开发人员的建议和评价时,另外意外的是,基本评论的都是好评。但与此同时,我也发现有很多android的初级学习者,看完第一行代码或者做几个小demo,就不知道干什么了。想想一直以来,在学习的过程中,博客和github都帮助了我很多,也正是因为开源,所以大家才能一起进步。所以,这个app,我将它开源的目的,也是为了更好地帮助其他的安卓开发者。

Ok社区 介绍

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

github地址:https://github.com/jeff-leo/OkCommunity

app下载链接:http://www.wandoujia.com/apps/com.liu.sportnews

(欢迎大家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
  3. 当时我个人完成app的开发时,觉得基础真的很重要,特别是Java的基础,如果java基础不好,你的代码没办法写得漂亮,所以我花了10天左右的时间,写了一个系列的java系列的博客文章(我是真的认真写了这个系列的博客)让我意外的是,本来我对博客不怎么维护,写安卓博客文章的时候,更多是用来做笔记,所以总访问量只有1000+,自从写了java的文章之后,一个月,访问量就上到了6000+,可能这就是认真写博客的收获吧:Java系列博客

结尾

  1. 这篇文章,本人是真的用心去写,如果读者认为我写的还可以或者app的体验还可以,欢迎去下载使用和github star。
  2. 后台开发的功能,如登录注册,发帖,更新个人信息,评论等,电脑里没有服务端,是使用不了这些功能的,由于7月时,我对后台也不是很熟悉,只会简单得jsp,servlet和jdbc等,所以后台都是用servlet来写得,现在学习了ssh,ssm之类的框架,觉得之前写的实在不好,不过那也是初学者必须经过的路,所以还是不放在github了
发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Struts2常用标签详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。