- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 int和byte数组相互转换详解
将int数值转换为占四个字节的byte数组,如下/*** 将int数值转换为占四个字节的byte数组,(高位在前,低位在后的顺序)。* @param value 要转换的int值* @return byte数组*/return src;将占四个字节的byte数组转换为int数值/*** 将占四个字节的byte数组转换为int数值,(高位在前,低位在后的顺序)。* @param src 占四个字节的byte数组* @return int数值*/int value;
2024-04-24 16:48:15 679
原创 String.format常用格式化汇总
String.format() 方法是 String类的一个格式化输出方法。它可将不同类型的数据格式化为指定格式的字符串,并将结果存储在字符串中。
2024-04-18 15:32:37 718
原创 计算机组成原理和体系
无符号数:整个机器字长全部二进制位均为数值位,相当于绝对值,通常只有无符号整数,没有无符。十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。机器数:数字实际存到机器的形式,正负号需要数字化,其中0表示正,1表示负。原码:用数值部分表示真值的绝对值,符号位“0/1”,对应“正/负”十进制:0,1,2,3,4,5,6,7,8,9。若机器字长n+1位,原码整数的表示范围:-(若机器字长n+1位,反码整数的表示范围:-(八进制:0,1,2,3,4,5,6,7。注:补码的真值0只有一种形式!
2024-04-17 18:08:20 784
原创 【错误记录】Invalid Gradle JDK configuration found. Open Gradle Settings Change JDK location
如果修改JDK Location配置未能解决,可以在Android Studio中关闭项目,打开app项目文件夹,删除.gradle和.idea文件夹,重新打开项目构建即可。2、选择SDK Location→JDK Location,选择合适的JDK版本。1、首先打开Project→Project Structure。
2024-04-07 10:40:19 280 1
原创 Android Monkey自动化测试
例如第三步查询到的pid为3967,输入 kill pid 3967,即可停止monkey。需要跑的时间/命令之间的时间间隔=要执行的次数 8。手机打开我们要测试的app,然后dos窗口中输入。monkey一般用于压力测试,用户模拟用户事件。查看app包名和app当前打开的页面名称。
2024-04-03 16:04:44 555 2
原创 Android 使用LeakCanary检测内存泄漏,分析原因
内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏。平时我们在使用app时,少量的内存泄漏我们是发现不了的,但是当内存泄漏达到一定数量时,可能会引起OOM(Out of memory)我们可以借助工具LeakCanary来检测内测泄漏。
2024-04-01 16:56:57 618
原创 Android悬浮窗实现步骤
当API Level >= 23,显示悬浮窗功能,需要在清单文件AndroidManifest.xml中添加SYSTEM_ALERT_WINDOW权限,添加这个权限后才可以在其他应用上显示悬浮窗。悬浮窗显示的位置可能会遮挡其他信息,这时就需要新增拖动功能,可以拖动到任何位置,实现的逻辑就是给布局View添加触摸事件,根据触摸和移动的位置来决定悬浮窗显示的位置。在Android 8.0之前,悬浮窗口设置可以为TYPE_PHONE,这种类型是用于提供用户交互操作的非应用窗口,现在这个类型已弃用了。
2024-01-30 10:37:52 931 1
原创 App备案——获取公钥和MD5签名
当我们进行App备案时,需要填写App的公钥和MD5签名信息,公钥和 MD5 值可以通过安卓开发工具、Keytool、Jadx-GUI 等多种工具获取,本文以 jadx-gui 为例。
2024-01-15 17:21:34 906
原创 Android Retrofit使用详情
Retrofit是Android用来接口请求的网络框架,内部是基于OkHttp实现的,retrofit负责接口请求的封装,retrofit可以直接将接口数据解析为Bean类、List集合等,直接简化了中间繁琐的数据解析过程。与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景,与 @Multipart 注解配合使用。
2024-01-12 15:09:53 1093
原创 Android Studio Giraffe 添加 maven { url “https://jitpack.io“ }报错
Android Studio Giraffe 添加 maven { url “https://jitpack.io” }报错。
2023-10-27 16:54:18 1836
原创 Android总结
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法逆向代码,例如反编译与注解相结合的框架,如 Retrofit单纯的反射机制应用框架,例如 EventBus(事件总线)动态生成类框架 例如Gsonandroid:configChanges是一个Activity的属性,用于指定在配置更改(例如屏幕旋转、键盘显示等)发生时,我们希望自己处理配置更改而不是系统重新创建Activity。
2023-10-24 15:19:35 157
原创 Java环境变量配置
SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始,J2EE改名为Jakarta EE [1-2]。ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
2023-10-24 10:42:16 179
原创 Kotlin 中 apply、let、also、run的区别
with不怎么使用,因为它确实不防空;经常使用的是run和applyrun 闭包返回结果是闭包的执行结果;apply 返回的是调用者本身。使用上的差别:run 更倾向于做一些其他复杂逻辑操作,而 apply 更多的是对调用者自身配置。大部分情况下,如果不是对调用者本身进行设置,我会使用 run。
2023-10-18 14:16:20 535
原创 Android相关网站
https://developer.android.google.cn/?hl=zh-cnhttps://www.androiddevtools.cn/https://www.androidweekly.io/https://developer.android.google.cn/guide/topics/connectivity/bluetooth-lehttps://www.umeng.com/http://www.mob.com/https://www.rongcloud.cn/https://www
2023-10-09 16:36:43 57
原创 Android Studio 配置Git SVN忽略文件
在使用Android Studio进行版本控制时,经常会遇到需要忽略某些文件的情况,比如临时文件、编译生成的文件等。这些文件虽然在项目中存在,但不希望被加入到版本控制中。
2023-10-09 14:33:37 1224
原创 Android Studio修改模拟器AVD Manger目录
1、在AS的设备管理器Device Manager中删除原来创建的所有虚拟机(Android Virtual Device);3、在高级系统设置中增加系统环境变量 ANDROID_AVD_HOME ,取值为自定义的AVD目录;5、重新Create Device创建新的虚拟机,新的虚拟机将存储在新的AVD目录下。2、新建一个自定义的AVD目录,例如:D:\Android\AndroidAVD。4、重启Android Studio,让系统环境变量生效;
2023-10-08 10:45:22 1796
原创 Android11 适配
将build.gradle的目标版本targetSdkVersion修改为30(Android 11)Android11的改变改变主要影响以Adnroid11 为目标版本的应用(targetSdkVersion>=30才有影响),和所有应用在Android11设备上适配改动(无论targetSdkVersion是多少,只要在Android11设备上运行的应用都有影响)
2023-09-18 09:26:03 2157
原创 Android请求网络报错:not permitted by network security policy
https的接口请求正常的,请求http的接口时报错:not permitted by network security policy。
2023-09-04 17:18:02 1063
原创 Android修改默认gradle路径
Android Studio每次新建项目,都会默认在C盘生成并下载gradle相关文件,由于C盘空间有限,没多久C盘就飘红了,于是就需要把gradle相关文件转移到其他盘。
2023-08-30 17:19:45 4987 1
原创 Android系统定位获取当前位置
通过Android系统可以定位获取当前位置的经纬度,定位的方式主要有:GPS定位,网络定位,WIFI定准,基站定位,AGPS定位(基站+GPS);
2023-08-25 18:04:51 1762 1
原创 设置RecyclerView最大高度
设置RecyclerView的父布局为ConstraintLayout,RecyclerView的高度设置为0dp,添加layout_constraintHeight_min和layout_constraintHeight_max属性,指定相应的高度。这样设置如果RecyclerView包含多个item,其高度最高只显示230dp,滑动可以查看其他item。build.gradle中引入constraintlayout库。通过ConstraintLayout设置。
2023-07-13 18:07:30 1017
原创 【错误记录】MPAndroidChart报NegativeArraySizeException: -2错误
赋值的,phaseX图表数据执行动画的animator对象的x相位值,那问题很有可能就出在(max - min)上,可能是max小于min的值,相减得到负数导致的,min是通过可见范围x的最小值,然后根据这个位置获取数据源对应的点,正常情况下应该是在数组的起始位置。max是通过可见范围x的最大值,然后根据这个位置获取数据源对应的点,正常情况下应该是数组的结束位置。具体解决办法需要打印出x对应的值,看下x值的顺序是否是乱序或者倒序的,根据x的值具体调整,顺。定位到报错的位置,下面就继续分析,
2023-07-07 15:44:45 468
原创 【错误记录】androidx.swiperefreshlayout.widget.SwipeRefreshLayout导包失败
androidx.swiperefreshlayout.widget.SwipeRefreshLayout导包失败
2023-05-24 14:55:04 39706
原创 Android Studio报错:Could not resolve com.android.tools.build:gradle:8.0.0
Android Studio 新建项目会报以下错误:Could not resolve com.android.tools.build:gradle:8.0.0.
2023-05-17 17:28:45 8918 3
原创 Android Studio Flamingo新版本Logcat使用介绍
Android Studio更新后Logcat日志样式大变样了,和之前版本差别很大
2023-05-11 14:01:28 3143 3
原创 修改Android软键盘右下角按钮功能
该属性通常有7种值,分别是actionUnspecified | actionNone | actionGo | actionSearch | actionSend | actionNext | actionDone,不同的代表不同的功能,软键盘右下角也会显示不同的图标或文字与之对应。android手机软键盘设置时的一个重要的属性,主要的功能是设置软键盘上输入内容后接下来要做什么样的事情。需要添加maxLines和inputType,不然按钮显示的仍为换行。布局文件中,EditText添加。
2023-05-09 10:48:09 551
原创 Android build.gradle配置详解
Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的。
2023-04-26 17:47:23 3337
原创 Android Studio 添加库依赖报错 ( Build was configured to prefer settings repositories over project reposit )
Android Studio 版本:Android Studio Flamingo项目语言:Kotlin在添加三方库依赖maven { url ‘https://jitpack.io’ }时。
2023-04-26 16:42:08 1114
原创 Flutter中使用get
当你改变了类其中一个变量,然后执行更新操作,只要包裹了该响应类变量的Obx(),都会实行刷新操作,将整个类设置响应类型,需要结合实际场景使用。只需要将MaterialApp改成GetMaterialApp即可。logic层:处理页面逻辑的。
2023-04-23 16:10:15 1052
原创 Cannot invoke setValue on a background thread
【代码】Cannot invoke setValue on a background thread。
2023-04-20 16:30:32 784
原创 registerForActivityResult
startActivityForResult方法提示过时,官方推荐使用registerForActivityResult写法。
2023-03-22 16:53:17 457
原创 adb常用命令
或者 “&&” 进行分割。adb pull /sdcard/text.txt 电脑文件路径。adb shell am start -n 包名/类名。adb push 电脑文件路径 /sdcard。adb install -r 包位置。移动同一目录下文件相当于重命名文件。adb shell 查看文件后退出。将电脑文件复制到设备sd卡上。-f 强制删除文件不需要确认。-r 递归删除文件夹内文件。然后执行adb pull。-i 删除文件前需要确认。设备文件复制到电脑上。申请 toot 权限。
2023-03-06 15:44:27 1399
原创 Flutter权限申请
permission_handler库地址:https://pub.flutter-io.cn/packages/permission_handler。3、granted 通过,denied 被拒绝,permanentlyDenied 拒绝且不在提示,权限被拒绝时,跳转手机设置页面让用户自行开启权限。1、将以下内容添加到“gradle.properties”文件中:(针对androidX及以上的版本)2、删除要使用的权限前面的字符。3、Info.plist 添加。
2023-02-27 17:48:49 2668
原创 配置Flutter开发环境
另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutter doctor命令来验证是否安装成功。1、去flutter官网下载其最新可用的安装包,下载地址:https://flutter.dev/docs/development/tools/sdk/releases。
2023-02-23 13:57:57 911
Android逆向助手2.0.zip
2020-04-03
settings.zip
2020-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人