桌面应用基本创建流程


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><--主界面布局-->    <GridViewandroid:gravity="center_horizontal"android:stretchMode="columnWidth"android:columnWidth="100dp"android:horizontalSpacing="10dp"android:verticalSpacing="10dp"android:layout_width="match_parent"android:id="@+id/apps_list"android:numColumns="3"android:layout_height="match_parent">    </GridView>

</LinearLayout>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 <--清单文件中的配置-->
<application    android:name="com.way.launcher.SceneLauncherApplication"    android:icon="@drawable/ic_launcher_home"    android:label="@string/application_name"    android:theme="@android:style/Theme.Black.NoTitleBar" >    <activity        android:name="com.way.launcher.SceneLauncherActivity"        android:configChanges="orientation|keyboardHidden"        android:launchMode="singleTask"        android:screenOrientation="nosensor" >        <intent-filter>            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.HOME" />            <category android:name="android.intent.category.DEFAULT" />            <category android:name="android.intent.category.LAUNCHER" />        </intent-filter>    </activity>    <activity        android:name="com.way.launcher.SceneChooserActivity"        android:configChanges="orientation|keyboardHidden"        android:launchMode="singleTask"        android:screenOrientation="nosensor" /></application>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
public class MyHome extends Activity {private List<ResolveInfo> mApps;GridView mGrid;private AdapterView.OnItemClickListener listener = new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {ResolveInfo info = mApps.get(position);//设置点击item监听String pkg = info.activityInfo.packageName;//该应用的包名String cls = info.activityInfo.name; //应用的主activity类ComponentName componet = new ComponentName(pkg, cls);//设置跳转Intent i = new Intent();//发送意图i.setComponent(componet);startActivity(i);//启动被点击的activity}    };

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);loadApps();setContentView(R.layout.activity_main);mGrid = (GridView) findViewById(R.id.apps_list);mGrid.setAdapter(new AppsAdapter());//由于adapter是内部类,所以直接将数据传入adapter里面了mGrid.setOnItemClickListener(listener);}private void loadApps() {//查询所有安装的应用Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);mApps = getPackageManager().queryIntentActivities(mainIntent, 0);}

public class AppsAdapter extends BaseAdapter {public AppsAdapter() {}public View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;if (convertView == null) {                imageView = new ImageView(MyHome.this);imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);imageView.setLayoutParams(new GridView.LayoutParams(100, 100));} else {                imageView = (ImageView) convertView;}ResolveInfo info = mApps.get(position);imageView.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));return imageView;}public final int getCount() {return mApps.size();}

public final Object getItem(int position) {return mApps.get(position);}

public final long getItemId(int position) {return position;}}

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {return false;}//屏蔽返回键return super.onKeyDown(keyCode, event);}}
				
时间: 2024-12-11 06:26:09

桌面应用基本创建流程的相关文章

【Java基础】Java类的加载和对象创建流程的详细分析

相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下. 实例问题 实例代码 Parent类 1 package mytest.javaBase; 2 3 public class Parent { 4 int a = 10; 5 static int b = 11; 6 // 静态代码块 7 static { 8 System.out.println("Parent静态代码块:b=" + b)

[转]浅析/sys/class目录的创建流程

浅析/sys/class目录的创建流程 /sys/class目录创建成功之后,其他的driver就可以调用struct class *class_create(struct module *owner, const char *name);int class_register(struct class *cls);成功向class添加自己的目录和attr文件了.    因为sysfs是一个内存文件系统,所以文件的物理存储关系就需要使用sd来维护,因此sysfs_dirent即sd就类似于硬盘中的

openstack之虚拟机的创建流程

这篇博文静静的呆在草稿箱大半年了,如果不是因为某些原因被问到,以及因为忽略它而导致的损失,否则我也不知道什么时候会将它完成.感谢这段时间经历的挫折,让我知道不足,希望你能给我更大的决心! 本文试图详细地描述openstack创建虚拟机的完整过程,从用户发起请求到虚拟机成功运行,包括客户端请求的发出.keystone身份验证.nova-api接收请求.nova-scheduler调度.nova-computer创建.nova-network分配网络.对于每一个模块在创建虚拟机的过程中所负责的功能和

Java类的加载和对象创建流程的详细分析

相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下: package com.test; public class Parent { int a = 10; static int b =11; //静态代码块 static { System.out.println("parent静态代码块:b=" + b); b++; } //代码块 { System.out.println("P

Horizon View 6.0之桌面池的创建

1. 在"Inventory"下选择"Pool",在右则选择"Add" 2. 选择"Automated Pool",即选择自动池,另外两项分别为手动池和远程终端池 2. 选择"Dedicated",并勾选"Enable automatic assignment",第一个为专用模式,就用户和桌面是固定关系,桌面一旦分配,只能由该用户使用,其它用户无法使用,第二选项表示浮动,即桌面和用户不是

Magento代码之订单创建流程

Magento代码之订单创建流程         直接看代码吧.下面的代码是如何通过程序创建一个完美订单.        <?php        require_once 'app/Mage.php';                 Mage::app('default');//初始化程序,设置当前店铺                 $store = Mage::app()->getStore('default');        //通过电子邮件获取用户,当然也可以不获取,创建gues

UI进阶--控制器View的创建流程以及生命周期方法

控制器view的创建流程: 1.先加载loadView:如果有,即根据里面的代码创建: 2.loadView没有相关的代码,就根据Main.storyboard文件来创建,Main.storyboard有,即根据里面的描述创建; 3.Main.storyboard里面没有相关的界面,那么就会查找nibname的xib文件,如果有,即根据界面创建: 4.如果nibname文件找不到,那么就会找view.xib文件,如有,即根据界面创建: 5.如果viw.xib也没有,那么就直接找到viewCont

android源码解析(十六)--&gt;应用进程Context创建流程

今天讲讲应用进程Context的创建流程,相信大家平时在开发过程中经常会遇到对Context对象的使用,Application是Context,Activity是Context,Service也是Context,所以有一个经典的问题是一个App中一共有多少个Context? 这个问题的答案是Application + N个Activity + N个Service. 还有就是我们平时在使用Context过程中许多时候由于使用不当,可能会造成内存泄露的情况等等,这个也是需要我们注意的.这里有篇不错的

DJANGO 学生管理系统项目创建流程 -- 单表管理

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; f