brook android 客户端,GitHub - reaverbrook/android-app: 本项目已经迁移到 git.oschina.net ,此处不再更新!...
android-app
开源中国社区 Android 客户端项目简析
注:本文假设你已经有Android开发环境
启动Eclipse,点击菜单并导入Android客户端项目,请确保你当前的Android SDK是最新版。
如果编译出错,请修改项目根目录下的 project.properties 文件。
推荐使用Android 4.0 以上版本的SDK:
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.ui
└ net.oschina.app.widget
com.weibo.net — 新浪微博SDK源码包
greendroid.widget — 快捷菜单栏组件(国外UI库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目录
libs目录用于存放项目引用到的jar包文件。
下面是libs目录里的jar包文件:
libs
└ commons-httpclient-3.1.jar
commons-httpclient-3.1.jar — Apache的HttpClient包
3、res目录
res目录用于存放项目的图片、布局、样式等资源文件。
下面是res目录的子目录:
res
├ anim
├ color
├ drawable
├ drawable-hdpi
├ drawable-ldpi
├ drawable-mdpi
├ layout
├ menu
├ raw
├ values
└ xml
anim — 动画效果
color — 颜色
drawable/drawable-hdpi/drawable-ldpi/drawable-mdpi — 图标、图片
layout — 界面布局
menu — 菜单
raw — 通知音
values — 语言包和样式
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包中。
2、APP访问API流程
以首页资讯列表显示访问API数据为例:
1) 初始化控件
首页Activity(Main.java)在onCreate()方法里面加载布局文件(Main.xml),对下拉刷新列表控件(PullToRefreshListView)进行了初始化,并设置了数据适配器(ListViewNewsAdapter)。
注:Main.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)展示。
注:NewsList实体类在net.oschina.app.bean包。
brook android 客户端,GitHub - reaverbrook/android-app: 本项目已经迁移到 git.oschina.net ,此处不再更新!...相关推荐
- android客户端中间人攻击,Android 中间人攻击
0x00 Android中间人攻击的思路就是劫持局域网中被攻击机器和服务器间的对话.被攻击机器和服务器表面上工作正常,实际上已经被中间人劫持.可以从一张图来明白这个过程. 受攻击主机发送的数据,首先经 ...
- interlib android客户端开发,基于Android的移动图书馆设计与开发
[摘 要]随着移动 技术的发展,图书馆数字化的资源已不局限于在电脑上进行展示,手机已成为用户浏览图书 馆数字化资源的重要工具?本文根据笔者所在图书馆的服务需求进行分析,在图书馆Aleph5 00 20 ...
- android客户端功能,搜狐微博Android客户端最新版 功能丰富 界面友好
搜狐上线微博客户端Android 2.0.0 Beta版,此版本在诸多功能方面做了改进,功能更加丰富,操作更加高效,界面更加友好,更加方便用户随时随地与朋友分享身边的精彩.官方下载地址:http:// ...
- interlib android客户端开发,基于Android移动图书馆设计与开发.doc
基于Android移动图书馆设计与开发 基于Android移动图书馆设计与开发 [摘 要]随着移动 技术的发展,图书馆数字化的资源已不局限于在电脑上进行展示,手机已成为用户浏览图书 馆数字化资源的重要 ...
- Android在github上下载的开源项目出现这个问题
PHP网络 Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found. 2015-04-27 17:02 ...
- android+饭否+开源,GitHub - mcxiaoke/fanfouapp-opensource: 饭否Android客户端开源项目
饭否Android客户端开源版 最新说明: 这个项目早就没有更新了,界面也比较陈旧,无论是学习还是修改自用都不是很合适,建议使用蘑菇饭项目的源码,地址是: Introduction 饭否Android ...
- java并发小说爬虫,多站点搜索下载,并实现Android客户端开发
小说爬虫真的很简单,但要能优雅地使用却很麻烦.下面让我来诉说一下这几天的肝路历程.整个流程很完整,但不会很深入,主要是讲思路,给想要写类似功能的同学踩点坑,有什么细节问题直接评论就好. 文章目录 明确 ...
- 开源中国 Android 客户端 v2.8.4 代码开源
接着前天正式发布开源中国 Android 客户端 v2.8.4 之后,今天我们给大家带来该版本全部源码,敬请各位笑纳! 获取开源中国客户端 Android 版源码,请访问码云:http://git.o ...
- android将拦截短信通过邮箱发送,网易邮箱Android客户端推出 加速布局移动互联网...
继网易邮箱5.0版本发布后,网易邮件事业部又迅速推出重要的移动互联网战略产品--网易邮箱Android客户端.此前,网易在移动端上已陆续推出适配iPhone/iPad/Android系统的网页版智能邮 ...
最新文章
- 字节、腾讯、阿里的开发为啥都在用Python?网友:又酸又香!
- Git基本命令 -- 别名 + 忽略 + 推送
- 菜鸟做HTML5小游戏 - 刮刮乐
- Python交互模式方向键出现乱码
- 漫步最优化三十五——共轭
- 【jvm】java jstat 命令
- unity3d多个版本共存
- Slowquery图形化显示MySQL慢日志工具
- CSDN新手机号绑定不成功,提示已存在账号,CSDN换绑手机号的相关问题
- 配置ACL隔离交换机的VLAN
- java excel 超链接_Java 添加超链接至Excel文档
- IDEA mybatisplus 代码生成器的配置
- HTML,CSS,font-family:中文字体的英文名称 (比如:宋体 微软雅黑)的列表
- 表空间的空间管理算法
- Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法
- CET-4 week 6th -- 后缀
- 无线发射芯片A7105在RF短距离通信的应用
- 基于梯度下降算法自建一种短期有效的自回归模型
- Win10电脑清除运行窗口的历史记录
- 自然语言生成技术现状调查:核心任务、应用和评估(3)