今天博主要开第一个大项---Android 小型社交软件客户端开发技术栈+实践,如果博主有幸能不偷懒全部写完,那么如果你对Android 开发有兴趣,略有所知但没有独立完整开发过一个完整的应用,那么想必一定会有所收获。

博主比较随意,大致以模块来讲述,待到以后写博客经验丰富以后,慢慢重构。

简单说的话,一个 Android 社交软件客户端,可以分为将数据与服务器交互的通信模块,UI模块,数据和UI绑定模块,业务逻辑处理模块,这三个大项。


核心就是服务器获取数据->本地处理数据->UI展示->反馈数据->处理->发送到服务器->新的数据。


To do list (若无意外,我会按顺序来完成):

1. (已完成)Http请求模块,Volley+OkHttp。(获取数据,发送数据)  链接在这

2. 数据绑定选择(数据到UI,UI反馈数据 )   链接在这

3. 图片加载和缓存神器 Picasso   链接在这

4.  Fastjson (数据处理成JSON)  链接在这

5.  Adapter,RecyclerViewAdapter (数据到UI重要模块) 链接在这

6. 图片选择上传回调处理方案------Java回调, Rx Java + Rx Android (数据处理)  链接在这

7. 杂七杂八的小UI控件,造轮子+修改轮子+Github (UI模块)

8. 推送


其他想到在加


以下是技术栈+简介+链接


1. Http请求模块,Volley+OkHttp。(获取数据,发送数据)链接在这


a. 添加Volley库,并封装Volley为单例模式

b. 使用OkHttp实现 基于 com.android.volley.toolbox.HttpStack 这个借口的OkHttpStack。

c. 其中使用 com.franmontiel.persistentcookiejar 实现本地持久化Cookies。

d. 因为使用Aliyun OSS 作为图片服务器,所以需要用到 Multipart Request (Volley 没有提供) 所以 继承 com.android.volley.Request 实现Multipart Request。


2. 数据绑定选择(数据到UI,UI反馈数据)链接在这


博主有AngularJS的开发经验,对双向绑定十分喜爱,因此在开发之前就搜寻过有关DataBinding的技术。

Google在最新的SDK中已经加入了DataBinding的功能,详尽不在赘述(博主觉得不好用)

然后又发现了Butterkinfe 这个神器。


3. 图片加载和缓存神器 Picasso 链接在这


大名鼎鼎的Picasso,不再赘述

4.  Fastjson (数据处理成JSON)链接在这


阿里巴巴最著名开源库,不再赘述


5.  Adapter,RecyclerViewAdapter (数据到UI重要模块)链接在这


BaseRecyclerViewAdapter, 不再赘述。


6. 图片选择上传回调处理方案------Java回调, Rx Java + Rx Android (数据处理)链接在这


7. 杂七杂八的小UI控件,造轮子+修改轮子+Github (UI模块)


这一项多Google+Github即可。未来会开一个小题目来讲讲我在Android UI上遇到的坑。


8. 推送


我暂且使用了友盟推送。 案例(包含Node 服务端程序) 

更多相关文章

  1. Android(安卓)实践:做一款可用的天气 APP
  2. adb无线调试,摆脱数据线的束缚~
  3. 【翻译】App Architecture (Android架构组件) 指南
  4. android导入外部已存在的数据库大于1M的数据库文件方法
  5. Android数据驱动视图更新
  6. 见证Android消息推送时刻(源码及详解)
  7. Android应用程序之数据存储(一)
  8. Android(安卓)Rild模块源码分析
  9. android intent的跳转,页面传值

随机推荐

  1. 程序羊有知识星球了
  2. JavaScript 诞生25周年,这26个里程碑值得
  3. Apollo 源码解析 —— Portal 关联 Names
  4. 基于Spring Security Oauth2的SSO单点登
  5. Spring Job?Quartz?XXL-Job?年轻人才做选择,
  6. jQuery 3D焦点图动画,多种炫酷图片切换特
  7. 「webpack 核心特性」loader
  8. CSS3 3D旋转下拉菜单
  9. Apollo 源码解析 —— 服务自身配置 Serv
  10. Apollo 源码解析 —— Config Service 记