
OSChina Android源代码剖析
wangchun8926
这个作者很懒,什么都没留下…
展开
-
OSChina Android源代码剖析(4)—app首页分析之UI分析
一、首页UI分析 先来看看首页的界面 根据此页面我们再来看看对应的布局文件 下面就来分析一下此布局文件 1.首先是一个main_header,我们打开此main_header文件来一睹其芳容 此文件代表的UI为: 2.接下来是一个自定义的ScrollLayout,该控件可以左右滑动切换页面,继承于ViewGroup 3.然后包含了4个layout,分别代表 a.原创 2012-12-30 22:15:00 · 3505 阅读 · 1 评论 -
OSChina Android客户端源码剖析(1)—环境搭建
一、首先下载Eclipse+ADT+Android SDK,(下载过程省略),下载完成后(mac)应该是如下图所示 二、安装Eclispe git插件 打开Eclipse-->help-->Eclipse market 在find中输入git,第一个结果即是需要安装的插件 为什么要安装此插件? 因为oschina源码是在github(https://git原创 2012-12-29 17:51:01 · 3579 阅读 · 0 评论 -
OSChina Android客户端源码剖析(2)—项目架构解析
一、项目的目录结构 根目录 ├ src ├ libs ├ res ├ AndroidManifest.xml ├ LICENSE.txt ├ proguard.cfg └ project.properties 1、src目录 src目录用于存放项目的包及java源码文件。 下面是src目录的子目录: src ├ com.weibo.net ├ gre原创 2012-12-30 21:38:30 · 3316 阅读 · 0 评论 -
OSChina Android源代码剖析(3)—app启动流程分析
一、app是怎样启动的 android项目中通过在manifest.xml文件中配置launcher activity来启动应用程序,首先我们查看oschina的manifest文件,如下图 如图所示可以看到充当launcher的是AppStart Activity,我们查看AppStart的源代码 可以看到通过一个动画渐变的方式来跳转到主页,其中setAnimationListen原创 2012-12-30 21:50:53 · 2990 阅读 · 0 评论 -
OSChina Android源代码剖析(5)—首页代码逻辑分析之广播接收器
一、打开Main.java文件,找到其onCreate方法,我们知道onCreate方法是Activity生命周期方法之一,通常做一些程序的初始化工作。在Main.java的onCreate方法中,首先初始化了一个广播接收器 那么,何为广播接收器呢,请参照另一篇博客 我们可以看到,该广播使用动态注册方式来进行注册的,那么该广播是在什么时候发送的呢? 在TweetPub.java中有这么一原创 2013-01-01 14:30:24 · 2126 阅读 · 0 评论 -
OSChina Android源代码剖析(6)—首页代码逻辑分析之初始化
继续昨天的讲解,昨天讲到了在Main.java中实现了一个广播接收程序,之后,是一系列的初始化操作 一、网络连接的判断 这里的appContext是一个全局的应用程序类,是Application类的子类,关于Application,官方的解释是: 再来看isNetworkConnected方法 该方法首先获得ConnectivityManager,然后获得NetworkInfo原创 2013-01-05 22:43:13 · 2294 阅读 · 1 评论 -
OSChina Android源代码剖析(7)-异步加载数据
接着昨天的初始化listview方法,今天重点介绍initNewsListView方法 该部分代码主要是为首页的咨询页面准备数据以及初始化相关点击事件的操作,接下来进入重点介绍的加载数据的逻辑 我们可以看到该方法开启了一个线程,在该线程的run方法中,获取NewsList对象 该列表数据有可能从网络中获取,也有可能从缓存中获取 接着,回到异步加载数据的主方法,涉及到了h原创 2013-01-06 10:50:11 · 1734 阅读 · 0 评论 -
OSChina Android源代码剖析(8)-咨询详情页的分析(a)
一、关于android中双击事件的实现 打开NewsDetail.java文件,在onCreate方法中有一个regOnDoubleEvent方法 可以看到,在该方法中用到了GestureDetector类以及该类的一个接口SimpleOnGestureListener,该类表示的是一个手势,其中的onDoubleTap方法的意思是: 接下来的逻辑也就是执行全屏与非全屏的转换原创 2013-01-10 23:02:38 · 1783 阅读 · 1 评论