① android activity怎么给fragment传值
参数传递方法一
在Activity中定义一个字段、然后添加set和get方法、代码如下、mTitle就是要传递的参数、如果是传递对象、可以把mTitle换成一个对象即可
② 如何在Android开发中activity之间数据传递
android各组件之间可以使用Intent来传递数据, 这里以ActivityA向ActivityB传递数据为例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Intent intent = new Intent(context, ActivityB.class);
//如果context上下文不是Activity的话, 需要添加下面这个flag,
if (!(context instanceof Activity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
//添加要传递的数据
//这里的key到时候ActivityB会用来得到value
//android要求可以传递的数据类型包括基本数据类型,
//基本数据类型的数组,CharSequence,以及实现了Parcelable的对象
//putExtra是重载方法, 根据value的类型会适当的打包进intent的Bundle对象里
intent.putExtra(key, value);
//或则将数据打包进Bundle data里, 然后intent.putExtras(data);
context.startActivity(intent);
在ActivityB中
1
2
3
4
5
6
public void onCreate(Bundle savedInstanceState) {
//得到传递过来的数据
Bundle bundle = getIntent().getExtras();
//通过getXXX方法来获取key对应的value
bundle.getXXX(key);
}
③ android 怎么跨activity传参
Activity之间一般通过Intent来传递信息,通过intent的putExtra方法将数据放入其中,目标activity中通过getIntent方法获取到该intent,然后从intent中获取到数据;如果更复杂的情况可以使用Handler或者广播的方式来通过消息传递数据。
④ android里 activity怎么向service传递参数
android中activity中向service传递参数,有如下方法:
1.在Activity里注册一个BroadcastReceiver,Service完成某个任务就可以发一个广播,接收器收到广播后通知activity做相应的操作。
2.使用bindService来关联Service和Application,应用.apk里的所有组件一般情况都运行在同一个进程中,所以不需要用到IPC,bindService成功后,Service的Client可以得到Service返回的一个iBinder引用,具体的参见Service的文档及onBind的例子,这样Service的引用就可以通过返回的iBinder对象得到,如
public class LocalService extends Service {
// This is the object that receives interactions from clients. See
// RemoteService for a more complete example.
private final IBinder mBinder = new LocalBinder();
public class LocalBinder extends Binder {
LocalService getService() {
return LocalService.this;
}
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
之后Client通过这个iBinder对象得到Service对象引用之后,可以直接和Service通讯,比如读取Service中的值或是调用Service的方法。
⑤ 如何在Android开发中activity之间数据传递
用intent在activity之间传递数据,需要注意三个方法:
1.startActivityForResult(Intent intent, int requestCode)
2.setResult(int resultCode, Intent data)
3.onActivityResult(int requestCode, int resultCode, Intent data)
需要注意的是:
1.函数1在Activity_A里面调用,然后启动Activity_B(由intent参数决定启动哪个activity);然后Activity_B执行完了之后,在finish()函数里面调用函数2;此时返回Activity_A;最后在Activity_A里面系统自动调用已经重载的函数3,Activity_A可以从该函数的第三个参数data里面获得想要的数据。
2.函数1有两个参数,第二个参数确定请求码;
3.函数3有三个参数:第一个参数请求码,与函数1的第二个参数意义相同,用于确定是否是从Activity_B里获得的返回值;第二个参数是结果码,用于确定返回的结果是否可用;第三个参数是intent变量,用于传递数据。
⑥ android中Activity 传递参数
使用Intent(),利用括号里的内容进行传参非常不好用,只能传三四个参数,而且非常的慢,在运行时,activity的转换会变的巨卡无比,如果您想传的参数非常多,建议您用数据库,非常方便。例如从activity01切换到activity02,在activity02中进行参数的设置,并保存到数据库中,然后通过无参的方法转到activity01中,如果想在activity01中使用activity02中的参数,直接通过数据库调用就可以了。这是符合软件工程的设计。
⑦ 如何在Android开发中activity之间数据传递
方法/步骤
创建Intent对象,并配置参数,有那个activity跳转到哪个activity
⑧ android activity之间怎么传对象数据
StartActivity的时候将数据携带到Intent的bundle里,如果要携带自定义的对象,你自定义的对象要实现Serializable接口,就是在类里加一个implement Serializable。
然后
Intent intent = new Intent(this, Activity2);
Bundle bundle = new Bundle();
bundle.putSerializable("参数名", 自定义对象);
intent.putExtras(bundle);
startActivity(intent);
就可以把参数带过去了,
取的时候用
getIntent().getSerializableExtra("参数名")
就可以取到你传过来的对象了
强转一下类型就能用了
⑨ android两个activity之间传值
Activity之间是没有办法直接传递数据的。Android的设计原则是,用Intent在不同的Activity和进程之间进行通信,但是通常来讲,Intent中只能存入基本数据类型和系统默认支持的比如Uri之类的。那么对于用户自己定义的数据结构是无法直接用Intent来传送的,如果想要通过Intent来传递自定义数据,可以让数据结构实现Parcelable接口,这样就可以把数据放入Intent。但是Intent的传送效率也不是很高,特别是当传递一些如Bitmap的大数据,用Intent传递超过500K的Bitmap,就会造成Framework层的Java Binder挂掉,结果就是传递不成功。
这点可以算成是Android的一个弊端,没有很好的解决方案。能做到的就是尽量设计的时候注意,尽量让Activity之间共享基本数据类型。
Android本身的应用中也深受其害,可以看到有很多应用程序的源代码中的主要的类在三千行以上的不在少数,比如Browser中的BrowserActivity有四千多行;Mms中的ComposeMessageActivity也有四千多行,等等。为什么一个类会如此之大,就是因为它们是程序的主页面,是业务的核心逻辑所在,里面也控制着很多的其他的数据结构,而又无法与另外的Activity共享,所以就只能在一个Activity里面做所的事情。