Launcher开发——入门篇
来源:互联网 发布:数据库点赞表 编辑:程序博客网 时间:2024/06/12 21:08
文章概述:
1.什么是Launcher
2.新建一个Launcher工程
3.Apps去哪了
4.显示桌面背景
什么是Launcher
对于初级开发者来说launcher可能还有些陌生,它俗称“HomeScreen”也就是我们开机后看到的第一个App。launcher其实就是一个app,它的作用用来显示和管理手机上其他App。目前市场上有很多第三方的launcher应用,比如“小米桌面”、“91桌面”等等,今天我就来说一下如何开发一款自己的launcher应用。
新建一个Launcher工程
首先我们在Android studio中新建一个工程(这里就不再赘述)。要把我们的应用程序作为一个Launcher,就需要要在AndroidManifest.xml中添加:
此时我们的AndroidManifest.xml中应该是这样的:
当我们运行程序时可能会觉得和平常并没有不一样的地方,但是当我们点击Home键之后就会看到选择桌面的提示:
可以看到我们开发的“Mylauncher”跟Android自带的Google Now Launcher出现在了一起。 点击我们自己的App并选择always,这样我们的应用程序就成为了系统的Home了。
Apps去哪了
在探讨如何显示你的Apps之前我们先来学习一下什么是PackageManager。
这个类是用于检索设备上应用程序的各种相关信息,您可以通过getPackageManager()来获取它。
通俗一点来说PackageManager是用于获取Android系统中应用程序的信息,查询Application相关信息(application,activity,receiver,service,provider及相应属性等)、查询已安装应用、增加或删除permission、清除用户数据、缓存,代码段等。既然我们需要显示我们所有的App,那自然少不了它的帮助。
我们可以调用PackageManager的queryIntentActivities()方法来获取一个关于App信息(ResolveInfo)的集合,这个ResolveInfo对象中就包含了应用程序的程序名、包名、入口类名等信息。代码如图所示:
当我们获取了ResolveInfo集合后就可以了,我这里采用的是用一个GridView来显示所有的App信息,示例代码如下:
能显示了还不算我们还要能点击跳转( ´・◡・`),给GridView的item添加单击事件:
经过这么几步之后,我们的launcher就可以显示所有的App并可点击跳转了。但是读者可能又会吐槽了,没有壁纸也好意思说自己是桌面?没关系,我们的背景马上就来~
设置桌面背景
首先第一步我们需要先让背景显示出来,在res/valuses/styles.xml文件下添加如下代码:
接着在AndroidManifest.xml中使用这个Theme:
当我们再次运行程序时就可以显示我们的桌面了,一个简单的Launcher应用也就开发完成了。
- Launcher开发——入门篇
- Launcher开发——入门篇
- Android UI开发第二十篇——仿launcher的左右滑动
- android手把手教你开发launcher——设置壁纸
- Android Launcher--简易Launcher开发
- Android Launcher -- 简易Launcher开发
- Android Launcher--简易Launcher开发
- Android Launcher--简易Launcher开发
- Android Launcher--简易Launcher开发
- Android开发:Launcher之Dock细节篇
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- Android Launcher开发学习--简易Launcher开发
- Android—launcher 启动流程
- android手把手教你开发launcher(二)——列出安装的应用程序
- android手把手教你开发launcher(三)——启动安装的应用程序
- android手把手教你开发launcher(四)——显示widget
- android手把手教你开发launcher(五)——设置壁纸
- 【bzoj 2212】Tree Rotations(线段树合并)
- 水王争霸 训练
- 关于android双卡手机sim卡信息采集适配的心得
- 使用dom4j框架
- Iptables
- Launcher开发——入门篇
- 树莓派通讯数据plot
- 学习Binder笔记
- 推荐引擎初探
- python实现pat 1033. To Fill or Not to Fill (25)
- Linux内核移植和根文件系统制作(详细步骤精讲)
- Android 3种坐标系、View在各坐标系下获取自身坐标的方法、View的滑动方式和scroll方法
- 创建xml文档并输出保存(第二种)
- 交互设计有没有标准化的流程