OSChina Android源代码剖析(6)—首页代码逻辑分析之初始化
2013-01-05 22:43
423 查看
继续昨天的讲解,昨天讲到了在Main.java中实现了一个广播接收程序,之后,是一系列的初始化操作
一、网络连接的判断
这里的appContext是一个全局的应用程序类,是Application类的子类,关于Application,官方的解释是:
再来看isNetworkConnected方法
该方法首先获得ConnectivityManager,然后获得NetworkInfo来判断网络是否可用,很简单,只是简单的API调用,关于getSystemService的深入讲解,以后会讲到
二、页面数据的初始化
判断完网络及初始化登录信息后,接下里便进入了重点:页面数据的初始化
1.初始化头部视图
该段代码主要初始化了一些头部页面的数据,并设置了某些按钮的点击事件,包括搜索(资讯页面)、发帖(问答页面)、发布动弹(动弹页面)
2.初始化底部栏
特别注意fbSetting,点击该按钮会弹出一个自定义的对话框
实现这一效果的代码如下:
mGrid是一个在定义的UI,继承于PopupWindow(关于更多PopupWindow介绍),即弹出对话框
那么,mGrid是在哪里初始化的呢?
可以看到在此初始化了,并设置了相应的监听器
接下来是initPageScroll方法,该方法用于初始化整个app的水平滚动分页,要值得注意的是
这里为什么要*2?
请看footer的布局文件内容
button与button之间隔了一个imageview,所以这里要乘2
默认显示第一页(即第一个footer的icon为选中状态,不幸可在此处改为其他数值查看)
最后是初始化页面相关内容,并在不同tab页跳转时设置底部菜单的选中状态
紧接着时初始化各个主页的按钮
初始化通知信息标签控件
初始化所有的listview
好了,这就是今天要讲的初始化相关的内容!
一、网络连接的判断
这里的appContext是一个全局的应用程序类,是Application类的子类,关于Application,官方的解释是:
再来看isNetworkConnected方法
该方法首先获得ConnectivityManager,然后获得NetworkInfo来判断网络是否可用,很简单,只是简单的API调用,关于getSystemService的深入讲解,以后会讲到
二、页面数据的初始化
判断完网络及初始化登录信息后,接下里便进入了重点:页面数据的初始化
1.初始化头部视图
该段代码主要初始化了一些头部页面的数据,并设置了某些按钮的点击事件,包括搜索(资讯页面)、发帖(问答页面)、发布动弹(动弹页面)
2.初始化底部栏
特别注意fbSetting,点击该按钮会弹出一个自定义的对话框
实现这一效果的代码如下:
mGrid是一个在定义的UI,继承于PopupWindow(关于更多PopupWindow介绍),即弹出对话框
那么,mGrid是在哪里初始化的呢?
可以看到在此初始化了,并设置了相应的监听器
接下来是initPageScroll方法,该方法用于初始化整个app的水平滚动分页,要值得注意的是
这里为什么要*2?
请看footer的布局文件内容
button与button之间隔了一个imageview,所以这里要乘2
默认显示第一页(即第一个footer的icon为选中状态,不幸可在此处改为其他数值查看)
最后是初始化页面相关内容,并在不同tab页跳转时设置底部菜单的选中状态
紧接着时初始化各个主页的按钮
初始化通知信息标签控件
初始化所有的listview
好了,这就是今天要讲的初始化相关的内容!
相关文章推荐
- OSChina Android源代码剖析(5)—首页代码逻辑分析之广播接收器
- OSChina Android源代码剖析(4)—app首页分析之UI分析
- OSChina Android源代码剖析(8)-咨询详情页的分析(a)
- [原创]Android Lollipop (5.0) 原生代码 Settings 首页加载逻辑分析
- 《linux 内核完全剖析》 由逻辑地址转换成线性地址代码分析 get_base get_limit 代码分析笔记
- OSChina Android源代码剖析(3)—app启动流程分析
- Android Lollipop (5.0) 原生代码 Settings 首页加载逻辑分析
- oschina-app源码分析-提醒标签BadgeView使用逻辑流程
- MMO移动游戏性能分析报告:渲染、UI、逻辑代码和内存
- UCHome 网站首页index.php页面代码分析
- [深度学习]Python/Theano实现逻辑回归网络的代码分析
- 分析rk代码中fb的加载及逻辑
- 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程
- Linux内核初始化高端内存的过程(代码分析)
- nginx代码分析--进程和模块初始化
- hadoop核心逻辑shuffle代码分析-map端
- android4.0 的图库Gallery2代码分析(三) 之Applition的初始化准备
- hadoop核心逻辑shuffle代码分析-map端
- RT-thread组件初始化代码分析
- 《linux 内核完全剖析》 sys.c 代码分析