首页

源码搜藏网

首页 > 安卓源码 > 功能分类 > 项目源码 >

OSChina开源中国 Android Design 客户端

创建时间:2016-12-22 11:00  

OSChina开源中国 Android Design 客户端
OSChina开源中国 Android Design 客户端
暂无演示 立即下载

这是根据开源中国社区上Android客户端的开源代码修改而来的,把原版的客户端修改为Design风格。
去掉了每次启动时出现的画面,改为首次安装时显示。主页改为ViewPager+Fragment。
将部分按钮放进的操作栏中。修改发帖时,回复时的输入框。替换掉原版中的大部分图标。

增加浏览器页面跳转至APP功能。

这是打包好的APk

  

  

  

 

 

开源中国社区 Android Design客户端项目简析

根据OSChina的android开源代码修改而来的。适用于Android手机使用。
依赖的项目:
android-support-v4,使低版本的Android支持Fragment。
android-support-v7,使低版本的Android支持ActionBar。
android-support-v4-preferencefragment,使低版本的Android支持PreferenceFragment。

与原项目的变化:
删除Main.java类,用MainActivity.java来代替,MainActivity来管理其它的MainFragment。

Mian.java中的功能分别由以下文件代替:

——————————————————————————————————NewMainFragment 三个页面
|
管理
|
最新新闻 NewsFragment———BlogFragment 最新博客、推荐阅读

————————————————————————————————QuestionMainFragment 五个页面
|
管理
|

QuestionFragment 问答、分享、综合、职业、站务

—————————————————————————————————TweetMainFragment 三个页面
|
管理
|
最新动弹、热门动弹 TweetFragment————UesrTweetFragment 我的动弹

—————————————————————————————————ActiveMainFragment 五个页面
|
管理
|
最新动态、我、评论、我自己 ActiveFragment————MessageFragment 我的消息

BadgeView的状态和页面数据分离到BadgeManager.java和HandlerManager.java这两个单例来管理。

未完成待续...

注:本文假设你已经有Android开发环境

启动Eclipse,点击菜单并导入Android客户端项目,请确保你当前的Android SDK是最新版。

如果编译出错,请修改项目根目录下的 project.properties 文件。

推荐使用Android 4.0 以上版本的SDK,请使用JDK1.6编译:

target=android-15

本项目采用 GPL 授权协议,欢迎大家在这个基础上进行改进,并与大家分享。

下面将简单的解析下项目:

一、项目的目录结构

根目录

├ src

├ libs

├ res

├ AndroidManifest.xml

├ LICENSE.txt

├ proguard.cfg

└ project.properties

1、src目录

src目录用于存放项目的包及java源码文件。

下面是src目录的子目录:

src

├ com.weibo.net

├ greendroid.widget

├ net.oschina.app

├ net.oschina.app.adapter

├ net.oschina.app.api

├ net.oschina.app.bean

├ net.oschina.app.common

├ net.oschina.app.fragment

├ net.oschina.app.interface

├ net.oschina.app.ui

└ net.oschina.app.widget

2、libs目录

libs目录用于存放项目引用到的jar包文件。

下面是在原项目上增加的jar包文件:

libs

└ android-support-v4.jar

3、res目录

res目录用于存放项目的图片、布局、样式等资源文件。

下面是res目录的子目录:

res

├ anim

├ color

├ drawable

├ drawable-hdpi

├ drawable-ldpi

├ drawable-mdpi

├ layout

├ menu

├ raw

├ values

├ values-14

└ xml

4、AndroidManifest.xml

AndroidManifest.xml用于设置应用程序的版本、主题、用户权限及注册Activity等。

二、项目的功能流程

1、APP启动流程

AndroidManifest.xml注册的启动界面为"AppStart",具体文件为net.oschina.app\AppStart.java文件。
检查是否安装后的第一次启动,是的话显示欢迎界面之后,通过意图(Intent)跳转到首页(net.oschina.app.ui\Main.java)。
不是第一次启动的话,直接跳转到首页。

注:除启动界面之外,其他所有界面都放在src\net.oschina.app.ui和src\net.oschina.app.fragment包中。

2、APP访问API流程

以首页资讯列表显示访问API数据为例:

1) 初始化控件

首页MainActivity(MainActivity.java)在onCreate()方法里面加载布局文件(main_activity_layout.xml),对下拉刷新列表控件(PullToRefreshListView)进行了初始化,并设置了数据适配器(ListViewNewsAdapter)。

注:main_activity_layout.xml布局文件在res\layout目录下;PullToRefreshListView控件在net.oschina.app.widget包;ListViewNewsAdapter适配器在net.oschina.app.adapter包。

2) 异步线程访问

列表控件初始化后,开启一个线程方法(loadLvNewsData()),该方法中调用全局应用程序类(AppContext)来访问API客户端类(ApiClient)。通过ApiClient以http方式请求服务器的API。返回响应的XML数据,再通过实体Bean(NewsList)解析XML,返回实体(NewsList)给UI控件(PullToRefreshListView)展示。

注:AppContext全局应用程序类在net.oschina.app包;ApiClient API客户端类在net.oschina.app.api包。

 

3) 解析数据显示

服务得到请求,将返回对应的资讯XML数据,再通过资讯实体类(NewsList)解析XML,返回实体(NewsList)给UI控件(PullToRefreshListView)展示。

上一篇:android开发 V2EX社区客户端源码
下一篇:基于MaterialDesign + MVP + Retrofit2的NBA客户端

相关内容

热门推荐