`

Activity之间调用成员方法

 
阅读更多
先贴代码吧,没什么可说的
public void callMethod()
	{
		try {
			//获取环境变量
			Context ctx = createPackageContext("com.forhope.zhang", Context.CONTEXT_IGNORE_SECURITY|CONTEXT_INCLUDE_CODE);
			
			//载入这个类
			Class clazz = ctx.getClassLoader().loadClass("com.forhope.zhang.MainActivity");
			
			//新建一个实例
			Object owner = clazz.newInstance();
			
			//调用方法,传入参数,得到结果
			clazz.getMethod("print", String.class).invoke(owner, "fuck");
			
			
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
	}
分享到:
评论
4 楼 龙哥IT 2012-01-11  
          
3 楼 蜗牛/ 2011-12-14  
read_act 写道
提醒大家 , 这个方法虽然是可以调用到, 但却是新建了一个Activity实例再调用method, 所以,成员变量都是null !!

嗯,谢谢提醒
2 楼 read_act 2011-12-14  
提醒大家 , 这个方法虽然是可以调用到, 但却是新建了一个Activity实例再调用method, 所以,成员变量都是null !!
1 楼 龙哥IT 2011-10-09  
干嘛用的?

相关推荐

    Activity之间的调用

    Activity之间的调用是Android应用中常见的功能,用于实现不同界面间的跳转和数据传递。本主题将深入讲解Activity之间的调用机制以及Intent在其中的作用。 一、Activity的启动模式 Activity的启动模式分为四种:...

    通过aidl service调用activity

    在Activity中,通过`IBinder`获取到Service实例,然后调用接口方法。首先,需要绑定Service: ```java ServiceConnection connection = new ServiceConnection() { @Override public void onServiceConnected...

    NativeActivity调用过程

    当Native Activity需要销毁时,Java层调用onSurfaceDestroyedNative方法,其中传递的参数mNativeHandle是关键,因为它是JNI函数的入参,对应于Native层的局部变量code。 在这个局部变量code的初始化过程中,它实际...

    Activity之间的跳转项目案例实现

    "Activity之间的跳转项目案例实现"这个主题主要关注如何在不同的Activity之间切换,并且在跳转过程中传递数据。这里我们将详细探讨Activity的生命周期、启动模式、以及如何在Activity间进行数据传递。 首先,...

    Fragment与Activity 之间的数据传输

    - **使用静态方法或成员变量**:在同一个Activity内的Fragment间,可以直接通过静态方法或共享成员变量进行数据交换,但这种方式不利于代码的维护和扩展。 **4. Fragment的切换** Fragment的切换通常通过...

    重建Activity-Recreating an Activity

    如果需要保存更多如成员变量等额外信息,开发者需要在Activity生命周期中实现onSaveInstanceState()方法。此方法会在Activity停止时被调用,允许开发者将额外的状态信息以键值对的形式保存到Bundle对象中。然后,在...

    安卓activity之间简单信息传递

    在Activity之间,通过调用Singleton.getInstance().setData()和Singleton.getInstance().getData()进行数据交换。 四、“自我介绍页面跳转项目”实践 在“自我介绍页面跳转项目”中,可能涉及多个Activity,每个...

    kotlin对activity和Fragment的简单封装

    - Kotlin的数据类可以帮助我们简洁地创建数据持有者,用于传递Activity与Fragment之间或者Fragment之间的数据。 4. **懒加载(Lazy Initialization)**: - 使用Kotlin的`by lazy`委托属性可以确保Fragment或...

    Activity生命周期源代码

    Activity的生命周期由一系列的方法组成,这些方法会在特定时刻被系统调用,例如当Activity创建、启动、暂停、恢复或销毁时。通过分析Activity的源代码,我们可以深入理解这些方法的工作原理。 1. **生命周期方法** ...

    android Activity之间的数据传递

    在启动Activity时,我们可以设置请求码(requestCode),并在目标Activity完成操作后调用`setResult()`设置返回结果,最后使用`finish()`关闭Activity。主Activity会回调`onActivityResult()`方法,根据请求码判断...

    Fragment和Activity通信以及Fragment之间通信的方式(二)

    但是,这种方法容易导致内存泄漏,因为静态成员不会随Activity或Fragment的销毁而释放。 4. **使用ViewModel**:Android架构组件库提供的ViewModel类可以在配置变更(如屏幕旋转)时保持数据,因此Fragment之间可以...

    android的关于fragment,实现Activity之间的跳转

    在Android中,Activity间的跳转主要通过调用`Intent`对象的`startActivity()`或`startActivityForResult()`方法。但当我们涉及到Fragment时,通常需要在Fragment内启动新的Activity,这时需要通过以下步骤: 1. 在...

    android 14.Activity之间的Inter-process沟通

    2. **在同一进程内的Activity通信**: 当两个Activity位于同一进程中时,它们可以直接访问彼此的成员变量和方法,无需使用IPC。但如描述中所述,这种情况下的通信速度较快且更直接,因为它们共享相同的内存空间。 3....

    Android知识点Activity篇.pdf

    Activity的生命周期由一系列的回调方法组成,这些方法在特定事件发生时被系统调用。正常情况下的生命周期包括: - **onCreate()**:Activity首次创建时调用,用于设置UI布局、初始化数据等。 - **onStart()**:...

    Fragment和Activity双向交互

    2. **公开方法**:Activity可以提供一些公开的方法供Fragment调用。这种方式适用于简单的情景,但需要注意的是,由于Activity实例可能因配置改变而重建,所以需要处理好生命周期问题。 3. **Bundle参数**:在...

    Activity運作流程

    - `onCreate()`:这是`Activity`的第一个回调方法,在`Activity`首次创建时调用。在此阶段,系统为`Activity`分配资源并初始化成员变量。 - **启动状态**: - `onStart()`:当`Activity`变为可见时调用。例如,当`...

    Android核心组件之Activity

    在这些状态之间,系统会调用特定的方法,如onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()等,开发者可以在这些方法中进行相应的操作。 1. **onCreate()**:当Activity首次创建时,系统会...

    安卓Activity生命周期MyLifeDemo

    1. **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,开发者通常会初始化UI布局、设置数据绑定和事件监听器等。 2. **启动(Started)**:`onStart()`方法紧接着`onCreate()`...

    fragment和activity间的跳转

    在Fragment跳转到Activity时,我们通常创建一个Intent对象,然后调用startActivity()方法来启动新的Activity。 2. FragmentManager:它是Activity中的一个成员变量,用于管理Activity中的Fragment。当需要进行...

    Android Activity ABC页面跳转生命周期变化及activity + fragment生命周期变化

    在Activity之间进行跳转(如ABC页面),每个Activity的生命周期方法会按照上述顺序调用。例如,从A到B,A的`onPause()`和B的`onResume()`会被调用;如果再从B返回A,B的`onPause()`和A的`onResume()`会再次执行。 ...

Global site tag (gtag.js) - Google Analytics