android-app
===========
# **开源中国社区 Android 客户端项目简析** #
*注:本文假设你已经有Android开发环境*
启动Eclipse,点击菜单并导入Android客户端项目,请确保你当前的Android SDK是最新版。<br>
如果编译出错,请修改项目根目录下的 project.properties 文件。<br>
推荐使用Android 4.0 以上版本的SDK:
> target=android-15
**本项目采用 GPL 授权协议,欢迎大家在这个基础上进行改进,并与大家分享。**
下面将简单的解析下项目:
## **一、项目的目录结构** ##
> 根目录<br>
> ├ src<br>
> ├ libs<br>
> ├ res<br>
> ├ AndroidManifest.xml<br>
> ├ LICENSE.txt<br>
> ├ proguard.cfg<br>
> └ project.properties<br>
**1、src目录**<br>
src目录用于存放项目的包及java源码文件。
下面是src目录的子目录:
> src<br>
> ├ com.weibo.net<br>
> ├ greendroid.widget<br>
> ├ net.oschina.app<br>
> ├ net.oschina.app.adapter<br>
> ├ net.oschina.app.api<br>
> ├ net.oschina.app.bean<br>
> ├ net.oschina.app.common<br>
> ├ net.oschina.app.ui<br>
> └ net.oschina.app.widget<br>
- com.weibo.net — 新浪微博SDK源码包
- greendroid.widget — 快捷菜单栏组件(国外UI库[GreenDroid](http://www.oschina.net/p/greendroid))
- net.oschina.app — APP启动及管理包
- net.oschina.app.adapter — APP列表适配器包
- net.oschina.app.api — API访问包
- net.oschina.app.bean — APP实体包
- net.oschina.app.common — APP工具包
- net.oschina.app.ui — APP界面包
- net.oschina.app.widget — APP控件包
**2、libs目录**<br>
libs目录用于存放项目引用到的jar包文件。
下面是libs目录里的jar包文件:
> libs<br>
> └ commons-httpclient-3.1.jar<br>
- commons-httpclient-3.1.jar — Apache的HttpClient包
**3、res目录**<br>
res目录用于存放项目的图片、布局、样式等资源文件。
下面是res目录的子目录:
> res<br>
> ├ anim<br>
> ├ color<br>
> ├ drawable<br>
> ├ drawable-hdpi<br>
> ├ drawable-ldpi<br>
> ├ drawable-mdpi<br>
> ├ layout<br>
> ├ menu<br>
> ├ raw<br>
> ├ values<br>
> └ xml<br>
- anim — 动画效果
- color — 颜色
- drawable/drawable-hdpi/drawable-ldpi/drawable-mdpi — 图标、图片
- layout — 界面布局
- menu — 菜单
- raw — 通知音
- values — 语言包和样式
- xml — 系统设置
**4、AndroidManifest.xml**<br>
AndroidManifest.xml用于设置应用程序的版本、主题、用户权限及注册Activity等。
## **二、项目的功能流程** ##
#### 1、APP启动流程 ####
AndroidManifest.xml注册的启动界面为"AppStart",具体文件为net.oschina.app\AppStart.java文件。启动显示欢迎界面之后,通过意图(Intent)跳转到首页(net.oschina.app.ui\Main.java)。<br>
*注:除启动界面之外,其他所有界面都放在src\net.oschina.app.ui包中。*
#### 2、APP访问API流程 ####
以首页资讯列表显示访问API数据为例:
**1) 初始化控件**<br>
首页Activity(Main.java)在onCreate()方法里面加载布局文件(Main.xml),对下拉刷新列表控件(PullToRefreshListView)进行了初始化,并设置了数据适配器(ListViewNewsAdapter)。<br>
*注:Main.xml布局文件在res\layout目录下;PullToRefreshListView控件在net.oschina.app.widget包;ListViewNewsAdapter适配器在net.oschina.app.adapter包。*
**2) 异步线程访问**<br>
列表控件初始化后,开启一个线程方法(loadLvNewsData()),该方法中调用全局应用程序类(AppContext)来访问API客户端类(ApiClient)。通过ApiClient以http方式请求服务器的API。返回响应的XML数据,再通过实体Bean(NewsList)解析XML,返回实体(NewsList)给UI控件(PullToRefreshListView)展示。<br>
*注:AppContext全局应用程序类在net.oschina.app包;ApiClient API客户端类在net.oschina.app.api包。*
**3) 解析数据显示**<br>
服务得到请求,将返回对应的资讯XML数据,再通过资讯实体类(NewsList)解析XML,返回实体(NewsList)给UI控件(PullToRefreshListView)展示。<br>
*注:NewsList实体类在net.oschina.app.bean包。*
没有合适的资源?快使用搜索试试~ 我知道了~
开源中国客户端源码(oschina)
共1413个文件
png:574个
class:541个
xml:158个
5星 · 超过95%的资源 需积分: 10 229 下载量 98 浏览量
2013-05-13
17:19:17
上传
评论 2
收藏 7.71MB RAR 举报
温馨提示
这是一款可以使用的android开源中国客户端源码,大家可以下载运行并学习。
资源推荐
资源详情
资源评论
收起资源包目录
开源中国客户端源码(oschina) (1413个子文件)
resources.ap_ 1.58MB
oschina-android-app.apk 1.95MB
proguard.cfg 1KB
Main.class 36KB
AppContext.class 34KB
ApiClient.class 34KB
UIHelper.class 27KB
Utility.class 20KB
QuestionDetail.class 18KB
UserCenter.class 17KB
R$id.class 17KB
NewsDetail.class 16KB
BlogDetail.class 16KB
ImageUtils.class 16KB
TweetDetail.class 15KB
R$drawable.class 13KB
SoftwareLib.class 12KB
TweetPub.class 11KB
MessageDetail.class 10KB
UserInfo.class 10KB
Weibo.class 10KB
UpdateManager.class 10KB
BadgeView.class 10KB
FileUtils.class 9KB
SoftwareDetail.class 8KB
URLs.class 8KB
Search.class 8KB
ImageZoomDialog.class 8KB
QuickActionWidget.class 7KB
PullToRefreshListView.class 7KB
AppException.class 7KB
UserFavorite.class 7KB
UserFriend.class 7KB
HttpHeaderFactory.class 7KB
News.class 7KB
Active.class 7KB
WeiboDialog.class 7KB
User.class 6KB
ListViewCommentAdapter.class 6KB
ScrollLayout.class 6KB
Post.class 6KB
AppConfig.class 6KB
ListViewActiveAdapter.class 6KB
QuestionTag.class 6KB
Setting.class 6KB
Comment.class 6KB
R$string.class 6KB
NewsDetail$12.class 6KB
UserInformation.class 6KB
SoftwareDetail$6.class 5KB
ListViewMessageDetailAdapter.class 5KB
LoginDialog.class 5KB
Tweet.class 5KB
ListViewMessageAdapter.class 5KB
Software.class 5KB
ListViewTweetAdapter.class 5KB
Result.class 5KB
BitmapManager.class 5KB
SinaWeiboHelper.class 5KB
ActiveList.class 5KB
QuickActionBar.class 5KB
Blog.class 5KB
QuestionDetail$11.class 5KB
Messages.class 5KB
CommentList.class 5KB
MyInformation.class 5KB
BlogDetail$11.class 4KB
BlogCommentList.class 4KB
StringUtils.class 4KB
TweetDetail$13.class 4KB
QuestionDetail$17.class 4KB
ListViewQuestionAdapter.class 4KB
TweetPub$13.class 4KB
BlogDetail$17.class 4KB
NewsDetail$18.class 4KB
QuestionPub.class 4KB
NewsList.class 4KB
UpdateManager$2.class 4KB
CommentPub.class 4KB
BroadCast.class 4KB
MessagePub.class 4KB
SearchList.class 4KB
SoftwareLib$9.class 4KB
SoftwareList.class 4KB
QuestionTag$5.class 4KB
WeiboDialog$WeiboWebViewClient.class 4KB
UserFavorite$5.class 4KB
MessageList.class 4KB
UserFriend$4.class 4KB
HtmlRegexpUtils.class 4KB
TweetList.class 4KB
BlogList.class 4KB
TweetDetail$14.class 4KB
MessageDetail$9.class 4KB
PostList.class 4KB
FavoriteList.class 4KB
Main$33.class 4KB
QuestionDetail$7$1.class 4KB
MessageForward.class 4KB
NewsDetail$8$1.class 4KB
共 1413 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
jindegegesun
- 粉丝: 69
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
- 基于Python实现的手写数字识别系统源码.zip
- 从网页提取禁止转载的文字
- C语言基础-C语言编程基础之Leetcode编程题解之第32题最长有效括号.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页