android手把手教你开发launcher(一)(AndroidStudio版)

auncher,也就是android的桌面应用程序。下图是android2.3的launcher应用程序:

   

接下来我们要开发一个自己的launcher,使其替代系统的默认launcher。
怎样使我们的应用程序成为一个launcher?

下面我们就新建一个叫做SAOLauncher的工程,具体步骤略。创建完工程后整个目录结构如下图:
   android手把手教你开发launcher(一)(AndroidStudio版)_第1张图片

现在我们的AndroidManifest.xml文件这样的:

  
  
  
  
[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.sljjyy.sao.launcher"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.     <uses-sdk  
  7.         android:minSdkVersion="7"  
  8.         android:targetSdkVersion="16" />  
  9.     <application  
  10.         android:allowBackup="true"  
  11.         android:icon="@drawable/ic_launcher"  
  12.         android:label="@string/app_name"  
  13.         android:theme="@style/AppTheme" >  
  14.         <activity  
  15.             android:name="com.sljjyy.sao.launcher.MainActivity"  
  16.             android:label="@string/app_name" >  
  17.             <intent-filter>  
  18.                 <action android:name="android.intent.action.MAIN" />  
  19.                 <category android:name="android.intent.category.LAUNCHER" />  
  20.             </intent-filter>  
  21.         </activity>  
  22.     </application>  
  23. </manifest>  
请注意<intent-filter>
</intent-filter>里面的内容。
下面我们在其中添加上以下两行:
 
  
  
 
[html]  view plain copy print ?
  1. <category android:name="android.intent.category.HOME" />  
  2. <category android:name="android.intent.category.DEFAULT" />  



此时AndroidManifest.xml文件是这样:
  
  
  
  
[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.sljjyy.sao.launcher"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.     <uses-sdk  
  7.         android:minSdkVersion="7"  
  8.         android:targetSdkVersion="16" />  
  9.   
  10.     <application  
  11.         android:allowBackup="true"  
  12.         android:icon="@drawable/ic_launcher"  
  13.         android:label="@string/app_name"  
  14.         android:theme="@style/AppTheme" >  
  15.         <activity  
  16.             android:name="com.sljjyy.sao.launcher.MainActivity"  
  17.             android:label="@string/app_name" >  
  18.             <intent-filter>  
  19.                 <action android:name="android.intent.action.MAIN" />  
  20.                 <category android:name="android.intent.category.LAUNCHER" />  
  21.                 <category android:name="android.intent.category.HOME" />  
  22.                 <category android:name="android.intent.category.DEFAULT" />  
  23.             </intent-filter>  
  24.         </activity>  
  25.     </application>  
  26. </manifest>  
此时运行程序,我们看不到任何特别之处。当按下home键时(模拟器上按下home会调出桌面应用),程序如图:  
android手把手教你开发launcher(一)(AndroidStudio版)_第2张图片
我们看到了,我们开发的SAO Launcher跟Xperia主页(索尼的home)出现在了一起。 
重启,我们看到我们自己的程序已经可以作为home来运行了。
ok。 第一步完成了:把我们的应用程序作为home。

总结一下:要把我们的应用程序作为home,只需要在AndroidManifest.xml中添加:
 <category android:name="android.intent.category.HOME" />

 <category android:name="android.intent.category.DEFAULT" />


android手把手教你开发launcher(一)(AndroidStudio版)

android手把手教你开发launcher(二)——列出安装的应用程序

android手把手教你开发launcher(三)——启动安装的应用程序

android手把手教你开发launcher(四)——显示widget

android手把手教你开发launcher(五)——设置壁纸


转自:http://www.bangchui.org/read.php?tid=11694

原本为Eclipse版,本文红色部分为小夜修改部分,查看原文请点击以上链接

你可能感兴趣的:(android手把手教你开发launcher(一)(AndroidStudio版))