- 浏览: 57153 次
- 性别:
- 来自: 北京
博客专栏
-
设计模式
浏览量:7364
文章分类
最新评论
-
alixjiang:
getInstance应该在同步锁的保护之下吧
设计模式-单例模式 -
再_见孙悟空:
就是信息的转发
设计模式-中介者模式 -
DanielHan:
中介者模式中,中介者参与同事角色之间的通信方式,使用的是观察者 ...
设计模式-中介者模式 -
net_hare:
这个和观察者模式有什么区别
设计模式-中介者模式 -
xinglan500:
用代码解释很好哦。多谢博主啦。
JAVA反射机制之一
用法一:跳转后的activity不需要回传参数
send.xml
receive.xml
Send.java
Receive.java
用法二:跳转后的activity需要回传参数
send.xml
receive.xml
Send.java
Receive1.java
Receive2.java
用法二的结果:
send.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到另一个Activity"/> </LinearLayout>
receive.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
Send.java
package com.example.intentdemo; 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 Send extends Activity { private Button btn=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.send); btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Send.this, Receive.class); intent.putExtra("param", "你好!"); startActivity(intent); } }); } }
Receive.java
package com.example.intentdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Receive extends Activity { private TextView txt=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.receive); txt=(TextView)findViewById(R.id.txt); Intent intent=getIntent(); txt.setText(intent.getStringExtra("param")); } }
用法二:跳转后的activity需要回传参数
send.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 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"/> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到Receive1"/> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到Receive2"/> </LinearLayout>
receive.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 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"/> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="回到第一个Activity"/> </LinearLayout>
Send.java
package com.example.intentdemo; 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 Send extends Activity { private Button btn1=null; private Button btn2=null; private TextView txt=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.send); btn1=(Button)findViewById(R.id.btn1); btn2=(Button)findViewById(R.id.btn2); txt=(TextView)findViewById(R.id.txt); btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Send.this, Receive1.class); intent.putExtra("param", "这是Receive1"); startActivityForResult(intent, 1); } }); btn2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Send.this, Receive2.class); intent.putExtra("param", "这是Receive2"); startActivityForResult(intent, 2); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==RESULT_OK){ switch(requestCode){ case 1: txt.setText("从Receive1返回数据"+data.getStringExtra("ret")); break; case 2: txt.setText("从Receive2返回数据"+data.getStringExtra("ret")); break; default: break; } } } }
Receive1.java
package com.example.intentdemo; 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 Receive1 extends Activity { private TextView txt=null; private Button btn=null; private Intent intent=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.receive); txt=(TextView)findViewById(R.id.txt); btn=(Button)findViewById(R.id.btn); intent=getIntent(); txt.setText(intent.getStringExtra("param")); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { intent.putExtra("ret", "1"); setResult(RESULT_OK, intent); finish(); } }); } }
Receive2.java
package com.example.intentdemo; 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 Receive2 extends Activity { private TextView txt=null; private Button btn=null; private Intent intent=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.receive); txt=(TextView)findViewById(R.id.txt); btn=(Button)findViewById(R.id.btn); intent=getIntent(); txt.setText(intent.getStringExtra("param")); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { intent.putExtra("ret", "2"); setResult(RESULT_OK, intent); finish(); } }); } }
用法二的结果:
发表评论
-
Android中path的arcTo方法的使用
2014-09-26 16:28 1255该方法的声明为: void Android.graphics ... -
drawable不同目录你会怎么选择(Android)
2014-09-26 15:18 687可以接触Android的会有一个疑问,为什么res下面会有这么 ... -
android调用手机联系人
2014-09-24 14:11 0一.选择联系人 startActivityForResul ... -
Android中全屏无标题设置
2014-09-24 13:06 582方法一:在java代码中实现 this.requestWi ... -
tools:context的作用
2014-08-05 13:32 625tools:context="activity na ... -
Android平台调用WebService详解
2014-08-05 10:32 549http://blog.csdn.net/lyq8479/ar ... -
Android开发之WebService介绍
2014-08-05 10:31 595http://blog.csdn.net/lyq8479/ar ... -
Handler
2014-07-16 16:43 561Android中有着和J2SE ... -
java中的匿名内部类总结
2014-07-16 14:45 451匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部 ... -
两分钟彻底让你明白Android Activity生命周期(图文)!
2014-07-16 09:39 619大家好,今天给大家详解一下Android中Activity的生 ... -
StateListDrawable资源
2014-07-15 21:18 1327StateListDrawable用于组织多个Draw ... -
Android home键和back键区别
2014-07-15 13:04 857back键 Android的程序无需刻意的去退出,当你一按下手 ... -
ImageView的ScaleType属性
2014-07-15 12:54 1016图片说明Andorid中ImageView的不同属性Scale ... -
存储方式三:数据库SQLite(SQLiteOpenHelper)
2014-07-09 18:23 592SQLHelper.java package com.ex ... -
存储方式二:文件(XML XmlPull解析)
2014-07-09 13:30 5871.读 LinkMan.java package com. ... -
存储方式二:文件(XML SAX解析)
2014-07-08 19:40 402LinkMan.java package com.exam ... -
存储方式二:文件(XML DOM解析)
2014-07-08 19:41 4511.写 package com.example.filed ... -
存储方式二:文件(raw下的文本文件)
2014-07-08 13:47 726package com.example.filedemo; ... -
存储方式二:文件(文本文件)
2014-07-08 13:37 568一.写 FileOutputStream output ... -
存储方式一:SharedPreferences
2014-07-08 10:08 412一.添加数据 SharedPreferences shar ...
相关推荐
### Android Intent用法大全 #### 概述 在Android开发中,`Intent`是一个非常重要的概念,它主要用于组件之间的通信,比如启动一个Activity、服务、广播接收器等。本篇文章将详细介绍Intent的各种常见用法,包括但...
你可以通过putExtra()方法添加键值对,然后在接收端使用getExtra()系列方法取出数据。例如: ```java // 发送端 Intent intent = new Intent(); intent.putExtra("key", "value"); startActivity(intent); // 接收...
Android-Intent使用方法详解 配合(http://blog.csdn.net/daiyibo123/article/details/51227160)博客查看。使用Android stdio编写。
### Android Intent 使用详解 在Android开发中,`Intent`是一个非常重要的类,它主要用于应用程序组件间的交互和通信。...理解并熟练掌握Intent的使用方法对于提高应用程序的功能性和用户体验至关重要。
以下是关于Android Intent的详细说明和用法汇总: 1. **显示网页**: 使用`Intent.ACTION_VIEW`和`Uri.parse()`可以打开浏览器显示指定的网页。例如,`Uri uri = Uri.parse("http://google.com");`创建了一个指向...
本文将深入讲解Intent在广播和服务中的使用方法,以实例的形式帮助开发者更好地理解Intent的用法。 一、Intent的基本概念 Intent在Android中扮演着消息传递者的角色,它封装了操作类型和数据,并在组件之间传递。...
本文实例讲述了Android组件之间交互核心Intent用法。分享给大家供大家参考,具体如下: 从一个Activity启动到另一个Activity可以使用startActivity()方法或者是startActivityForResult()方法 第一种:直接启动一个...
3. **Intent的使用方法** - **显式Intent**:当确切知道要启动哪个组件时,可以使用Component属性显式指定组件的类名。 - **隐式Intent**:如果只知操作而不关心具体由哪个组件处理,可以设置Action、Category、...
- 使用putExtra()方法添加键值对:`intent.putExtra("key", "value");` - 获取数据:在目标组件中使用`getExtras()`或`getStringExtra("key")`等方法获取。 4. 使用Intent创建意图过滤器(Intent Filter): - ...
IntentAnalyser这个源码可能包含了对上述Intent用法的解析和展示逻辑。通过分析IntentAnalyser,开发者可以学习如何捕获和解析Intent,从而更好地理解App的运行流程和与其他App的交互方式。这有助于优化用户体验,...
以下是对Intent用法的详细说明: 1. 显示网页: 使用ACTION_VIEW和Uri解析器可以打开一个网页。例如,`Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri); start...
以上仅展示了部分常见的Intent用法,实际上Intent的功能远不止这些,比如启动其他应用的特定Activity、启动服务、发送广播等。在实际开发中,我们还需要根据具体需求,合理利用Intent的其他特性,如添加Flags(如`...
以下是从“robotium intent 各种用法”这一主题中提取并详细解释的21种常见的`Intent`使用场景: ### 1. 从Google搜索内容 通过调用`Intent.ACTION_WEB_SEARCH`,可以启动系统默认的搜索引擎,搜索指定的关键词。...
以下是对给定文件中提及的常见Intent用法的详细解析: ### 1. 播放音频文件 #### 示例代码: ```java Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/song.mp3"); it....
在本教程中,我们将深入探讨Intent Filter的使用方法。 首先,Intent Filter的配置主要在AndroidManifest.xml文件中进行。通过在、、或标签内添加<intent-filter>子标签,我们可以为每个组件定义其能够接收的Intent...
### Intent的常用方法 在Android开发中,`Intent`是一个非常重要的类,它主要用于应用程序组件间的通信。通过`Intent`可以启动新的...理解`Intent`的基本概念和使用方法对于成为一名合格的Android开发者至关重要。
使用`sendBroadcast(Intent)`、`sendOrderedBroadcast(Intent, String)`或`sendBroadcastAsUser(Intent, UserHandle, String)`方法发送广播。注册广播接收器有两种方式:在AndroidManifest.xml中静态注册或在代码中...
以上是Intent的基本用法,但Intent还有更多高级用法,如隐式Intent(用于启动未明确指定组件的Activity或Service)、显式Intent(指定确切的组件)、捆绑数据、使用Intent Filter等。理解并熟练使用Intent是构建...