Android组件通信
来源:互联网 发布:apache 进程池 编辑:程序博客网 时间:2024/06/06 01:56
1、Intent启动Activity的启动方式有显式启动和隐式启动,此demo中使用显式启动的方法,启动步骤如下:
(1) 注册两个Activity以及主activity中的Intent-filter;
(2) 在主Activity中创建一个Intent对象;
(3) 调用startActivity(Intent &)启动新Activity;
2、设计一个主Activity和一个子Activity(Sub-Activity),使用主Activity上的按钮启动子Activity,并将子Activity的一些信息返回给主Activity,并显示在主Activity上
主Activity:
package edu.hrbeu.ActivityCommunication;
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.TextView;
public class ActivityCommunicationActivity extends Activity {
private static final int SUBACTIVITY1 = 1;
TextView textView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView)findViewById(R.id.textShow);
final Button btn1 = (Button)findViewById(R.id.btn1);
btn1.setOnClickListener(new OnClickListener(){
public void onClick(View view){
Intent intent = new Intent(ActivityCommunicationActivity.this, SubActivity1.class);
startActivityForResult(intent, SUBACTIVITY1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case SUBACTIVITY1:
if (resultCode == RESULT_OK){
Uri uriData = data.getData();
textView.setText(uriData.toString());
}
break;
}
}
}
子Activity:
package edu.hrbeu.ActivityCommunication;
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 SubActivity1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subactivity1);
final EditText name = (EditText)findViewById(R.id.name);
final EditText psd = (EditText)findViewById(R.id.psd);
Button btnOK = (Button)findViewById(R.id.btnOK);
btnOK.setOnClickListener(new OnClickListener(){
public void onClick(View view){
String uriString = "用户名:"+name.getText().toString()+" 密码:"+psd.getText().toString();
Uri data = Uri.parse(uriString);
Intent result = new Intent(null, data);
setResult(RESULT_OK, result); //设置返回码
finish();
}
});
}
}
Android_manifast:
<?xml version="1.0" encoding="UTF-8"?>
-<manifest android:versionName="1.0" android:versionCode="1" package="edu.hrbeu.ActivityCommunication" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="14"/>
-<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
-<activity android:label="@string/app_name" android:name=".ActivityCommunicationActivity">
-<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name=".SubActivity1"> </activity>
<activity android:label="@string/app_name" android:name=".SubActivity2"> </activity>
</application>
</manifest>
- Android组件通信--Intent
- Android通信组件Intent
- android intent 组件通信
- Android组件间通信
- Android四大组件通信
- Android组件之间通信
- Android组件通信
- Android组件通信
- Android的组件通信:intent
- Android组件之间的通信
- 【Android四大组件】bundle通信
- 实验3:Android组件通信
- Android进程间通信、线程间通信、组件间通信
- Android学习-----Android组件通信PendingIntent
- Android学习-----Android组件通信PendingIntent
- Android系统的组件的通信
- Android组件间通信库EventBus学习
- Android组件通信——Intent
- Candy HDU
- centos 7RHEL7 忘记密码怎么修改root密码
- LeetCode 485 Max Consecutive Ones 最大连续1的个数
- 初次接触C语言如何入门
- 学习笔记8
- Android组件通信
- Java set 基本使用方法
- Angular4学习笔记(九)- 生命周期钩子简介
- MVC、MVP及MVVM
- ArcGIS 10.2 AE开发几个配置问题
- 使用wininet实现网络资源的下载
- 网站favicon图标查看、制作及使用方法总结
- 双网络(内外网)同步漂移的Active-Active双活模式
- txt读取多项式进行加减乘除还有求值~