自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 WindowManager 的 updateViewLayout取消动画效果

写了一个悬浮窗,添加了移动悬浮窗的功能和一个点击后改变悬浮窗的layoutParams.width和layoutParams.height的效果,但是出现了一个bug,悬浮窗移动后再点击按钮,悬浮窗会从移动前的位置移动到移动后的位置,具体原因不清楚是为什么。在网上找到资料,把updateViewLayout的动画效果通过反射取消掉就可以了。

2024-04-11 15:03:30 270 1

原创 悬浮窗的view中改变view的layoutParams后使用invalidate()或requestLayout()不生效问题

改变悬浮窗的view的layoutParams需要使用WindowManager.updateViewLayout,invalidate()或requestLayout()都不生效。

2024-04-10 17:10:43 123

原创 ConstraintLayout imageview不显示问题

在 ImageView 中不要使用 app:srcCompact 使用 android:src。

2024-04-10 08:54:55 141

原创 WifiManager.SUPPLICANT_STATE_CHANGED_ACTION每次注册时都会收到一个粘性广播

我不知道是哪里来的粘性广播,导致每次注册时都要执行一次,解决方法就是把粘性广播过滤掉。

2024-04-02 10:58:12 168

原创 u盘时间错误问题

fat32文件系统的u盘挂载到Android设备上最后修改时间会被设置为1970年。

2024-03-27 20:26:44 132 1

原创 Android顶部导航或菜单不显示的问题(新手向)

主题,Theme.Material3.DayNight.NoActionBar 是一个预定义的 Android 主题,它是 Material Design 3 中的一部分。所以我们返回AndroidManifest.xml,把android:theme="@style/Theme.New"删掉,使用默认样式就行了。是一个XML属性,用于指定应用程序、活动或视图所使用的主题。主题定义了应用程序的整体外观和感觉,包括颜色、字体、背景等方面的样式。,进入themes.xml。在Android中,

2024-03-17 14:04:43 536

原创 Android webview无法访问应用的私有目录之外的本地网页

2.你要设置webview能访问私有目录外的文件。1.首先 你要有访问文件的权限。

2024-03-08 17:21:19 378

原创 BufferedInputStream skip后读取的数据错误

原因可能在于BufferedInputStream。

2024-02-29 17:28:00 378

原创 Android下载URL的内容

以下是同步下载和异步下载两种方式,下载过程中先把文件保存在临时文件夹,下载完后迁移至需要保存的文件夹。

2024-02-27 19:51:17 412

原创 Gson设置基础数据类型的默认值

建议使用包装类,否则json中不存在某个字段,则该字段被设置为基础类型的默认值,可能会影响程序执行,使用包装类判空后设置默认值会是更好的选择。

2024-02-27 16:03:20 436

原创 Android系统应用后台启动服务

这个错误是由于你的应用在后台时试图启动服务引起的。在 Android 中,自 Android 8.0(API 级别 26)起,后台限制(Background Execution Limits)被引入,这意味着在后台运行的应用有一些限制,比如不能随意启动服务。在manifest中加入android:sharedUserId=“android.uid.system”,然后重新做Android包。具体是不是一定要做Android包才能生效,我不清楚,只是提供一种解决思路。方法2:获取system权限。

2024-02-27 11:46:52 425

原创 Android服务停止后是否会杀死所有线程?

不会,需要手动停止线程,activity同理。

2024-02-22 13:45:25 321

原创 Android服务返回值start_sticky会调用oncreate吗?

答: 一共有4个返回值,根据返回值的不同,Service被kill后,系统会做出不同的处理: ①START_NOT_STICKY: Service被kill后,Service没有重启。②START_STICKY_COMPATIBILITY: Service被kill后,Service被重建,即会调用。④START_REDELIVER_INTENT: Service被重启,Service被重建、重启,即会调用。③START_STICKY: Service被kill后,Service被重建、重启,即会调用。

2024-02-21 10:38:43 403

原创 对于interrupted()的理解

总之,调用 interrupt() 方法后,线程的行为取决于线程当前的状态和执行逻辑。对于处于非阻塞状态的线程,需要在适当的时候检查中断状态并采取相应的行动。这会使线程退出阻塞状态,当您调用一个线程的 interrupt() 方法后,线程的中断状态会被设置为 true。线程可以通过调用 isInterrupted() 方法来检查自身的中断状态,并在需要时采取相应的行动。非阻塞状态的线程: 如果线程处于非阻塞状态(即正在执行任务),调用 interrupt() 方法只会设置线程的中断状态为 true,但。

