通过前两篇的分析,我们已经知道了LauncherModel的初始化及工作流程,如果您还不熟悉的话请看前两篇博文 android M Launcher之LauncherModel (一) android M Launcher之LauncherModel (二) 了解了LauncherModel的工作过程后,我们继续来学习LauncherModel中提供的一些工具,从而了解Google工程师在自家系上怎么开发的. 1.线程等待waitForIdle 我们在这个系列第二篇开始讲LoaderTask的r…
上一篇我们通过LauncherModel的创建 ,实例化,以及与LauncherModel之间的沟通方式.初步了解了LauncherModel一些功能及用法,如果对LauncherModel一系列初始化动作还不了解的可以看 android M Launcher之LauncherModel (一) 好了 接下来我们继续分析,大家都知道 LauncherModel是Launcher的数据中心,但是数据中心的数据是怎么加载出来的呢,这里就要说到LoaderTask了,它是LauncherModel的核…
众所周知 LauncherModel在Launcher中所占的位置,它相当于Launcher的数据中心,Launcher的桌面以及应用程序菜单中所需的数据像 桌面小部件的信息.快捷方式信息.文件信息.以及一些比较特殊的桌面页的信息等都是由它提供,因此我们这里来分析下LauncherModel的工作流程. 一.LauncherModel的创建 要了解LauncherModel,我们要从LauncherModel的实例化开始. LauncherModel是在Launcher应用程序被创建的时候,由L…
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html 从Launcher开始启动App流程源码分析 com.android.launcher.Launcher就是我们的Launcher页面了,可以看到Launcher其实也是一个Activity: public final class Launcher extends Activity implements View.OnClickListe…
前面一系列文章我们分析了LauncherModel的工作过程,它会把数据绑定到桌面上.从今天开始我们来分析下Launcher的数据来源即Launcher数据库的实现. 一个完整的数据库实现都应该包括两方面的内容,第一是数据库实体SQLiteOpenHelper的实现,第二是数据库ContentProvider的实现.数据库的实体包含了数据库实体以及相关的操作,ContentProvider负责数据库内容的访问接口实现. 1.Launcher数据库的实现 private static class…
Android开发中经常会有引导页或者切换页面等效果,本文采用ViewPager结合动画效果来实现仿Launcher以及页面切换的效果.源码地址在文章最后给出下载. 效果图如下:       1.Viewpager是个Android自带的View视图控件,要使用它,必须导入这个附加包android-support-v4.jar,如何导入到家必应搜索一下就知道了. 2.界面设计: 其实很简单就是一个简单页面,里面放一个ViewPager, <FrameLayout xmlns:android=&quo…
1. launcher是桌面应用程序 一. android.intent.category.LAUNCHER与android.intent.category.HOME的差别?      android.intent.category.LAUNCHER:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里.就是android开机后的主程序列表.      android.intent.category.HOME:按住"HOME"键,该程序显示在…
研究代码从:AndroidManifest.xml.自定义的Application.java开始. Android系统启动时,系统需要一个Home应用程序来负责将这些应用程序展示出来:也就是该应用的目的在于:Android系统启动后,第一个启动的应用程序.在Android系统中,这个默认的Home应用程序就是Launcher. 要把某个应用程序作为Home,只需要在Android.xml文件中添加一个category: <intent-filter> <action android:na…
这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了. 一.主要文件和类  1.Launcher.java:launcher中主要的activity. 2.DragLayer.java:launcher layout的rootview.DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步处理然后按情况分发下去,角色是一个controller.它首先用onInterceptTouchEvent(MotionEvent)来拦截所有的touch事件…
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Launcher应用程序的启动过程. Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而ActivityManagerService和PackageManagerService一样,都是在开机时由…