博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月5日

摘要: 本来打算分析CellLayout的源码,不过因为它们之间是容器包含关系,所以打算先把PagedView分析。PagedView代码很多,今天主要是分析跟核心功能相关的代码。PagedView主要实现一个功能——页面滑动。 PagedView继承了ViewGroup类,是一个容器类,可以包含第三方的View,实际上Launcher里面的PagedView主要就是包含了CellLayout的显示。对于一个View类来说,我们触摸屏幕界面,首先会触发View类的onInterceptTouchEvent()回调函数。这个函数负责处理原始的消息驱动,决定是拦截消息还是传给上层的View。这个涉及... 阅读全文

posted @ 2013-07-05 19:32 泡泡糖 阅读(13800) 评论(0) 推荐(8) 编辑

2013年7月4日

摘要: 今天主要是分析一下Launcher里面的快捷方式导航条——HotSeat,一般我们使用手机底下都会有这个导航条,但是如果4.0的Launcher放到平板电脑里面运行,默认是没有HotSeat的,刚好我这里的运行环境类似平板,系统默认把HotSeat去掉了。办法,只能自己想办法把它弄出来,所以今天主要是分析如何在你Launcher上添加HotSeat以及分析HotSeat实现。 Hotseat配置是通过配置文件控制的,一般来说,你需不需要Hotseat只要在配件文件里面写一下就OK,不过Hotseat有一个比较麻烦的地方,就是需要注意横屏还是竖屏。默认竖屏的时候,Hotseat是屏幕底下的... 阅读全文

posted @ 2013-07-04 21:14 泡泡糖 阅读(12135) 评论(1) 推荐(0) 编辑

2013年7月2日

摘要: 今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下。这个程序说起来有些历史了,是我11年编写的,那时候学了Android开发没多久,算是一个实验性的作品。现在工作需要,重新拿出来修整。同时发现我对android的GPS服务了解并不深,所以今天特意阅读了有关GPS服务的一些资料,把相关知识点记录下来。 本人做了GPS相关的嵌入式软件已经几年了,所以说起要做个测试GPS定位模块的程序,第一反应就是串口读取GPS模块的数据,然后解析GPS的NMEA格式数据。NMEA是一种标准化数据格式,不仅仅GPS上应用了,其他一些工业通信也是使用这种标准化数据格式。解析相关数据然后显示出来... 阅读全文

posted @ 2013-07-02 23:37 泡泡糖 阅读(14289) 评论(18) 推荐(3) 编辑

摘要: 上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来,界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Launcher如何加载数据。在Launcher.java的onCreate()方法里面,调用了开始加载数据接口://Edited by mythou//http://www.cnblogs.com/mythou///加载启动数据if (!mRestoring) { mModel.startLoader(this, true);}mModel是LauncherModel的对象,由此可见,数据加载... 阅读全文

posted @ 2013-07-02 17:32 泡泡糖 阅读(11261) 评论(4) 推荐(3) 编辑

2013年6月30日

摘要: 这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库。Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库。我11年的时候也弄过视频播放器,当时也是基于FFMpeg来做。那时候网上有关Android视频解码库的资料不多,只在git上找到一个人移植FFMpeg,把它弄下来编译,有兴趣可以看看当时的文章:Android 视频播放器 faplayer 编译。言归正传,今天的主角是大名鼎鼎的VLC,做过视频播放器的人,应该都听过它大名,基本上所有平台都有它的身影。Android上今年也发布了beta版。这次编译不太顺利,主 阅读全文

posted @ 2013-06-30 18:17 泡泡糖 阅读(24432) 评论(26) 推荐(2) 编辑

2013年6月29日

摘要: 前几天开始写仿Win8 Metro界面文章,部分网友觉得不错,感谢各位的意见。本来今天一直在折腾Android VLC播放器,没时间写。不过明天休息,所以今天就抽时间先写一下。言归正传,我们都知道Win8的Metro界面只要手指一划,页面就跟着滑动(准确来说是按钮跟着滑动,背景其实没动),这个操作目前的Android和iPhone都是这种操作,个人感觉都是从iPhone借鉴来,滑动切换很早就有,不过按钮和壁纸分开滑动,这个还是iPhone时代开始。(这效果图是截了几张图弄的,所以看上去不流畅)类逻辑关系图1、界面逻辑层次开始说滑动前,先要解析一下屏幕显示的原理。我们都知道屏幕最后呈现出来的画面 阅读全文

posted @ 2013-06-29 12:11 泡泡糖 阅读(21989) 评论(0) 推荐(0) 编辑

2013年6月27日

摘要: 前面两篇文章都是写有关Launcher配置文件的修改,代码方面涉及不多,今天开始进入Launcher代码分析。我们开机启动Launcher,Launcher是由ActivityManager启动的,而ActivityManager是由systemserver启动。原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3157452.html1、Launcher进程启动过程可以由下面图看到Launcher进程是如何被创建启动:Activity Manager通过发送Intend来启动Launcher。//Edited by mythou//http://www 阅读全文

posted @ 2013-06-27 13:02 泡泡糖 阅读(17818) 评论(1) 推荐(2) 编辑

2013年6月26日

摘要: 去年用VC做了一个仿Win8 Metro风格的界面,感觉挺有意思,最近打算把实现过程和一些技术原理记录下来。主要是风格上类似Win8,其实功能上很多借鉴了Android的操作方式。界面只支持两种大小的Metro磁铁。原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3157205.html1、主要实现了以下功能:手指滑动切换页面。图标位置交换。从全部列表拖动添加到主页面。主页面按钮拖动添加删除操作。主页面按钮拖动添加到导航栏上。背景更换下面是一张最终桌面效果图:程序是运行在Wince上,不过是使用MFC开发,所以对PC开发也是同用。2、类图关系 要... 阅读全文

posted @ 2013-06-26 19:35 泡泡糖 阅读(13074) 评论(11) 推荐(3) 编辑

2013年6月25日

摘要: 上一篇文章说了如何修改Android自带Launcher2的默认界面设置(http://www.cnblogs.com/mythou/p/3153880.html)。 今天主要是说说Launcher里面图标、布局、壁纸等的设置问题。毕竟我们一般修改Launcher,这些都是需要修改的地方,也是比较容易修改的部分。按照效果图(效果图在上一篇文章),分开说明如何修改,以及里面涉及的逻辑分析。原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3155692.html1、图标大小和标题大小 Android原生图标大小都是通过配置文件设置,配置文件路径是/... 阅读全文

posted @ 2013-06-25 23:38 泡泡糖 阅读(26306) 评论(1) 推荐(4) 编辑

2013年6月24日

摘要: 最近工作都在修改Launcher,所以打算把分析源码和修改源码的过程记录下来,最近会写一些关于Launcher的分析和修改博文。因为我是修改4.0.3的Launcher,所以后面文章里面的Launcher都是基于Android4.0.3的Launcher2修改。Launcher源码比较多,而且里面应用了很多设计模式,要把它分析清楚要花不少精力,网上也有一些零碎的分析文章,不过关于修改的文章不多。所以打算写一些分析和修改Launcher结合的文章。原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3153880.html 今天主要是分析修改Launche. 阅读全文

posted @ 2013-06-24 23:17 泡泡糖 阅读(45609) 评论(8) 推荐(5) 编辑