精华内容
下载资源
问答
  • LauncherActivity 开发启动Activity的界面Demo
  • LauncherActivity开发启动的Activity列表

    千次阅读 2017-06-01 12:05:54
    今天介绍这个LauncherActivity。它可以启动多个Activity,在实例项目中经 常用到。 在主界面之外我另外创建了2个activity,用于开发Activity的启动列表。 这里的主界面Activity必需继承LauncherActiviity。然后就是...
    今天介绍这个LauncherActivity。它可以启动多个Activity,在实例项目中经
    常用到。
    在主界面之外我另外创建了2个activity,用于开发Activity的启动列表。这里的主界面Activity必需继承LauncherActiviity。然后就是把另外两个的Activity放进一个Class<?>[]的数组里面。显示的时候,我们要使用适配器,这里可以ArrayAdapter,SimpleAdapter,和BaseAdapter.最后,使用一个回掉方法
    intentForPosition(),根据列表返回指定的Activity。
    
    
    public class MainActivity extends LauncherActivity {
    
        String []name={"好友列表","朋友圈"};
        Class<?>[]classes={Main2Activity.class,Main3Activity.class};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ArrayAdapter<String> adapter=new ArrayAdapter<String>
    (this,android.R.layout.simple_list_item_1,name);
            setListAdapter(adapter);
        }
    
        @Override
        protected Intent intentForPosition(int position) {
            return new Intent(MainActivity.this,classes[position]);
        }
    }
    展开全文
  • LauncherActivity本质上是一个开发列表界面的activity,继承自ListActivity 与普通列表界面的不同:开发出来的列表界面中的每个列表项都对应一个Intent,当用户单机每个列表项时会自动启动对应的activity 程序实例...

    LauncherActivity本质上是一个开发列表界面的activity,继承自ListActivity

    与普通列表界面的不同:开发出来的列表界面中的每个列表项都对应一个Intent,当用户单机每个列表项时会自动启动对应的activity

    程序实例

    /**
     * 此文件是程序入口文件,这是一个LauncherActivity的继承类,证明此文件的每个列表文件都对应
     * 一个Intent,单击列表时出现下一个activity
     */
    public class MainActivity extends LauncherActivity
    {
    //定义两个Activity的名称
    String[] names = {"设置程序参数" ,  "查看星际兵种"};
    //定义两个Activity对应的实现类
    //列表中就两个内容,单击列表项目时分别调用哪个类用的,一个是preference另一个是expandblelist
    Class<?>[] clazzs = {PreferenceActivityTest.class
    , ExpandableListActivityTest.class};
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1 , names);
    // 设置该窗口显示的列表所需的Adapter
    setListAdapter(adapter);
    }
    //根据列表项来返回指定Activity对应的Intent
    @Override public Intent intentForPosition(int position)
    {
    return new Intent(MainActivity.this , clazzs[position]);
    }
    }


    布局文件

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >


       <ListView android:id="@+id/android:list"   
    android:layout_width="match_parent"   
    android:layout_height="match_parent"   
    android:background="#0000ff"   
    android:layout_weight="1"   
    android:drawSelectorOnTop="false"/>


    </RelativeLayout>

    展开全文
  • Android开发学习之LauncherActivity开发启动的列表 创建项目:OtherActivity 项目运行结果:     建立主Activity:OtherActivity.java package wwj.otherActivity; import android.os.Bundle; import ...

    Android开发学习之LauncherActivity开发启动的列表

    创建项目:OtherActivity

    项目运行结果:

     

     

    建立主Activity:OtherActivity.java

    
    package wwj.otherActivity;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.app.LauncherActivity;
    import android.content.Intent;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.ArrayAdapter;
    import android.support.v4.app.NavUtils;
    
    public class OtherActivity extends LauncherActivity {
    	
    	//定义两个Activity的名称
    	String[] names = {"设置程序参数", "查看星际兵种"};
    	//定义两个Activity对应的实现类
    	Class<?>[] clazzs = {PreferenceActivityTest.class,
    			ExpandableListActivityTest.class};
    	
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1
            		, names);
            // 设置该窗口显示的列表所需的Adapter
            setListAdapter(adapter);
        }
        //根据列表项返回指定Activity对应的Intent
        @Override
        protected Intent intentForPosition(int position) {
        	// TODO Auto-generated method stub
        	return new Intent(OtherActivity.this, clazzs[position]);
        }
    }


    建立第一个列表项的Activity:PreferenceActivityTest.java

     

    package wwj.otherActivity;
    
    import android.os.Bundle;
    
    public class PreferenceActivityTest extends android.preference.PreferenceActivity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		//设置显示参数设置布局
    		addPreferencesFromResource(R.xml.preferences);
    	}
    }
    


    PreferenceActivity使用的界面布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    	<!-- 设置系统铃声 -->
    	<RingtonePreference
    	    android:ringtoneType="all"
    	    android:title="设置铃声"
    	    android:summary="选择铃声"
    	    android:showDefault="true"
    	    android:key="ring_key"
    	    android:showSilent="true">
    	</RingtonePreference>
    	<PreferenceCategory
    	    android:title="个人信息设置组">
    	    <!-- 通过输入框填写用户名 -->
    	    <EditTextPreference 
    	        android:key="name"
    	        android:title="用户名"
    	        android:summary="填写你的用户名"
    	        android:dialogTitle="您所使用的用户名为: "
    	        />
    	    <!-- 通过列表框选择性别 -->
    	    <ListPreference 
    	        android:key="gender"
    	        android:title="性别"
    	        android:summary="选择您的性别"
    	        android:dialogTitle="ListPreference"
    	        android:entries="@array/gender_name_list"
    	        android:entryValues="@array/gender_value_list"
    	        />
    	</PreferenceCategory>
    	<PreferenceCategory 
    	    android:title="系统功能设置组">
    	    <CheckBoxPreference 
    	        android:key="autoSave"
    	        android:title="自动保存进度"
    	        android:summaryOn="自动保存 :开启"
    	        android:summaryOff="自动保存:关闭"
    	        android:defaultValue="true"/>
    	</PreferenceCategory>
    	</PreferenceScreen>


    数组文件:array.xml

    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <string-array name="gender_name_list">
    	<item>男</item>
    	<item>女</item>
    </string-array>
    <string-array name="gender_value_list">
    	<item>male</item>
    	<item>female</item>
    </string-array>
    </resources>
    


     

     

     

    创建第二个列表项的Activity:ExpandableListActivity.java

    package wwj.otherActivity;
    
    import android.app.ExpandableListActivity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AbsListView;
    import android.widget.BaseExpandableListAdapter;
    import android.widget.ExpandableListAdapter;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    
    public class ExpandableListActivityTest extends ExpandableListActivity {
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		ExpandableListAdapter adapter = new BaseExpandableListAdapter() {
    			
    			int[] logos = new int[]{
    					R.drawable.p,
    					R.drawable.z,
    					R.drawable.t
    			};
    			private String[] armTypes = new String[]
    					{"神族兵种", "虫族兵种", "人族兵种"};
    			private String[][] arms = new String[][]{
    					{"狂战士", "龙骑士", "黑暗圣堂", "点兵"},
    					{"小狗", "刺蛇", "飞龙", "自爆飞机" },
    					{"机枪兵", "护士MM", "幽灵"}
    			};
    			
    			//获取指定组位置、指定子列表项处的子列表项数据
    			public Object getChild(int groupPosition, int childPosition) {
    				// TODO Auto-generated method stub
    				return arms[groupPosition][childPosition];
    			}
    			
    			public long getChildId(int groupPosition, int childPosition) {
    				return childPosition;};
    				
    			public int getChildrenCount(int groupPosition) {
    					// TODO Auto-generated method stub
    					return arms[groupPosition].length;
    				}	
    			
    			private TextView getTextView(){
    				AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
    						ViewGroup.LayoutParams.FILL_PARENT, 64);
    				TextView textView = new TextView(ExpandableListActivityTest.this);
    				textView.setLayoutParams(lp);
    				textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
    				textView.setPadding(36, 0, 0, 0);
    				textView.setTextSize(20);
    				return textView;
    			}
    			
    			public View getChildView(int groupPosition, int childPosition,
    					boolean isLastChild, View convertView, ViewGroup parent) {
    				// TODO Auto-generated method stub
    				TextView textView = getTextView();
    				textView.setText(getChild(groupPosition, childPosition).toString());
    				return textView;
    			}
    			
    			//获取指定位置处的组数据
    			public Object getGroup(int groupPosition) {
    				return armTypes[groupPosition];
    			};
    			public int getGroupCount() {
    				// TODO Auto-generated method stub
    				return armTypes.length;
    			}
    			public long getGroupId(int groupPosition) {
    				// TODO Auto-generated method stub
    				return groupPosition;
    			}
    			
    			public View getGroupView(int groupPosition, boolean isExpanded,
    					View convertView, ViewGroup parent) {
    				// TODO Auto-generated method stub
    				LinearLayout ll = new LinearLayout(ExpandableListActivityTest.this);
    				ll.setOrientation(0);
    				ImageView logo = new ImageView(ExpandableListActivityTest.this);
    				logo.setImageResource(logos[groupPosition]);
    				ll.addView(logo);
    				TextView textView = getTextView();
    				textView.setText(getGroup(groupPosition).toString());
    				ll.addView(textView);
    				return ll;
    			}
    
    			public boolean hasStableIds() {
    				// TODO Auto-generated method stub
    				return true;
    			}
    
    			public boolean isChildSelectable(int groupPosition,
    					int childPosition) {
    				// TODO Auto-generated method stub
    				return true;
    			}
    			
    		};
    		//设置该窗口显示列表
    		setListAdapter(adapter);
    	}
    }
    


     

     

     

    展开全文
  • LauncherActivity

    千次阅读 2013-09-29 08:27:41
    LauncherActivity 继承自ListActivity 当点击列表的时候,会启动相应的Activity,调用方法 Intent intentForPosition(int position) java代码 public class MainActivity extends Launcher...

    LauncherActivity 继承自ListActivity 当点击列表的时候,会启动相应的Activity,调用方法

    Intent intentForPosition(int position)
    java代码

    public class MainActivity extends LauncherActivity
    {
    
    	String[] names = { "设置程序参数", "查看星级兵种" };
    	Class<?>[] clazzs = { PreferenceActivityText.class,
    			ExpandableListActivtiyText.class };
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    //		setContentView(R.layout.activity_main);   //注意,这里不需要设置view,LauncherActivity自带ListView
    		
    		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    				android.R.layout.simple_list_item_1, names);
    
    		setListAdapter(adapter);
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu)
    	{
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    
    		return true;
    	}
    
    	@Override
    	protected Intent intentForPosition(int position)
    	{
    		// TODO Auto-generated method stub
    		return new Intent(MainActivity.this, clazzs[position]);
    	}
    }
    


    展开全文
  • LauncherActivity 项目分析

    千次阅读 2018-03-21 16:36:47
    前言 Launcher 是系统启动后第一个启动的程序,是其他应用程序的入口,也是...LauncherActivity.onCreate LauncherActivity.onResume LauncherActivity.onDestroy Launcher 通过查看 AndroidManifest 清...
  • Launcher启动Activity整个的流程图详解,使用亿图打开。
  • get_launcher_activity ( package_name ) : result = sh ( "adb shell dumpsys package %s" % ( package_name ) , print_msg = False ) if not result : return end_index = safe_index_of ...
  • 关于framework中的某些源码的...本文所提到的Activity启动包括两种情况,第一种是在不同的进程中启动Activity,主要包括点击桌面的应用图标,启动新的应用,第二种情况是在同一个进程中启动一个Activity,主要包括...
  • 在开机的时候,发现launcherActivity启动了两次。 经过开机打印Log发现: 2019-08-05 16:37:31.891 1754-1800/system_process W/WindowManager: Force clearing freeze: AppWindowToken{f258030 token=Token{59f...
  • 从刷了rom到第一开机引导、launcher启动、点击启动特定app,这之间ams控制开机引导activitylauncher、app启动有什么不同吗?还是same流程?下面让我们一探究竟。文章分三部分:第一部总体概述、第二部分流程图、第...
  • 前一篇文章说了与Launcher有关的AMS启动过程,这篇文章来说一说与Launcher启动有关的Activity启动过程一、AMS启动Launcher接上篇文章看AMS中启动HomeActivity的方法boolean startHomeActivityLocked(int userId, ...
  • ActivityThread是什么,是不是线程,如何启动? ActivityClientRecord和ActivityRecord是什么? Context,ContextImpl,ContextWapper是什么? Instrumentation是什么? Application是什么,什么时候创建的,每...
  • Activity启动流程源码分析
  • LauncherActivity在应用中开发的作用

    千次阅读 2016-07-19 10:10:55
    LauncherActivity在应用中开发的作用 说起LauncherActivity非常简单, LauncherActivity的作用在于形成一个列表,然后没有一个列表点击产生一个intent条状到相关的界面去。 当然作为程序猿的我们完全可以使用...
  • No Launcher activity found! The launch will only sync the application package on the device! 在 AndroidManifest.xml没有加:
  • No Launcher activity found!

    千次阅读 2012-11-26 11:01:48
    刚开始学android,建了两个工程后,今天新建了个android工程跑程序时显示No Launcher activity found错误,模拟器也不运行。 上网一查,发现问题出在整个项目的那个主配置xml中,一般名字都是叫AndroidManifest.xml...
  • No Launcher activity found!错误 刚开始学android,建了两个工程后,今天新建了个android工程跑程序时显示No Launcher activity found错误,模拟器也不运行。 上网一查,发现问题出在整个项目的那个主配置...
  • Android基础 - No Launcher activity found!

    万次阅读 2013-06-02 23:12:46
    1. No Launcher activity found! 今天启动Android App时, 出现以下错误: [2013-06-02 22:55:50 - Demo1] No Launcher activity found! [2013-06-02 22:55:50 - Demo1] The launch will only sync the ...
  • Error处理: 重提No Launcher activity found! 重提No Launcher activity found!错误提示,及解决办法 Android应用开发中No Launcher activity found! 是常见的错误,而且解决办法也很简单。 做Android开发已经很...
  • 深入理解LauncherActvity 之LauncherActivity、... 从下图我们可以知道,LauncherActivity、PreferanceActivity均继承于ListActivity,其中LauncherActivity实现当列表界面列表项被点击时所对应的Acitvity被启动;Pr
  • No Launcher activity found!错误

    千次阅读 2013-03-12 20:11:18
    AndroidManifest.xml里面没有配置启动项(原因多种多样),在中少了这段代码   android:label="@string/app_name">   其中.MainActivity就是你的项目的主Activity
  • 今天在看log的时候发现,Launcher activity会被onDestroy掉一次,然后再重启。 可能原因猜测: 1.横竖屏切换 2.MCC MNC等Configuration改变引起的 MCC(移动国家码)和 MNC(移动网络码) 由于当时的Launcher...
  • Android应用中Activity启动流程,在上篇博文Activity启动流程源码分析(应用中)已介绍过了,想了解的同学,可以看看一下。本篇博文将会介绍从Launcher中启动Activity具体流程。在开始介绍之前,我们需要了解一些概念...
  • 今天居然遇到启动项没有找到的问题,觉得好奇怪,我怎么可能还出现这种低级错误。然后看了下,越发奇怪了,明明就有写啊  android:name=".Mouse40Activity"  android:label="@string/app_name" >
  • Android Launcher 启动 Activity 的工作过程

    万次阅读 多人点赞 2017-10-03 20:46:19
    前言通过上一篇文章(Binder之应用层总结与分析)可以了解到进程间通讯的一个大致情况,像今天要提到的Activity启动过程,也是以Binder为通讯方式。系统对这个工作过程做了很多封装,使得启动一个Activity变得十分...
  • 随时随地阅读更多技术实战...1.LauncherActivity继承了ListActivity,因此它本质上也是一个开发列表界面的Activity,但它开发出来的列表界面与普通列表界面有所不同。它的每个列表项都对应一个Intent,用户单击不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,370
精华内容 19,348
关键字:

launcheractivity启动