• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Java反射在Android中的使用,java反射android

Java反射在Android中的使用,java反射android

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了java反射的使用,java反射原理,java中反射,java反射,java反射机制实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Java反射在Android中的使用,java反射android


转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6606687.html

 

做Java开发或者安卓开发的同学经常都会遇到这样一个问题,如果我们想调用A类里面的一个私有方法B,然后在C类中使用。通常的直接调用方法是行不通的。也有人说那就把私有的变为公有的就完事了呗,但是凡事都有解决方案,不用改为公有。

进入正题:

有这样一段代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        method();
    }

    private void method() {

    }
}

现在我们想用Junit测试MainActivity中的私有方法method

如果我们想测试MainActivity里面的私有方法method,直接调用是行不通的,这时候就用到了Java反射(Reflect)

首先,创建测试文件MainActivityTest,继承AndroidTestCase

public class MainActivityTest extends AndroidTestCase {}

然后,创建测试类testMethod

public void testMethod() throws Exception {}

完整测试代码

public class MainActivityTest extends AndroidTestCase {

    public void testMethod() throws Exception {

        MainActivity activity = new MainActivity();
        Method testMethod = MainActivity.class.getDeclaredMethod("method");
        testMethod.setAccessible(true);
        testMethod.invoke(activity);
    }

}

至此,我们就可以使用MainActivity中的私有方法method了!

 

关注我的新浪微博,获取更多Android开发资讯!

关注科技评论家,领略科技、创新、教育以及最大化人类智慧与想象力!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Java反射在Android中的使用,java反射android

相关文章

  • 2017-05-26Android 代码动态改变View的属性
  • 2017-05-26在Linux上分析死锁问题的简单方法
  • 2017-05-26[android] 手机卫士绑定sim卡,androidsim
  • 2017-05-26Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式,静态库与动态库编程
  • 2017-05-26Android用Intent来启动Service报“java.lang.IllegalArgumentException: Service Intent must be explicit”错误的解决方法,explicitintent
  • 2017-05-26android开发中常见布局的注意点,android开发布局
  • 2017-05-26NDK中使用pthread多线程中自己写的一个BUG,ndkpthread
  • 2017-05-26android:Activity启动模式之standard
  • 2017-05-26【React Native开发】React Native控件之DrawerLayoutAndroid抽屉导航切换组件讲解(13)
  • 2017-05-26算法导论--平摊分析之聚集分析,算法导论--平摊

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android源码装饰模式---ContextWrapper
    • Kotlin的扩展函数:扩展Android框架(KAD 08),kotlinandroid
    • 想要了解Kotlin,看这个就够了,想要Kotlin,
    • 安卓第三天笔记--通知-进度条-时期,安卓第三天
    • 我的Android进阶之旅------)Android自定义View实现带数字的进度条(NumberProgressBar)
    • 我的Android进阶之旅------)关于android:layout_weight属性的详细解析
    • Android 上千实例源码分析以及开源分析
    • EventBus通信小能手,EventBus通信能手
    • 【lushengduan】01、搭建安卓App开发环境 编写程序HelloWorld,lushengduan安卓
    • 仿拉手团购App8-- 更多模块,拉手团购app8--模块

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有