Android中的Intent
一、程序效果
实现两个Activity间信息的传递,本程序通过Intent对象进行传递。
二、代码编写与解析
1.编写两个Activity对应的layout:main.xml和other.xml
main.xml
<?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"
>
<Button
android:id="@+id/myButton"
android:text="点击跳转"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
other.xml
<?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"
>
<TextView
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2.在编写两个Activity
Activity02.java
package linys.activity;
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;
/**
*
* @Project: Android_Activity02_Intent
* @Desciption: intent用来传递Activity间的信息:
* 一个Intent对象主要包括:
* 1.Component name
* 2.Action
* 3.Data
* 4.Extras
* @Author: LinYiSong
* @Date: 2011-3-25~2011-3-25
*/
public class Activity02 extends Activity {
Button btn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn=(Button)findViewById(R.id.myButton);
btn.setOnClickListener(new BtnListener());//添加监听器
}
class BtnListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent =new Intent();
//往Intent中添加键值对Extra
intent.putExtra("key","value");
intent.setClass(Activity02.this, OtherActivity.class);//设置转向的两个类
Activity02.this.startActivity(intent);//Activity02启动传递
//利用android自带的发短信功能
// Uri uri=Uri.parse("smsto://0800000123");
// Intent intent=new Intent(Intent.ACTION_SENDTO,uri);
// intent.putExtra("key","value");
// Activity02.this.startActivity(intent);
}
}
}
OtherActivity.java
package linys.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class OtherActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
TextView textView=(TextView)findViewById(R.id.myTextView);
//取出Intent把Intent中的值设置成TextView的内容
Intent intent=this.getIntent();
String value=intent.getStringExtra("key");
textView.setText(value);
}
}
三、程序解析
1.intent用来传递Activity间的信息:
一个Intent对象主要包括:
* 1.Component name
* 2.Action
* 3.Data
* 4.Extras:一个键值对,相当于一个map
2.Intent对象的操作
*1.new出对象
*2.往intent中放入传递的信息
*3.指定Activity间的转向,一个Activity对象-->另一个Activity类
*4.启动转向
分享到:
相关推荐
### Android中Intent的Uri使用详解 #### 概述 在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的...
当我们需要在Intent中传递复杂对象时,有两种主要的方法:Serializable和Parcelable。这两种方式都可以实现对象的序列化,但它们在性能和效率上存在差异。 **Serializable接口** Serializable接口是Java提供的一个...
在Android开发中,Intent是一个非常核心的组件,它充当了应用程序不同组件之间的信使,用于在组件间传递消息和启动动作。这篇博客“Android中Intent的使用”将深入讲解Intent的基本概念、类型以及如何在实际开发中...
- `putExtra()`: 用于添加额外的数据到Intent中,例如字符串、整数、布尔值等,以便在目标组件中通过`getExtras()`获取。 - `setFlags()`: 设置Intent的标志,影响Intent的处理方式,如FLAG_ACTIVITY_NEW_TASK用于...
在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制,它用于启动其他组件或传递数据。本篇文章将深入探讨Intent的基本概念、类型、构造方法以及如何在Android中有效地使用Intent。 Intent是一种意图...
在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者传递数据。本示例将深入探讨Intent的基本用法和常见应用场景。 首先,Intent分为显式Intent和隐式...
在Android应用开发中,Intent和ProgressBar是两个非常关键的组件。Intent主要用于启动活动(Activity)、服务(Service)或广播接收器(BroadcastReceiver),而ProgressBar则是显示进度或加载状态的控件,为用户...
6. Parcelable接口:对于更复杂的数据结构,如自定义对象,你可以使对象实现Parcelable接口,这样可以在Intent中直接传递对象。实现Parcelable接口涉及多个步骤,包括创建描述符类、实现writeToParcel()和...
Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable...
在Android开发中,Intent是一个至关重要的组件,它用于在组件之间传递消息,启动或激活服务。Intent不仅可以用来启动活动(Activity),还可以启动服务(Service)或者广播接收器(BroadcastReceiver)。在本文中,...
- 使用`putExtra()`方法可以在Intent中添加额外的数据,如`intent.putExtra("key", "value");` - 数据类型包括基本类型(int、String等)、Parcelable(自定义对象、Bitmap等)和Serializable(复杂对象)。 3. *...
在Android开发中,Intent是一种非常重要的组件,它用于在应用程序之间传递消息,启动或激活服务。本篇将详细解析如何使用Intent启动各种类型的应用。 1. **浏览网页与谷歌搜索**: - 使用`Intent.ACTION_VIEW`启动...
通过调用`putExtra()`方法可以将数据附加到Intent中,例如: ```java i.putExtra("result", result); ``` 这里的`result`是你要传递的变量名,`result`变量的值就是传递的数据。 5. 启动Intent 一旦Intent准备好了...
在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...
在Android开发中,Intent是一个非常重要的概念,它用于在组件之间传递消息,是Android系统启动服务、启动或跳转Activity的主要手段。本篇文章将详细解释Intent的基本使用以及如何通过Intent实现在两个Activities之间...
本文实例讲述了android中intent传递list或者对象的方法。分享给大家供大家参考。具体实现方法如下: 方法一: 如果单纯的传递List<String> 或者List的话 就可以直接使用 代码如下: 代码如下:intent....
- `putExtra(String name, boolean value)`等:将各种类型的数据添加到Intent中,如布尔值、字符串、数组等。 - `setAction(String action)`:设置Intent的动作。 - `setData(Uri uri)`:设置数据Uri。 - `...