1.LauncherApplication的作用意义分析
概括:LauncherApplication属于自定义的Application类,并在AndroidManifest.xml里指定了自定义Application类,如下:
<application
android:name="com.android.launcher2.LauncherApplication"
android:process="@string/process"
android:label="@string/application_name"
android:icon="@drawable/ic_launcher_home">
</application>
作用:
a.创建全局使用的应用程序快捷方式的缓存.
IconCache,即在LauncherApplication中创建.
b.创建全局使用的数据库加载类LauncherModel.
c.为LauncherModel注册package remove,update相关的Boradcast.为LauncherModel 注册favorites 修改的observer.
// Register intent receivers
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addDataScheme("package");
registerReceiver(mModel, filter);
filter = new IntentFilter();
filter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
filter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
registerReceiver(mModel, filter);
// Register for changes to the favorites
ContentResolver resolver = getContentResolver();
resolver.registerContentObserver(LauncherSettings.Favorites.CONTENT_URI, true,
mFavoritesObserver);
d.提供全局使用的LauncherModel的入口.
LauncherModel getModel() {
return mModel;
}
e.(父类)提供获取PackageManager,Resource,相关资源的方法.
LauncherModel.java
app.getPackageManager().getDefaultActivityIcon();
app.getResources().getInteger();
f.提供Context作用.
2.IconCache
概括:
这个类是提供系统全局使用的应用程序基本信息(title,icon)的缓存信息.这样每次使用的时候都能够从系统里很快得到.
作用:
a.声明内部类对应存储应用程序的基本信息,因为home的作用就是需要展现这些东西。
private static class CacheEntry {
public Bitmap icon;
public String title;
public Bitmap titleBitmap;
}
b.提供应用程序的默认图标.
private Bitmap makeDefaultIcon();
c.提供全局的缓存信息.
private final HashMap<ComponentName, CacheEntry> mCache;
3.LauncherModel
概括:
在程序包,以及程序的快捷方式更改,添加时,更新数据库的表。加载更新workspace,all apps view的程序及快捷方式.
作用:
a.声明接口Callbacks,提供了一系列加载程序及快捷方式的抽象方法.
public interface Callbacks {
public boolean setLoadOnResume();
public int getCurrentWorkspaceScreen();
public void startBinding();
public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end);
public void bindFolders(HashMap<Long,FolderInfo> folders);
public void finishBindingItems();
public void bindAppWidget(LauncherAppWidgetInfo info);
public void bindAllApplications(ArrayList<ApplicationInfo> apps);
public void bindAppsAdded(ArrayList<ApplicationInfo> apps);
public void bindAppsUpdated(ArrayList<ApplicationInfo> apps);
public void bindAppsRemoved(ArrayList<ApplicationInfo> apps, boolean permanent);
public boolean isAllAppsVisible();
}
分享到:
相关推荐
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
junit-platform-launcher-1.7.0.jarjunit-platform-launcher-1.7.0.jar
junit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jar
标题 "pymol_launcher-2.6-cp311-cp311-win32.whl.zip" 提供的信息表明这是一个与Python相关的压缩包,其中包含了一个名为 "pymol_launcher-2.6-cp311-cp311-win32.whl" 的文件,它是一个Python的wheel(whl)格式的...
匹配mirth3.9server
系统桌面-RELEASE-4.26.3.4214-123117.apk
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
3. ant-launcher.jar:这个组件是Ant启动器,它负责解析并执行Ant的构建脚本。ant-launcher.jar包含了启动Ant进程所需的类,使得用户可以简单地通过命令行执行"ant"命令来运行build.xml。它处理环境配置、任务定义...
标题中的“pymol_launcher-2.6-cp312-cp312-win32.whl.zip”是一个压缩文件,它包含了Python相关的软件包。这个文件的名称揭示了几个关键信息:`pymol_launcher`是软件包的名字,`2.6`是其版本号,`cp312`指的是它...
《Ant Launcher 1.7.0.jar:构建自动化利器详解》 在软件开发过程中,自动化构建工具起着至关重要的作用,它们能够有效地管理和构建项目,提高开发效率。Ant,作为Java领域内广泛应用的一款构建工具,因其灵活性和...
"python_embedded_launcher-0.5.1-py2.py3-none-any.whl" 文件就是这样一个Python库的封装形式,它是一个 Wheel 格式的文件。 Wheel是Python的一种二进制分发格式,它是为了解决Python的安装过程中的问题而设计的,...
赠送jar包:junit-platform-launcher-1.6.1.jar; 赠送原API文档:junit-platform-launcher-1.6.1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.6.1-sources.jar; 赠送Maven依赖信息文件:junit-platform-...
3. **解压文件**:使用`tar`命令解压下载的文件。 ```bash sudo tar -zxvf /path/to/download/jdk-8u241-linux-x64.tar.gz ``` 4. **设置环境变量**:为了让系统识别JDK,需要更新`JAVA_HOME`、`PATH`和`...
jupyterlab_launcher-0.13.1-py2.py3-none-any.whl
maven-osgi-plugin-launcher-framework-knopflerfish-1.0.8b.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.8b.jar
总之,“pymol_launcher-2.6-cp39-cp39-win32.whl.zip”是一个专为Python 3.9和Windows 32位系统设计的PyMOL_Launcher版本,它简化了PyMOL的启动和管理,使得分子可视化和相关研究变得更加高效。通过正确的安装和...
资源来自pypi官网。 资源全名:python_embedded_launcher-0.5.1-py2.py3-none-any.whl
标题中的"ant-launcher-1.7.1.jar.zip"是一个压缩文件,它包含了两个主要元素:`ant-launcher-1.7.1.jar`和`ant.license.txt`。这个压缩包主要用于Java开发环境,特别是与Apache Ant相关的项目。 **Apache Ant** 是...
标签:ant-launcher-1.8.3.jar,ant,launcher,1.8.3,jar包下载,依赖包