2024-02-20 20:48:46 330

原创 Android网络状态连接后无法立即访问互联网

对于ConnectivityManager.NetworkCallback的onAvailable或广播ConnectivityManager.CONNECTIVITY_ACTION网络状态连接不代表获取到了ip,可以打印ip查看是否获取到ip,获取到ip后才能访问互联网。可以使用adb shell logcat | grep Dhcp查看Dhcp客户端获取的ip的过程。

2024-02-20 20:47:18 422 1

原创 Android无法连接Oracle

2.ojdbc14驱动可以运行,ojdbc14支持的Oracle版本过低,但是ojdbc8驱动和ojdbc6驱动连编译都通不过,新的ojdbc没有兼容Android平台,所以高版本的驱动无法使用,Android无法直接Oracle。我目前的方法就是写一个web服务器做中间件,web服务器去取Oracle的数据,Android去web服务器上取数据。1.Oracle未向外部开放。打开sqlplus,开放端口。

2023-11-18 17:46:27 115 1

原创 base64分块编码

【代码】base64分块编码。

2023-11-14 10:50:32 102 1

原创 base64分块解码

【代码】base64分块解码。

2023-11-14 10:46:10 89 1

原创 在json中读取base64大文件

从一个输入流中读取json,网上的一般方案是直接将文件整个读到内存中,小文件可能没问题,大文件的话无法整个都读到内存里面,会导致内存不足,面对这个问题,我们应该要将json分块读取,再分块解码。有一点要注意blockSize 必须要是4的倍速,不然可能会失败.这个代码只解析了base64字段,其他的字段需要自行解析。

2023-11-07 14:15:37 309 1

原创 adb: unable to connect for root: device offline

我不知道是什么windows还是安卓系统还是我设备的bug,我的解决方法是手动断连后重新连接。

2023-08-25 15:17:26 689 1

原创 Android不能使用jaxb

jaxb-api是Java API for XML Binding (JAXB) 的一个部分,用于在Java中处理XML。然而,在Android平台上,支持的JAXB版本是较旧的版本。根据我所了解的信息,Android在6.0版本之前已经内置了JAXB的支持,而在6.0版本之后,JAXB不再是内置支持的,但仍然可以通过添加相关的库来使用。如果您需要在Android上使用jaxb-api,您可能需要考虑将该依赖项与适当的Android兼容库一起使用,以确保在Android设备上正确运行。

2023-08-21 17:27:39 133 1

原创 jaxb 类中添加静态字段并在 JAXB 中进行序列化

这是完全错误的,@XmlElement(name = “type”) 注解应该用于实例方法,而不是静态方法。对于静态字段,JAXB 无法直接进行注解处理,因为静态字段是与类关联而不是与对象关联的。解决方法:建个其他非静态方法。

2023-08-18 18:20:09 39 1

原创 jaxb多态解析

子类Student1.class。子类Student2.class。父类Student.class。

2023-08-18 17:27:51 210 1

原创 jaxb处理list(包装XmlElementWrapper)

如果我们想要在student外进行包装Students,需要添加@XmlElementWrapper。

2023-08-18 16:11:42 320 1

原创 CRC漏洞

如果我在这个数据后面加0,变成0x10 0x05 0x03 0x5E 0x79 0x0 0x00 0x00 0x00,这样依赖CRC校验码变成了0x00 0x00,被校验数据变成了0x10 0x05 0x03 0x5E 0x79 0x0 0x00,是多项式的整数倍,除以多项式后的CRC值为0x00 0x00,能通过CRC校验。解决这个问题的方法是规定传送的数据的尾部字符,假设我规定尾部字符为0x03,尾部字符的后四个字节为校验码,那么后面加多少个0都没用。

2023-08-15 11:57:00 51 1

原创 java byte数组遇到的坑(16进制)

16进制别忘了加0x,差之毫厘谬以千里。

2023-08-14 20:48:46 65

原创 java实现CRC-16-XMODEM校验

【代码】java实现CRC-16-XMODEM校验。

2023-08-14 20:46:58 373

原创 使用NetAssist发送tcp请求遇到的bufferedReader.readLine失败的问题

readLine方法从输入流中读取一行文本,直到遇到换行符(‘\n’或’\r\n’),返回读取的字符串。无论数据是ASCII码还是其他编码,只要输入流中的数据符合readLine方法所依赖的换行符规则,就可以使用该方法读取数据。在NetAssist点击发送并不是发送一行一句,因为没有遇到换行符,无论在NetAssist中发送多少次,只有发送\n才算发送一行。

