`

Android学习10-----Android组件通信 (1) Intent

阅读更多

 

在一个项目之中,会由多个 Activity 程序所组成,那么此时,这么多个 Activity 程序之间就需要进行通讯,而这之间的通讯就依靠 Intent 完成。

Activity 程序支持的 Intent 操作方法:

No.

方法

描述

1

Public void startActivity(Intent intent)

启动一个 Activity ,并通过 Intent 传送数据

2

Public void startActivityForResult(Intent intent,

int requestCode)

启动并接受另一个 Activity 程序回传数据,当 requestCode 大于 0 才可以触发

onActivityResult()

3

Public Intent getIntent()

返回启动当前 Activity 程序的 Intent

4

Protected void onActivityResult(int requestCode,

int resultCode,Intent data)

当需要接受 Intent 回传数据的时候覆写此方法对回传操作进行处理

5

Public void finish()

调用此方法会返回之前的 Activity 程序,并自动调用 onActivityResult() 方法

 

一、 Intent 带返回值

Intent02_Send_Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Intent02_Send_Activity extends Activity {
	private Button mybut = null;
	private TextView msg = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.send_main);
		this.mybut = (Button) super.findViewById(R.id.mybut);
		this.msg = (TextView) super.findViewById(R.id.msg);
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {

		@Override
		public void onClick(View v) {
			Intent intent = new Intent(Intent02_Send_Activity.this,
					Receive.class);
			intent.putExtra("myinfo", "你好");
			// 带返回值的跳转,如果1大于0,则可以接受
			Intent02_Send_Activity.this.startActivityForResult(intent, 1);
			// 不带返回值的跳转 Intent_Send01Activity.this.startActivity(it); // 跳转

		}
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode,
			Intent intent) {
		switch (resultCode) {
		case RESULT_OK:
			Intent02_Send_Activity.this.msg.setText("返回的内容是:"
					+ intent.getStringExtra("retmsg"));
			break;
		case RESULT_CANCELED:
			Intent02_Send_Activity.this.msg.setText("操作取消。");
			break;
		default:
			break;
		}
	}
}
 

Receive.java

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Receive extends Activity {
	private TextView show = null;
	private Button retbut = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.receive_main);
		this.show = (TextView) super.findViewById(R.id.show);
		this.retbut = (Button) super.findViewById(R.id.retbut);
		Intent intent = super.getIntent(); // 取得当前的Intent
		String info = intent.getStringExtra("myinfo");
		this.show.setText(info);
		this.retbut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {

		@Override
		public void onClick(View v) {
			Receive.this.getIntent().putExtra("retmsg", "祖国:中国");
			Receive.this.setResult(RESULT_OK, Receive.this.getIntent());
			Receive.this.finish();
		}

	}
}
 

 

 

前面我们说了 Intent 的基本操作,设置跳转时的数据都是附加数据( Extrs , 那么除了这些附加数据之外,也可以传递更多的内容,并且调用本机的一些已经为用户提供好的 Intent 操作。

Intent 数据传递实际上分为以下六种数据:操作( Action )、数据( Data )、数据类型( Type )、操作类别( Category )、附件信息( Extras )、组件( Component )、标志( Flags );

 

1 、操作( Action ):设置该 Intent 会触发的操作类型,可以通过 setAction() 方法进行设置

No.

Action 名称

AndroidManifest.xml 配置名称

描述

1

ACTION_MAIN

android.intent.action. MAIN

作为一个程序的入口,不需要接受数据

2

ACTION_VIEW

android.intent.action. VIEW

用于数据的显示

3

ACTION_DIAL

android.intent.action. DIAL

调用电话拨号程序

4

ACTION_EDIT

android.intent.action. EDIT

用于编辑给定的数据

5

ACTION_PICK

android.intent.action. PICK

从特定的一组数据之中进行数据的选择操作

6

ACTION_RUN

android.intent.action. RUN

运行数据

7

ACTION_SEND

android.intent.action. SEND

调用发送短信程序

8

ACTION_GET_CONTENT

android.intent.action. GET_CONTENT

根据指定的 Type 来选择打开操作内容的 Intent

9

ACTION_CHOOSER

android.intent.action. CHOOSER

创建文件操作选择器

相当于通过 Action 指定要操作的类型

 

2 、数据( Data

描述 Intent 所操作数据的 URI 及类型,可以通过 setData() 进行设置,不同的操作对应着不同的 Data

No.

操作类型

Data(Uri) 格式

范例

1

浏览网页

http:// 网页地址

http://www.baidu.com

2

拨打电话

tel: 电话号码

tel:13956027313

3

发送短信

smsto: 短信接收人号码

smsto:13956027313

4

查找 SD 卡文件

file:///sdcard / 文件 or 目录

file:///sdcard /pic.jpg

5

显示地图

geo: 坐标 , 坐标

geo:32,-75

这些数据是和跳转的程序接受标准有关。

 

3 、数据的类型( Type ):指定要传送数据的 MIME 类型,可以直接通过 setType() 方法进行设置。

No.

作用

MIME 类型

1

发送短信

vnd.android-dir/mms-sms

2

设置图片

Image/png

3

普通文本

Text/plain

4

设置音乐

Audio/mp3

 

4 、操作的类别( Category ):对执行操作的类别进行描述,可以通过 addCategory() 方法设置多个类别

No.

Category 名称

AndroidManifest.xml 配置名称

描述

1

CATEGORY_LAUNCHER

android.intent.category. LAUNCHER

表示此程序显示在应用程序列表中

2

CATEGORY_HOME

android.intent.category. HOME

显示主桌面,即开机时的第一个界面

3

CATEGORY_PREFERENCE

android.intent.category. PREFERENCE

运行后将出现一个选择面板

4

CATEGORY_BROWSABLE

android.intent.category. BROWSABLE

显示一张图片、 email 信息

5

CATEGORY_DEFAULT

android.intent.category. DEFAULT

设置一个操作的默认执行

6

CATEGORY_OPENABLE

android.intent.category. OPENABLE

Action 设置为 GET_CONTENT 时用于打开指定的 Uri

 

5 、附件信息( Extras ):传递的是一组键值对,可以使用 pubExtra() 方法进行设置,主要的功能是传递数据( Uri )所需要的一些额外的操作信息

No.

操作数据

附加信息

作用

1

短信操作

sms_body

表示要发送短信的内容

2

彩信操作

Intent.EXTRA_STREAM

设置发送彩信的内容

3

指定接收人

Intent.EXTRA_BCC

指定接受 Email 或信息的接收人

4

Email 接收人

Intent.EXTRA_EMAIL

用于指定 email 的接收人,接受一个数组

5

Email 标题

Intent.EXTRA_SUBJECT

用于指定 email 邮件的标题

6

Email 内容

Intent.EXTRA_TEXT

用于指定 email 邮件的内容

 

6 、组件( Component ):指明了将要处理的 Activity 程序,所有的组件信息都被封装在一个 ComponentName 对象之中,这些组件必须在 AndroidManifest.xml 文件的“ <application> ”中注册。

 

7 、标识( Flags ):用于指示 android 系统如何加载并运行一个操作,可以通过 addFlags() 方法进行增加。

 

下面我们来看看 Intent 内置功能的范例。

二、打开网页

 

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Intent03Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			Uri uri = Uri.parse("http://xdwangiflytek.iteye.com/"); // 设置操作的路径
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_VIEW); // 设置要操作的Action
			intent.setData(uri); // 要设置的数据
			Intent03Activity.this.startActivity(intent); // 执行跳转
		}

	}
}
 

 

三、拨打电话(进入打电话界面,值填充完成)

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Intent04Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;
	private EditText tel = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			String telStr = Intent04Activity.this.tel.getText().toString(); // 取得输入信息
			Uri uri = Uri.parse("tel:" + telStr); // 设置操作的路径
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_DIAL); // 设置要操作的Action
			intent.setData(uri); // 要设置的数据
			Intent04Activity.this.startActivity(intent); // 执行跳转
		}

	}
}
 

 

四、直接拨打电话呼出

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Intent05Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;
	private EditText tel = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			String telStr = Intent05Activity.this.tel.getText().toString(); // 取得输入信息
			Uri uri = Uri.parse("tel:" + telStr); // 设置操作的路径
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_CALL); // 设置要操作的Action
			intent.setData(uri); // 要设置的数据
			Intent05Activity.this.startActivity(intent); // 执行跳转
		}
	}
}

 添加权限:

 

<uses-permission android:name="android.permission.CALL_PHONE" />
 

 

五、发送短信息(进入发短信界面,值填充完成)

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Intent06Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;
	private EditText tel = null;
	private EditText content = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件
		this.content = (EditText) super.findViewById(R.id.content); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			String telStr = Intent06Activity.this.tel.getText().toString(); // 取得输入信息
			String note = Intent06Activity.this.content.getText().toString(); // 取得内容
			Uri uri = Uri.parse("smsto:" + telStr); // 设置操作的路径
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_SENDTO); // 设置要操作的Action
			intent.putExtra("sms_body", note); // 设置短信内容
			intent.setType("vnd.android-dir/mms-sms"); // 短信的MIME类型
			intent.setData(uri); // 要设置的数据
			Intent06Activity.this.startActivity(intent); // 执行跳转
		}

	}
}

 

六、发送彩信

 

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Intent07Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			Uri uri = Uri.parse("file:///sdcard/mypic.jpg"); // 设置操作的路径
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_SEND); // 设置要操作的Action
			intent.putExtra("address", "13956027313"); // 设置短信内容
			intent.putExtra("sms_body", "安徽合肥"); // 设置短信内容
			intent.putExtra(Intent.EXTRA_STREAM, uri); // 设置短信内容
			intent.setType("image/png"); // 短信的MIME类型
			Intent07Activity.this.startActivity(intent); // 执行跳转
		}

	}
}
 

 

七、发送邮件

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Intent08Activity extends Activity {
	/** Called when the activity is first created. */
	private Button mybut = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View v) {
			Intent emailIntent = new Intent(Intent.ACTION_SEND);
			emailIntent.setType("plain/text"); // 设置类型
			String address[] = new String[] { "xdwangiflytek@gmail.com" }; // 邮件地址
			String subject = "xdwang";
			String content = "xdwangiflytek.iteye.com";
			emailIntent.putExtra(Intent.EXTRA_EMAIL, address);
			emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
			emailIntent.putExtra(Intent.EXTRA_TEXT, content);
			Intent08Activity.this.startActivity(emailIntent); // 执行跳转
		}

	}
}
 

 

八、显示通讯录

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

public class Intent09Activity extends Activity {
	/** Called when the activity is first created. */
	private static final int PICK_CONTACT_SUBACTIVITY = 1;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		Uri uri = Uri.parse("content://contacts/people");
		Intent intent = new Intent(Intent.ACTION_PICK, uri);
		super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		switch (requestCode) {
		case PICK_CONTACT_SUBACTIVITY:

		}
	}

}
 

 

九、调用ContentProvider

package com.iflytek.demo;

import android.app.Activity;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.Toast;

public class Intent10Activity extends Activity {
	/** Called when the activity is first created. */
	private static final int PICK_CONTACT_SUBACTIVITY = 1;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		Uri uri = Uri.parse("content://contacts/people");
		Intent intent = new Intent(Intent.ACTION_PICK, uri);
		super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		switch (requestCode) {
		case PICK_CONTACT_SUBACTIVITY:
			Uri ret = data.getData(); // 接收返回的数据
			String phoneSelection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID
					+ "=?"; // 设置查询条件
			String[] phoneSelectionArgs = { String.valueOf(ContentUris
					.parseId(ret)) }; // 返回的ID
			Cursor c = super.managedQuery(
					ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
					phoneSelection, phoneSelectionArgs, null);
			StringBuffer buf = new StringBuffer();
			buf.append("电话号码是:");
			for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
				buf.append(
						c.getString(c
								.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)))
						.append("、");
			}
			Toast.makeText(this, buf, Toast.LENGTH_LONG).show();
		}
	}

}

 添加读取权限

 

  <uses-permission android:name="android.permission.READ_CONTACTS" />
 

 

十、创建选择器(打开图库)

Intent11Activity.java

package com.iflytek.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

public class Intent11Activity extends Activity {
	private ImageButton mybut = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.mybut = (ImageButton) super.findViewById(R.id.mybut);
		this.mybut.setOnClickListener(new OnClickListenerImpl());
	}

	private class OnClickListenerImpl implements OnClickListener {

		@Override
		public void onClick(View v) {
			Intent intent = new Intent();
			intent.setAction(Intent.ACTION_GET_CONTENT);
			intent.setType("image/*");
			Intent11Activity.this.startActivity(Intent.createChooser(intent,
					"选择图片浏览工具"));
		}

	}
}
 

 

ImageViewActivity.java

package com.iflytek.demo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;

public class ImageViewActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setTitle("查看图片");
		ImageView img = new ImageView(this);
		img.setImageResource(R.drawable.ic_launcher);
		super.setContentView(img);
	}
}
 

 

 

  • 大小: 33.9 KB
分享到:
评论

相关推荐

    android----intent

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

    Android学习总结-Intent详解.doc

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

    android各组件详解- Intent.

    标题与描述均指向了“Android各组件详解——Intent”,这一主题深入探讨了...无论是跨组件通信、启动服务还是发送广播,Intent都扮演着不可或缺的角色,掌握其使用技巧对于提升应用程序的灵活性和响应性至关重要。

    android整合--intent

    在Android开发中,Intent是一种非常重要的组件间通信(IPC)机制。Intent主要用于启动或与其它应用程序组件进行交互,如活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)以及内容提供者...

    android intent and intent-filters

    Intent和Intent-filters是Android系统中至关重要的组件通信机制,它们让组件之间能够灵活、动态地交互。理解Intent的工作原理和Intent-filter的匹配规则,对于开发者来说是设计高效、健壮应用的关键。在实际开发中,...

    Data、Type属性与Intent-filter配置

    在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制。Intent-filter的配置对于正确地启动和接收...在Android系统中,Intent-filter是组件间通信的关键组成部分,它决定了哪些组件能响应用户的特定操作。

    Android Intent 组件通信与广播消息

    【Android Intent 组件通信与广播消息】 Intent是Android系统中至关重要的组件通信工具,它扮演着消息传递者的角色,使得应用程序的不同组件(如Activity、Service、BroadcastReceiver)能够相互通信。Intent不仅...

    Android-Intent-Action.zip_action _android

    在Android应用开发中,Intent是连接应用程序组件的重要机制,它用于在组件之间传递消息和启动操作。本资料主要聚焦于Android Intent中的Action概念,详细解析了Android Intent Action大全。 Intent通常包含两个关键...

    Android-Tool-Log—Android轻量级简单易用的日志组件

    在Android开发中,Intent是应用程序之间通信的重要桥梁,而Bundle则是Intent中传递数据的容器。此组件能自动解析Intent和Bundle的内容,将其以易于理解的形式输出,这对于理解和调试涉及到Intent传递的代码非常有...

    Android的Intent实验

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)以及内容提供者(Content Provider)之间的交互...

    Android Intent Filter用法

    在&lt;intent-filter&gt;中声明一个&lt;action android:name="com.example.ACTION_NAME"/&gt;,就表示组件能够处理对应的Action。 2. **Category**: Category用于进一步描述Intent的性质。常见的类别有CATEGORY_DEFAULT(默认...

    android之旅-Intent和BroadcastReceiver示例代码

    在Android开发中,Intent和BroadcastReceiver是两个至关重要的组件,它们构成了Android系统中不同组件间通信的核心机制。Intent用于在应用程序的不同组件之间传递消息,而BroadcastReceiver则是一种响应这些消息的...

    Android Intent切换-IT计算机-毕业设计.zip

    这在跨组件通信或系统事件通知方面非常有用。 9. **Service与Intent**:Intent同样用于启动和绑定Service。`startService(Intent intent)`启动Service,执行一次性任务;`bindService(Intent intent, ...

    android-criminal-intent:android-criminal-intent 的教程应用程序

    在"android-criminal-intent-master"压缩包中,包含了该项目的源代码。通常,一个Android应用项目包含以下几个主要部分: 1. **AndroidManifest.xml** - 这是应用程序的配置文件,其中定义了应用的组件、权限和其他...

    ZX-Android-Intent详解

    为了确保应用程序的组件能够正确响应隐式Intent请求,组件需要在`AndroidManifest.xml`文件中声明一个或多个`&lt;intent-filter&gt;`。每个`&lt;intent-filter&gt;`描述了组件能够响应的能力,即组件希望接收什么样的请求行为和...

    android-sdk-sources-android-21.rar

    1. **Android Lollipop 版本特性**: - Android 21 是 Android 5.0(棒棒糖)的代号,它引入了 Material Design 设计语言,为用户界面带来了全新的视觉风格。 - ART(Android RunTime)替代了 Dalvik,提供了预...

    Android经典设计源码-Intent_ComponentSample.rar

    【Android经典设计源码-Intent_ComponentSample.rar】是一个关于Android应用程序开发的学习资源,主要涵盖了Android中的Intent和组件(Component)的使用。这个压缩包包含了Intent_ComponentSample项目的所有源代码...

    android-app-master 源代码

    1. **Activity与Intent**:Activity是Android应用的基本构建块,它代表了用户界面的一个屏幕。Intent用于在不同的组件之间进行通信,如启动Activity或Service。 2. **布局设计**:项目可能包含多种XML布局文件,...

Global site tag (gtag.js) - Google Analytics