java
文章平均质量分 58
java 开发
学知识拯救世界
这个作者很懒,什么都没留下…
展开
-
Android RecyclerView
【代码】Android RecyclerView。原创 2024-05-08 15:43:46 · 807 阅读 · 0 评论 -
Junit单元测试框架
可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,比如IDEA)原创 2024-05-07 17:15:07 · 248 阅读 · 0 评论 -
WebView
主要是用来处理webView界面加载url的生命周期。每个生命周期需要完成的事情,具体可以见下面的文章。原创 2024-04-30 14:50:12 · 250 阅读 · 0 评论 -
android开发规范
注意:更改代码使其更简洁、高效或易于阅读和理解称为“重构”。这就像写一篇文章,先写一份包含所有信息的初稿,然后再对文字进行修改和提炼。原创 2023-11-28 20:14:28 · 414 阅读 · 0 评论 -
Android架构 架构和 CPU ABI - NDK
【代码】Android架构。原创 2023-08-29 11:46:43 · 227 阅读 · 0 评论 -
try-with-resource
try-with-resource是java7版本引入的。原创 2023-08-18 11:29:55 · 177 阅读 · 0 评论 -
JAVA Android 正则表达式
正则表达式是对字符串执行模式匹配的技术。原创 2023-08-08 15:59:45 · 1159 阅读 · 0 评论 -
hook点的选择
单例 > static > public final > public > private。hook点的选择:优先内存中份数最少的。原创 2023-08-04 20:39:14 · 87 阅读 · 0 评论 -
java 可变长度形参 jsonObject是否有序 jsonObject key value遍历
Java中的Object…形参表示可变参数,也称为varargs。它允许方法接受任意数量的参数,并将它们作为一个数组传递给方法。使用可变参数可以方便地处理不确定数量的参数,而不需要事先定义参数的个数。在方法定义中,使用Object…来声明可变参数。在方法调用时,可以传递任意数量的参数,甚至可以不传递参数。在上面的示例中,printValues方法接受任意数量的Object类型参数。在方法体中,使用for-each循环遍历参数数组并打印每个值。原创 2023-07-11 15:20:00 · 385 阅读 · 0 评论 -
Android .9.png格式图片
9.png分为内容部分和伸缩部分两部分。原创 2023-07-03 13:38:11 · 194 阅读 · 0 评论 -
Android classLoader 双亲委托 反射 类加载 Class.forName classLoader.loadClass
双亲委托机制,就是导入类的时候判断parent是否已经导入过该类。原创 2023-06-15 15:19:30 · 977 阅读 · 0 评论 -
java 左右移位
运算符右移运算符>>左移运算符原创 2023-06-14 09:54:51 · 773 阅读 · 0 评论 -
JAVA 函数 通过函数传递long[],传递的只是long[]的引用,快速拷贝数组的五种方式效率对比
如果main函数传递了new long[60]后,又改变了new long[60]的值,则function函数中receiveList2的值也会收到影响。原创 2023-05-06 14:29:00 · 1023 阅读 · 0 评论 -
如何更好的提问
一般来说,在仔细挑选的公共论坛中提问比在私有论坛中提同样的问题更容易得到有用的回答。有几个道理支持这点,一是看潜在的回复者有多少,二是看论坛的参与者有多少,黑客更愿回答能启发多数人的问题。当某个项目存在开发者邮件列表时,要向列表而不是其中的个别成员提问,即使你确信他能最好地回答你的问题。查一查项目的文档和主页,找到项目的邮件列表并使用它。原创 2023-04-20 20:42:03 · 124 阅读 · 0 评论 -
编码 urlencode utf-8编码转换
由于sdkParam的数据以utf-8数据显示时,会包括"&“与”=",与payInfo中存储数据的格式冲突。所以服务端传输sdkParam时,采用urlEncode的编码方式,客户端收到sdkParam数据时,需要对此数据进行转码 urlEncode -> utf-8。原创 2023-03-30 20:16:41 · 2219 阅读 · 0 评论 -
java 反射(reflection)class Method Field Constructor 类加载 GAID反射获取
1.反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息(比如成员变量,构造器,成员方法等等),并能操作对象的属性和方法。反射在设置模式和框架底层都会用到。2、加载完类之后,在堆中就产生了一个class类型的对象,一个类只有一个Class对象,这个对象包括了类的完整结构信息,通过这个对象得到类的结构。这个Class对象就想一面镜子,透过这个镜子可以看到类的结构,所以形象的成为反射。原创 2023-01-18 17:45:48 · 219 阅读 · 0 评论 -
<uses-library>
注意:Google Play 使用您的应用清单中声明的 元素,从不符合其库要求的设备中过滤掉您的应用。如需详细了解如何过滤,请参阅 Google Play 过滤器一文。原创 2023-03-22 15:29:41 · 495 阅读 · 0 评论 -
Meta-data存储数据过长导致获取数据为null metadata获取值为null
读取manifest中的meta-data数据时,数据类型过长XXX23037615XXX29XXX(全部为数字)使用下面的方法进行meta-data值获取时,获取到的值为null。原创 2023-03-16 14:33:30 · 691 阅读 · 0 评论 -
设计模式-代理模式 /动态代理 /反射
proxy是代理人的意思,编程当中,指的是创建代理人和本人两个对象,只有代理人无法完成的工作才会交给本人完成。其他工作都由代理人自己完成。原创 2023-03-13 20:22:44 · 184 阅读 · 0 评论 -
Android R8/应用缩减、混淆处理和优化 变体中声明混淆
R8主要用于****。原创 2023-03-13 11:16:20 · 306 阅读 · 0 评论 -
Android(Android Runtime,ART)如何加载dex文件; 什么是主dex? Android Runtime (ART) 和 Dalvik\ dex2oat
主要 DEX 文件 (classes.dex)当您构建应用时,Android 构建工具会根据需要构造主要 DEX 文件 (classes.dex) 和辅助 DEX 文件(classes2.dex 和 classes3.dex 等)。然后,构建系统会将所有 DEX 文件打包到 APK 中。在运行时,MultiDex API 使用特殊的类加载器来搜索适用于您的方法的所有 DEX 文件,而不是只在主 classes.dex 文件中搜索。原创 2023-03-03 17:49:46 · 631 阅读 · 0 评论 -
Android supports-screens 屏幕适配
只有在万不得已时,才可以针对无法充分利用较大屏幕尺寸的应用使用屏幕兼容模式。建议不要在此模式下运行应用,因为它会导致用户体验不佳。屏幕兼容性模式有两种不同的版本,具体取决于运行应用的设备版本。在 Android 版本 1.6 至 3.1 中,系统会在“邮票式”窗口中运行您的应用。它会模拟 320dp x 480dp 屏幕,并用黑色边框填充屏幕的剩余区域。在 Android 3.2 及更高版本上,系统会像在 320dp x 480dp 屏幕上一样绘制布局,然后将其放大以填充屏幕。原创 2023-03-07 18:22:24 · 1072 阅读 · 0 评论 -
node promise 处理异步方法\ 回调函数\回调地狱问题重现
创建Promise对象后,会有两个返回值,分别是resolve、reject表示成功与失败。如果成功,则调用resolve(data),data中可以将成功的值传递,如果是失败,则调用reject(error),将失败的内容传递。promise有一个then的返回值,在执行完promise的function之后,会通过then方法,将promise的返回值输出。原创 2023-02-26 15:41:21 · 210 阅读 · 0 评论 -
AAPT2
AAPT2(Android 资源打包工具)是一种构建工具,Android Studio 和 Android Gradle 插件使用它来编译和打包应用的资源。AAPT2 会解析资源、为资源编制索引,并将资源编译为针对 Android 平台进行过优化的二进制格式。Android Gradle 插件 3.0.0 及更高版本在默认情况下会启用 AAPT2。您通常不需要自行调用 aapt2。不过,如果您更愿意使用自己的终端和构建系统而不是 Android Studio,则可以从命令行使用 AAPT2。原创 2023-02-22 20:38:38 · 1139 阅读 · 0 评论 -
Gradle Groovy 快速入门
要构建一个 Groovy 项目,你需要使用 Groovy 插件。该插件扩展了 Java 插件,对你的项目增加了 Groovy 的编译功能. 你的项目可以包含 Groovy 源码,Java 源码,或者两者都包含。在其他各方面,Groovy 项目与我们在第七章 Java 快速入门中所看到的Java 项目几乎相同。原创 2023-02-22 20:00:16 · 294 阅读 · 0 评论 -
Gradle 依赖管理基础
Android Studio中,除了上述定义的配置项外,还有implementation、testImplementation、androidTestImplementation等,这些应该就是Android Studio中自定义的配置项。外部依赖包含 group,name 和 version 几个属性。根据选取仓库的不同,group 和 version 也可能是可选的。当然,也有一种更加简洁的方式来声明外部依赖。采用:将三个属性拼接在一起即可。原创 2023-02-21 20:35:54 · 562 阅读 · 0 评论 -
Gradle 构建基础 / Gradle 构建java项目
projects 和 tasks是 Gradle 中最重要的两个概念。任何一个 Gradle 构建都是由一个或多个 projects 组成。每个 project 包括许多可构建组成部分。这完全取决于你要构建些什么。举个例子,每个 project 或许是一个 jar 包或者一个 web 应用,它也可以是一个由许多其他项目中产生的 jar 构成的 zip 压缩包。一个 project 不必描述它只能进行构建操作。它也可以部署你的应用或搭建你的环境。不要担心它像听上去的那样庞大。原创 2023-02-21 18:45:48 · 760 阅读 · 0 评论 -
Android 后台任务/ Android后台优化/Android电池优化/自Android启动权限前身
一般来说,运行时间超过几毫秒的所有任务都应委派给子线程。长时间运行的常见任务包括解码位图、访问存储空间、处理机器学习 (ML) 模型、执行网络请求等。原创 2023-02-16 16:10:05 · 805 阅读 · 0 评论 -
android apk目录结构/AAR目录/资源目录/目录结构/依赖
assets和res的区别如下,assets目录支持任意深度的子目录,用户可以根据自己的需求任意部署文件夹架构,而且res目录下的文件会在.R文件中生成对应的资源ID,assets不会自动生成对应的ID,访问的时候需要AssetManager类。Android中,res用来存放资源文件,res文件夹下存放的所有文件,使用aapt命令工具会生成对应的R文件,包括color.xml中的各个color属性等。dx工具可以对多个class文件进行合并,重组,优化,可以达到减小体积,缩短运行时间的目的。原创 2022-12-23 18:19:30 · 2213 阅读 · 0 评论 -
Android库依赖关系/支持库
双击模块的Tasks->help->dependencies中可以看项目中的依赖库以及依赖库的导入关系。\代表该层的最有一个依赖。-来表示同一层依赖的最后一个节点。标识D为A下一层最后一个依赖。原创 2023-02-15 16:00:13 · 1390 阅读 · 0 评论 -
手机设置adb输入法后,输入信息的方式
手机设置adb输入法后,输入信息的方式。原创 2023-02-14 10:25:15 · 208 阅读 · 0 评论 -
Android Studio使用小技巧 APP视图界面为横屏界面 项目依赖包下载到本地的jar或aar的路径
完整路径是:C:\Users\用户名.gradle\caches\modules-2\files-2.1\com.google.http-client\google-http-client-jackson\1.15.0-rc\哈希值\jar或aar文件。其实Android Studio中所有项目都共用同一个本地缓存库,路径是:C:\Users\用户名.gradle\caches\modules-2\files-2.1。然后通过:包名\模块名\版本号\哈希值\jar或aar文件。原创 2023-02-12 12:50:04 · 907 阅读 · 0 评论 -
Service基础使用
Service是一个应用组件,它用来在后台完成一个的工作,且。Service的生命周期方法在主线程运行。原创 2023-02-10 11:20:22 · 650 阅读 · 0 评论 -
Android启动流程源码 | Service启动与绑定 | Android系统启动流程
有时也称为隐式共享,是一种计算机管理中用来有效地对可修改资源执行“复制”操作的资源管理技术。原创 2023-02-09 15:48:11 · 340 阅读 · 0 评论 -
Android自启动 后台优化 后台处理指南
自启动权限。出于省电的目的,Android手机厂商都定制了自己的自启动管理,防止App随意偷跑流量和持续耗电等。原创 2023-02-09 15:09:48 · 2705 阅读 · 0 评论 -
Android 设备信息的获取 总存储内存
【代码】Android 设备信息的获取 总存储内存。原创 2023-02-03 17:01:37 · 324 阅读 · 0 评论 -
jar转成dex文件 dex文件转化为smali文件 java转化为class 打包/dx/d8 apksigner签名
可以利用android studio中的dx工具。可以看到android的tool安装位置:在此路径下的如下目录有dx.bat,这个正是我们需要使用的工具。将dx.bat添加到环境变量。原创 2023-01-11 10:34:04 · 2968 阅读 · 0 评论 -
‘apktool‘ is not recognized as an internal or external command
使用apktool进行编译时,突然提示。原创 2023-01-06 16:13:31 · 690 阅读 · 0 评论 -
Android页面布局
我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体。第一步,在assets目录下新建fonts目录,把ttf字体文件放到这。//得到AssetManager Typeface tf = Typeface . createFromAsset(mgr , "fonts/ttf.ttf");//根据路径得到Typeface tv = findViewById(R . id . textview);//设置字体。原创 2022-12-02 14:06:12 · 196 阅读 · 0 评论 -
node.js pm2指令 express
日志文件所在目录为。原创 2022-11-10 10:43:51 · 392 阅读 · 0 评论