2023-08-12 14:51:10 122 1

原创 在时间上遇到的坑(12小时制不存在0点)

因此,在格式字符串中,使用’hh’表示小时时,范围是从1到12,而不是从0到11。这是因为12小时制时钟中的下午1点至12点被表示为1PM至12PM,而不是01PM至12PM。例如,在24小时制中,下午1点30分将被表示为13:30。而在12小时制中,下午1点30分将被表示为1:30 PM。上午12点和下午12点的区别,上午12点的时间是晚上,在半夜时分,下午12点的时间是白天,在中午时分。在24小时制时钟中,我们通常用00到23来表示时间。但在12小时制时钟中,我们用1到12来表示时间。

2023-08-10 17:14:58 145 1

原创 使用JsonReader遇到的坑(解析出错,调用顺序出现问题)

这会导致错误,因为你在读取下一个元素的名称后,没有读取该元素的任何值,而是直接再次检查是否有下一个元素。这会导致读取指针位置不正确,从而引发错误。这种调用顺序是正确的,因为你先检查是否有下一个元素,然后读取下一个元素的名称,然后读取该元素的字符串值,最后再次检查是否有下一个元素。因此,在使用 JsonReader 时,要确保按照正确的顺序调用方法,以确保正确地读取和处理 JSON 数据。

2023-08-10 11:38:09 228 1

原创 学渣都能看懂的-并查集(进阶版)-按秩归并

前置文章:学渣都能看懂的-并查集(快速掌握版)在并集时,我们直接让v1的代表元素指向了v2的代表元素。并集操作多了以后,会导致集合树的两边出现树的高度和元素数量不均衡的情况,从而查集时因路径过长,查找时间过长。void AddClass(int v1, int v2)//合并班级{ int v1_Class_Monitor = Find_Class_Monitor(v1), v2_Class_Monitor = Find_Class_Monitor(v2); //找到两个班长 if (v1_Cl

2020-06-22 21:30:13 504

原创 学渣都能看懂的-并查集(快速掌握版)

并集:将两个集合并成一个集合查集:查找某个元素属于哪个集合并查集就是并集和查集两个操作。先讲一个小例子,假如有很多家公司。在公司里面,除了董事长,每一个人只知道自己的上一级上司是谁,其它有关公司的情况一概不知道,连公司的名字也不知道。**故事一:**假如你正巧任职于这种稀里糊涂的公司,你想知道你与任意一个也任职与这种公司陌生人是否任职于同一家公司,你要怎么做?你问你的上一级:“我们的公司叫什么呀?”上一级上司说:“我也不知道呀,我要去问问我的上一级。”上一级的上一级说:“我也不知道啊?我也要问我的

2020-06-21 19:03:02 214

原创 学渣都能看懂的-最小生成树Prim算法(普里姆算法)

最小生成树问题:要将图中的n个点连通,即任意两点之间都存在路径。要使连通图中各边的权值之和最小。例:最小生成树所要掌握的点:·求出最小生成树权值之和·保存最小生成树的各边使各边权值之和最短需要满足两个条件:·图中的边数最少·图中的边的权值尽量小图中的边数最少:连接n个点最少需要n-1条边,由反证法可知:若任意增加1条边,图都将形成回路。回路中任意减去1条边都会使图中的各边权值之和减少。故最小生成树中图中的边数为n-1条。图中的边的权值尽量小:(最小生成树问题不是一味地连接权值最小的

2020-06-19 18:32:21 1795

原创 学渣都能看懂的-单源无权最短路问题(广度优先搜索算法)

单源无权最短路问题所要掌握的点:·求出图中源点到达图中任意点的所有路径中最短的路径的长度·求出图中源点到达图中任意点的所有路径中最短的路径的走法由于图中每两点间无权(或者称权为1),所以解决单源无权最短路问题只需求出源点到任意点的所有路径中所要经过其它中间点的数量最少的路径。(源点为点1。到点3有两条路径1→2→3 和 1→3,第1条路径经过1个中间点,第2条路径不经过中间点,故点1到点3的最短路径为1→3)们可以先确定中间点有0个的点(路径长度为1的点),这些点路径长度为1的作为1个中间点,再

2020-06-12 00:29:28 972

Android悬浮窗倒计时

Android悬浮窗倒计时

2024-03-15

Android悬浮窗计时器

Android悬浮窗计时器

2024-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除