`

Android学习08-----Android中的基本控件(下)(6)_菜单:Menu和隐式抽屉组件:SlidingDrawer

阅读更多

 

一、菜单: Menu

1 、选项菜单,通过程序生成

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="按下Menu键出现选项菜单" />

</LinearLayout>
 

 

Menu01_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class Menu01_Activity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon(
				android.R.drawable.ic_menu_delete);
		menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(
				android.R.drawable.ic_menu_save);
		menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon(
				android.R.drawable.ic_menu_help);
		menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(
				android.R.drawable.ic_menu_add);
		menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详情").setIcon(
				android.R.drawable.ic_menu_info_details);
		menu.add(Menu.NONE, Menu.FIRST + 6, 7, "发送").setIcon(
				android.R.drawable.ic_menu_send);
		menu.add(Menu.NONE, Menu.FIRST + 7, 3, "编辑").setIcon(
				android.R.drawable.ic_menu_edit);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) { // 判断操作的菜单ID
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“删除菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“保存菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“帮助菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“添加菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“详情菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 6:
			Toast.makeText(this, "您选择的是“发送菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 7:
			Toast.makeText(this, "您选择的是“编辑菜单”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

	@Override
	public void onOptionsMenuClosed(Menu menu) {
		Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show();
	}

	@Override
	public boolean onPrepareOptionsMenu(Menu menu) {
		Toast.makeText(this,
				"在菜单显示(onCreateOptionsMenu()方法之前会调用此操作,可以在此操作之中完成一些预处理功能。)",
				Toast.LENGTH_LONG).show();
		return true;
	}

}
 

 

2 、通过配置文件生成菜单

Menu02_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class Menu02_Activity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.getMenuInflater().inflate(R.menu.mymenu, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) { // 判断操作的菜单ID
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“删除菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“保存菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“帮助菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“添加菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“详情菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 6:
			Toast.makeText(this, "您选择的是“发送菜单”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 7:
			Toast.makeText(this, "您选择的是“编辑菜单”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

	@Override
	public void onOptionsMenuClosed(Menu menu) {
		Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show();
	}

	@Override
	public boolean onPrepareOptionsMenu(Menu menu) {
		Toast.makeText(this,
				"在菜单显示(onCreateOptionsMenu()方法之前会调用此操作,可以在此操作之中完成一些预处理功能。)",
				Toast.LENGTH_LONG).show();
		return true;
	}
}
 

 

Res/menu/ mymenu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:id="@+id/item01" android:title="添加"
		android:icon="@android:drawable/ic_menu_add" />
	<item android:id="@+id/item02" android:title="保存"
		android:icon="@android:drawable/ic_menu_save" />
	<item android:id="@+id/item03" android:title="编辑"
		android:icon="@android:drawable/ic_menu_edit" />
	<item android:id="@+id/item04" android:title="详情"
		android:icon="@android:drawable/ic_menu_info_details" />
	<item android:id="@+id/item05" android:title="删除"
		android:icon="@android:drawable/ic_menu_delete" />
	<item android:id="@+id/item06" android:title="发送"
		android:icon="@android:drawable/ic_menu_send" />
	<item android:id="@+id/item07" android:title="帮助"
		android:icon="@android:drawable/ic_menu_help" />
</menu>
 

 

3 、程序实现上下文菜单

Menu03_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Menu03_Activity extends Activity {
	private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项
	private ListView listView = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.listView = new ListView(this);
		this.listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1, this.data));
		super.setContentView(this.listView);
		super.registerForContextMenu(this.listView);
	}

	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

	@Override
	public void onContextMenuClosed(Menu menu) {
		Toast.makeText(this, "上下文菜单关闭了", Toast.LENGTH_LONG).show();
	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
		menu.setHeaderTitle("信息操作");
		menu.add(Menu.NONE, Menu.FIRST + 1, 1, "添加联系人");
		menu.add(Menu.NONE, Menu.FIRST + 2, 2, "查看详情");
		menu.add(Menu.NONE, Menu.FIRST + 3, 3, "删除信息");
		menu.add(Menu.NONE, Menu.FIRST + 4, 4, "另存为");
		menu.add(Menu.NONE, Menu.FIRST + 5, 5, "编辑");
	}
}
 

 

4 、配置实现上下文菜单

Menu04_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Menu04_Activity extends Activity {
	private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项
	private ListView listView = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		this.listView = new ListView(this);
		this.listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1, this.data));
		super.setContentView(this.listView);
		super.registerForContextMenu(this.listView);
	}

	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

	@Override
	public void onContextMenuClosed(Menu menu) {
		Toast.makeText(this, "上下文菜单关闭了", Toast.LENGTH_LONG).show();
	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
		menu.setHeaderTitle("信息操作");
		super.getMenuInflater().inflate(R.menu.mymenu, menu);
	}
}

 

Res/ menu/ mymenu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:id="@+id/item01" android:title="添加联系人" />
	<item android:id="@+id/item02" android:title="查看详情" />
	<item android:id="@+id/item03" android:title="删除信息" />
	<item android:id="@+id/item04" android:title="另存为" />
	<item android:id="@+id/item05" android:title="编辑" />
</menu>

 

5 、子菜单基本实现

Menu05_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Menu05_Activity extends Activity {
	private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项
	private ListView listView = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.listView = new ListView(this);
		this.listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1, this.data));
		super.setContentView(this.listView);
		super.registerForContextMenu(this.listView);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		SubMenu fileMenu = menu.addSubMenu("文件");
		SubMenu editMenu = menu.addSubMenu("编辑");
		fileMenu.add(Menu.NONE, Menu.FIRST + 1, 1, "新建");
		fileMenu.add(Menu.NONE, Menu.FIRST + 2, 2, "打开");
		fileMenu.add(Menu.NONE, Menu.FIRST + 3, 3, "保存");
		editMenu.add(Menu.NONE, Menu.FIRST + 4, 4, "撤消");
		editMenu.add(Menu.NONE, Menu.FIRST + 5, 5, "恢复");
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) { // 判断操作的菜单ID
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

}

 

6 、通过配置实现子菜单

Res/menu/ editmenu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:id="@+id/item04" android:title="撤消" />
	<item android:id="@+id/item05" android:title="恢复" />
</menu>

 

filemenu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:id="@+id/item01" android:title="新建" />
	<item android:id="@+id/item02" android:title="打开" />
	<item android:id="@+id/item03" android:title="保存" />
</menu>

 

Menu06_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Menu06_Activity extends Activity {
	private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项
	private ListView listView = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.listView = new ListView(this);
		this.listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1, this.data));
		super.setContentView(this.listView);
		super.registerForContextMenu(this.listView);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		SubMenu fileMenu = menu.addSubMenu("文件");
		SubMenu editMenu = menu.addSubMenu("编辑");
		super.getMenuInflater().inflate(R.menu.filemenu, fileMenu);
		super.getMenuInflater().inflate(R.menu.editmenu, editMenu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) { // 判断操作的菜单ID
		case Menu.FIRST + 1:
			Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 2:
			Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 3:
			Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 4:
			Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST + 5:
			Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show();
			break;
		}
		return false;
	}

}

 

二、隐式抽屉组件: SlidingDrawer

SlidingDrawerActivity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SlidingDrawer;
import android.widget.SlidingDrawer.OnDrawerCloseListener;
import android.widget.SlidingDrawer.OnDrawerOpenListener;
import android.widget.SlidingDrawer.OnDrawerScrollListener;
import android.widget.Toast;

public class SlidingDrawerActivity extends Activity {
	private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项
	private ListView listView = null;
	private SlidingDrawer slidingDrawer = null;
	private ImageView handle = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		LinearLayout layout = (LinearLayout) super.findViewById(R.id.content); // 向里面保存ListView
		this.listView = new ListView(this);
		this.listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1, this.data));
		layout.addView(this.listView);

		this.slidingDrawer = (SlidingDrawer) super
				.findViewById(R.id.slidingdrawer);
		this.handle = (ImageView) super.findViewById(R.id.handle);

		this.slidingDrawer
				.setOnDrawerOpenListener(new OnDrawerOpenListenerImpl());
		this.slidingDrawer
				.setOnDrawerCloseListener(new OnDrawerCloseListenerImpl());
		this.slidingDrawer
				.setOnDrawerScrollListener(new OnDrawerScrollListenerImpl());
	}

	private class OnDrawerOpenListenerImpl implements OnDrawerOpenListener {

		@Override
		public void onDrawerOpened() {
			SlidingDrawerActivity.this.handle
					.setImageResource(R.drawable.ico_right);
		}

	}

	private class OnDrawerCloseListenerImpl implements OnDrawerCloseListener {

		@Override
		public void onDrawerClosed() {
			SlidingDrawerActivity.this.handle
					.setImageResource(R.drawable.ico_left);
		}

	}

	private class OnDrawerScrollListenerImpl implements OnDrawerScrollListener {

		@Override
		public void onScrollEnded() {
			Toast.makeText(SlidingDrawerActivity.this, "窗口拖动结束。",
					Toast.LENGTH_SHORT).show();
		}

		@Override
		public void onScrollStarted() {
			Toast.makeText(SlidingDrawerActivity.this, "正在拖动窗口。",
					Toast.LENGTH_SHORT).show();
		}

	}
}

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <SlidingDrawer
        android:id="@+id/slidingdrawer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:content="@+id/content"
        android:handle="@+id/handle"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/handle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ico_left" />

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/content"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >
        </LinearLayout>
    </SlidingDrawer>

</LinearLayout>
 

 

分享到:
评论

相关推荐

    SlidingDrawer隐式抽屉之基础

    在Android开发中,SlidingDrawer是早期用于实现滑动抽屉效果的一个组件,它允许用户通过拖动一个可隐藏的视图来显示或隐藏内容。这个组件在Android API Level 8(即Android 2.2 Froyo)及之前版本中被广泛使用,但在...

    android----intent

    在Android操作系统中,Intent是一种强大的组件间通信机制,它用于启动其他应用程序组件,如Activity、Service,甚至BroadcastReceiver。Intent不仅能够传递数据,还能在应用的不同部分之间建立连接,是Android开发中...

    Android-API-3.rar_android_android api

    这个名为"Android-API-3.rar"的压缩包文件,显然包含了针对Android API的详细中文文档,是学习和理解Android API的绝佳资源。Android API Level 3通常指的是Android 1.1版本,这是Android系统早期的一个里程碑,为...

    Android学习总结-Intent详解.doc

    Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver和ContentProvider)间通信的关键。Intent不仅用于应用间的交互,也可以在同一个应用内的不同组件之间传递信息。...

    刚开始学习android笔记,和一些控件的整理

    ### Android基础知识及常用控件详解 #### 一、Android应用基础...以上就是关于Android基础知识及常用控件的详细介绍,这些控件在实际开发中非常实用,掌握了它们的使用方法后,可以更好地构建出丰富的用户界面和功能。

    iyon-module-implicit.rar_https://www.iyon

    iyón 模块隐式调用技术主要涉及网络通信与音视频处理,通过 Winsock 控件实现网络通信,以及 VC++ 编写的 DLL 文件处理语音功能。Winsock 控件是 Windows 下进行网络编程的重要工具,它提供了标准的套接字(Socket...

    jbpm3.1数据模型字段说明

    其数据模型设计精细,覆盖了流程定义、节点、变迁、动作等核心组件,旨在提供一个灵活且强大的框架来支持各种复杂业务流程的定义和执行。 #### 1.01 JBPM_PROCESSDEFINITION – 流程定义表 - **功能**:存储流程...

    yaffs_vfs.c, android

    s/yaffs2/yaffs_vfs.c: In function 'yaffs_read_super': fs/yaffs2/yaffs_vfs.c:2383:2: error: implicit declaration of function 'get_sb_bdev' fs/yaffs2/yaffs_vfs.c: At top level: fs/yaffs2/yaffs_vfs.c:...

    Android ---Professional Android Application Development

    - Activity是Android应用中最基本的组件之一,理解其生命周期对于正确处理应用状态至关重要。 - 关键方法如`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()` 和 `onDestroy()`等必须熟悉。 2. ...

    intent总结代码

    Intent是Android系统中的一种核心机制,它用于在应用程序的不同组件之间传递消息,实现组件间的通信。Intent不仅可以启动或启动服务,还可以传递数据。下面是对Intent的详细总结: 1. **Intent的基本类型** - 显式...

    android显示意图和隐式意图的区别

    ### Android显示意图和隐式意图的区别 在Android开发过程中,`Intent`是应用内部各组件之间进行通信的重要机制之一。通过`Intent`可以启动Activity、Service等组件,并且可以在组件间传递数据。根据使用场景的不同...

    Android应用源码-Android学习安卓源代码(96例).zip

    1. **Activity生命周期**:源码中会展示如何在各个生命周期方法(如onCreate(), onStart(), onResume(), onPause(), onStop()和onDestroy())中正确处理事件,理解Activity是如何在用户交互和系统需求下进行状态切换...

    android-code-analysis.rar_android

    在Android系统中,深入理解和分析代码是提升开发者技能的关键步骤。这个"android-code-analysis.rar"压缩包显然包含了一些关于Android机制原理和关键代码分析的文章,旨在帮助开发者更好地理解和优化他们的应用。...

    Android_intent_大全

    6. **Intent Filters**:在AndroidManifest.xml中,通过intent-filter标签定义组件能响应哪些Intent,包括Action、Category和Data,使得其他应用可以通过隐式Intent调用组件。 7. **startActivity()** 和 **...

    android-interview-questions,你的安卓面试备忘单-安卓面试问题.zip

    10. **Android组件间通信**:Intent的使用,包括显式Intent和隐式Intent,以及IntentFilter。 11. **第三方库**:了解流行库如RxJava、LiveData、Dagger、Kotlin Coroutines等,并能解释其作用和使用场景。 12. **...

    Android中使用隐式方式打开一个新的Activity

    在Android应用开发中,Activity是构成应用程序的基本组件之一,它代表了用户与应用交互的界面。当需要在不同Activity之间跳转时,Android提供了两种Intent类型:显式Intent和隐式Intent。本篇将深入探讨如何使用隐式...

    Android高级编程--源代码

    在每章的讲解中,它会让你通过一系列示例项目逐步掌握Android中的各种新功能和技术,助你取得最圆满的学习效果。本书所介绍的各个应用实例简明扼要且极具实用价值,它们覆盖了Android 1.0的所有基本功能和高级功能...

    Android程序源码--广播

    在Android系统中,广播(Broadcast)是一种非常重要的组件,它使得应用程序之间能够进行无须预先知道接收方的情况下发送消息。这种通信方式是基于事件驱动的,使得应用可以在系统或者其他应用触发特定事件时得到通知...

Global site tag (gtag.js) - Google Analytics