全部 文章 问答 分享 共找到33个相关内容
[文章] 【Android】使用反射机制优化导航页面
这里就要请出我们本文的主角——反射机制了。众所周知,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
2020-12-21 17:03 · Android / Java / 反射 / 安卓
[文章] 子类通过反射拓展父类的私有对象
ViewPager2实现,因此实现滑动过程中的动画效果可以通过setPageTransformer()设置,但是ViewPager2作为私有成员无法在外部获取,它的子类也无法访问到,但是子类是有该成员的,所以可以采用反射方法获取到该成员
2022-07-01 16:15 · 反射 / ViewPager2 / 动画
2020-11-03 11:31 · 每日面试题
[文章] JAVA中用反射来实例化对象和获取构造方法
JAVA中用反射来实例化对象和获取构造方法这里的实例化对象呢,是用Class类中的newInstance方法来实例化对象,这个种实例化对象的方法比new这种方法有点复杂,那为什么还使用这种方法呢,其实是为了尽量减少耦合
2019-10-18 21:19 · java / 反射 / 基础
[文章] 《Kotlin》阅读笔记 第八章 元编程
@TOC第八章元编程Java的反射只是元编程的一种方式。示例:将dataclass转换成Map的例子。
1970-01-01 00:00 · kotlin
[文章] Java核心之一 反射
最常见的两个作用根据类名创建实例(类名可以从配置文件读取,不用new,达到解耦)用Method.invoke()执行方法常见Api获取Class类的方法packagecom.aiwenbin.reflection;publicclassClassDemo01{publicstaticvoidmain(String[]args){/***1.获取TypeDemo01类的三种方法*/try{//1.通过Class.forName()获取Classclazz1=Class.forName("com.aiwenbin.reflection.TypeDemo01");System.out.println(clazz1);//2.通过类名.class获取Classclazz2=TypeDemo01.class;System.out.println(clazz2);//3.通过对象.getClass()获取TypeDemo01typeDemo01=newTypeDemo01();Classclazz3=typeDemo01.getClass();System.out.println(clazz3);/***会发现这三种拿到的值,都是相等的。*可以得出一个结论,在当前的jdk运行环境中,同一个.class字节码文件只被加载一次,*被加载之后,第二次再去拿的话,就会直接引用之前的,所以是一样的。*/System.out.println(clazz1==clazz2);System.out.println(clazz2==clazz3);}catch(ClassNotFoundExceptione){e.printStackTrace();}}}问题:如何比较两个Class类是否相同?(可以在评论区说出你的答案)Class类的作用获取类名获取成员变量获取成员方法获取构造方法packagecom.aiwenbin.reflection;importjava.lang.reflect.Field;publicclassClassDemo02{publicstaticvoidmain(String[]args){/***Class类常见的用法*/Classclazz=TypeDemo01.class;//1.获取类的名字StringclazzName=clazz.getName();System.out.println(clazzName);System.out.println("----");//2.获取公开的成员变量Field[]fields=clazz.getFields();for(Fieldfield:fields){System.out.println(field);}System.out.println("----");//3.获取全部的成员变量Field[]declaredFields=clazz.getDeclaredFields();for(inti=0;i<declaredFields.length;i++){System.out.println(declaredFields[i]);}System.out.println("----");//4.获取注解//5.获取构造方法}}常见应用在不改动Java代码的情况下,创建任意一个对象并执行任意一个方法设置两个类:packagecom.aiwenbin.reflection.peoject01;publicclassP{publicvoidaaa(){System.out.println("这是p下的aaaa");}}和;packagecom.aiwenbin.reflection.peoject01;publicclassStudent{privateStringname="默认的名字";publicStudent(){}publicStudent(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicvoidprintName(){System.out.println(name);}}application.properties配置文件内容:1className=reflect.P#要创建的类的全类名2methdName=aaa#要执行的方法核心文件:”packagecom.aiwenbin.reflection.peoject01;importjava.io.IOException;importjava.io.InputStream;importjava.lang.reflect.Method;importjava.sql.Ref;importjava.util.Properties;publicclassReflectTest{publicstaticvoidmain(String[]args){//1.加载并解析配置文件Propertiesproperties=newProperties();ClassLoaderclassLoader=ReflectTest.class.getClassLoader();InputStreamresourceAsStream=classLoader.getResourceAsStream("application.properties");try{properties.load(resourceAsStream);StringclassName=properties.getProperty("className");StringmethName=properties.getProperty("methName");Classcls=Class.forName(className);Objecto=cls.newInstance();Methodmethod=cls.getMethod(methName);method.invoke(o);}catch(Exceptione){e.printStackTrace();}}}测试:修改一下一下配置文件:1className=reflect.Student2methdName=printName就可以看到这种效果了
2020-09-11 22:29 · 反射 / Java
[问答] Android 10适配
能通过反射创建系统级别的wifi配置吗?
2020-09-11 10:31 · Android10 / WiFI
[文章] Java常见面试题整理
引用数据类型比较的是内存地址equals也是比较两个对象是否相等若类没有覆盖equals判断两个对象是否相等(与==一致)若类覆盖了equals比较的是两个对象的内容,若内容相等返回true2.Java核心技术2.1.反射机制
2021-03-13 23:09 · 面试题 / Java
[文章] android wear手表开发如何获取所有的表盘(动态)以及切换表盘
mContext.getOpPackageName());returntrue;}catch(RemoteExceptione){//Ignore}returnfalse;}这个方法是隐藏的,我们可以通过反射方法去调用
2019-10-21 14:09 · androidware / 智能手表 / 切换表盘 / 手表
[文章] java基础概念
extendsList>clazz=list.getClass();Methodadd=clazz.getDeclaredMethod("add",Object.class);//但是通过反射添加是可以的
2021-11-21 11:41 · java基础
[问答] Android属性设置
Unabletosetproperty"persist.sys.com.example.android.camera2basic"to"passed":connectionfailed;errno=13(Permissiondenied)我通过反射的方法设置的
2021-03-24 11:08 · Android / 属性 / Android属性设置
[文章] 两个实体类之间数据对比
需求:当需要对两个实体类的数据进行对比,然后返回一个数据相同的比例值思路:利用反射机制获得类中的数据和对应方法,然后依次比较计数;实体类中都是简单类型,没有复杂类型,所以只是简单对比。
1970-01-01 00:00 · java / 后台 / MVC / SSM
[文章] Java动态代理和静态代理
动态代理动态代理,其实不管是做web开发,还是android开发,学会反射,学会代理可以完成一些不合常理的事情,这一点我深有体会。
2019-10-23 10:56 · java / 代理 / 静态代理 / 动态代理
[文章] 如何降低 ViewPager2 小部件的滚动敏感度
缘灭我们的解决方案十分简单粗暴——使用反射修改它的”TouchSlop“值,让它显得不再那么过于灵敏。
2022-05-15 14:25 · Android / 安卓 / Kotlin / ViewPager2 / Jetpack
[文章] 安卓开发,混淆规则应该怎么写?
同时,开发人员需要确保关键的类、方法、字段以及反射调用的对象不会被混淆,以免影响程序正常运行。怎么混淆?
2024-01-26 18:04 · 混淆 / 安卓开发 / 代码加密 / 发布版本 / 安卓
[文章] Hi~ kotlin and 喜马拉雅 系列文章之三
android不用找控件的名字就是findViewById(R.id.xx)毕竟以往的布局都是要从XML中解析出来,然后再到LayoutInfalter里面通过Constructor.newInstance反射创建出来的
2020-02-04 15:01 · kotlin / 喜马拉雅
[问答] Android银行服务项目点击存款报错

最近在学服务组件的时候写的一个银行项目,在存款的时候报了空指针异常和反射异常,应该怎么解决?

2021-11-22 19:24 · Android
[问答] EditText 使用 Html.fromHtml显示问题
< 0 || emojiId > 130) { return null; } try { //因为图片名字是动态,这个需要反射获取内置表情
2022-08-02 11:31 · 表情写法
[文章] 阳光沙滩Android-App支持摸鱼表情
intemojiId=Integer.parseInt(emojiName);if(emojiId<0||emojiId>130){returnnull;}try{//因为图片名字是动态,这个需要反射获取内置表情
2021-08-22 13:08 · 阳光沙滩App / Android / debug / 富文本 / 断点
[文章] Android面试官:你在教我做事吗?
反射APIClass类、Constructor、Method、Field等类的使用,以及通过反射获取和操作类信息。
2024-01-26 17:51 · 面试 / 安卓 / 系统 / AOSP / java
[文章] JavaScript面向对象
call方法,类似于java里的反射,invoke语法:function.call(thisArgs,args...);以前面的例子,组合继承:importViewfrom".
2022-12-21 21:53 · js / javascript / 面向对象 / 前端开发 / 笔记
[文章] Spring Boot笔记 启动配置原理
String>names=newLinkedHashSet(SpringFactoriesLoader.loadFactoryNames(type,classLoader));//根据类名,通过反射创建实体放入
2020-09-02 21:35 · SpringBoot
[文章] 日常错误记录第一期
它是通过反射的方式去给字段赋值的。Nuxt.js多环境开发的时候,我们有dev环境,测试的时候我们有test环境,上线的时候我们有prod环境通常来说,我们会连接到不同的服务器上。
2022-11-29 17:18 · 错误 / bug / 日常 / 经验 / 工具
[文章] aar本地打包踩坑实录
运行时时会将jar包打进apk的,在运行时就会使用到的,例如retrofit2的注解,他是通过反射的方式获取到注解的信息,这个过程是在应用运行时才会使用到,所以这里会将需要包打进来的。
2023-10-31 11:55 · aar / 离线打包
[文章] 本地aar化踩坑实录
运行时时会将jar包打进apk的,在运行时就会使用到的,例如retrofit2的注解,他是通过反射的方式获取到注解的信息,这个过程是在应用运行时才会使用到,所以这里会将需要包打进来的。
2023-11-20 17:10 · aar / 注解处理
[文章] 《Java基础之面向对象》
MyCloneableClass)super.clone();}}MyCloneableClassobj1=newMyCloneableClass();MyCloneableClassobj2=obj1.clone();反射机制创建实例
[文章] 安卓APP应用内实现插件式换肤
=null//请参阅AppCompatDelegateImpl类,使用反射调用createView方法try{if(mCreateViewMethod==null){mCreateViewMethod=
2021-11-20 00:44 · Android / 安卓 / Kotlin / 插件式换肤 / app换肤
[文章] Android8.1源码GPS看看记录
RemoteExceptioncallingreportLocation");}}...}到这里,我们可以看到注释,calledfromnativecodetoupdateourposition.这个方法是被Native调用的,也就是底层通过反射的方式调用此方法
2020-12-07 18:18 · aosp / 源码编译 / android开发 / gps / 源码分析
[文章] Java 注解详解
类后面的V1、V2都是类型名称,Map后面的尖括号也是类型名称,m1方法前面也定义了一个类型变量,名称为T注解信息的获取为了运行时能准确获取到注解的相关信息,Java在java.lang.reflect反射包下新增了
2020-10-05 10:11 · java / 注解 / java注解
[文章] 25000字总结Android优秀的第三方框架、各种学习资料(下) Camera、Video、指纹、聊天IM、投屏等
packer-ng-plugin多渠道打包依赖注入kotlin中的依赖注入替换dagger2dagger是Java常用的依赖注入框架Koin是一款轻量级的依赖注入框架,根据官方的描述,它无代理,无代码生成,无反射
2020-08-06 09:32 · android / 第三方框架
  • 1
  • 2