自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (8)
  • 收藏
  • 关注

原创 LifeCycle之ProcessLifeCycleOwner

所有具有生命周期的组件都能够使用LifeCycle。包括Activity、Service、Fragment、Applicaption。LifeCycle组件存在的主要意义就是帮我们解耦,让自定义组件也能够感受到生命周期的变化。不需要再担心内存泄漏等问题。

2024-05-10 01:21:49 456

原创 什么是Jetpack

Jetpack 是一套组件库、工具,可帮助开发人员遵循最佳做法,减少样板代码并编写可在 Android 版本和设备上一致工作的代码,以便开发人员可以专注于他们关心的代码。

2024-05-10 01:20:39 191 1

原创 Android之启动优化

不在 Application 初始化非必要的第三方库,尽量在使用的时候初始化,例如地图平台、播放器框架等这些可以在使用的时候再初始化。

2024-04-14 23:52:47 367

原创 Android之图片压缩几种方式

图片压缩

2024-04-14 23:51:54 845

原创 EditText 实现密码可见与不可见

EditText 实现密码可见与不可见

2024-03-29 11:27:07 154

原创 Long long类型比较大小

long类型和Long类型是不一样,long类型属于基本的数据类型,而Long是long类型的包装类。

2024-03-28 23:26:06 911

原创 干货网址-持续更新中

干货网址、开源项目网址

2024-03-28 00:47:02 508

原创 TextView 实现左右滑动

通过 HorizontalScrollView嵌套TextView 实现。

2024-03-27 18:32:07 173

原创 RxJava 操作符

是一种事件驱动的基于异步数据流的编程模式,整个数据流就像一条河流,它可以被观测(监听),过滤,操控或者与其他数据流合并为一条新的数据流。三要素Rxjava原理 基于 一种扩展的观察者模式的响应式编程框架RxJava原理可总结为:被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer), 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。

2024-03-27 00:09:05 352

原创 Flutter(踩坑)之Android sdkmanager tool not found

进入发现没有Android SDK Tools(Obsolete),重启As也不显示,然后重启了下电脑出现该选项了。将Hide Obsolete Packages这个选项勾选取消掉。可以多试几次,如果还是不行的话,可以参考。

2024-03-26 10:23:18 467

原创 电脑中Ip地址修改

第一步 在电脑上创建个文本,然后在文本中写如下内容将IP改为6网端 即182.168.6.xxx第二步 然后保存,将文件后缀.txt改为.bat第三步然后右键通过管理员身份运行即可,验证:通过Win+R,输入cmd,点击确定输入命令 ipconfig 然后回车即可如图。

2024-03-23 15:13:13 223

原创 Android gradle.plugin:8.1.1打包报错

a 8。

2024-03-12 16:44:46 957

原创 JSON 转换问题 $ref“: “$[0].list[1]

"$ref": "$[0].list[0]"

2024-03-12 16:38:34 426

原创 上传视频报FileNotFoundException

上传时视频 返回视频地址:content:/com.android.providers.media.documents/document/video%3A1000001309: open failed: ENOENT (No such file or directory)

2024-03-12 16:27:54 348

原创 已解决 Error inflating class com.google.android.material.appbar.AppBarLayout

CoordinatorLayout、AppBarLayout

2023-12-26 19:59:05 606

原创 Android descendantFocusability 属性

通过该属性可以指定viewGroup和其子View到底谁获取焦点, 直接在viewGroup上使用就行。

2023-08-14 18:11:35 486

原创 Installation did not succeed

Retry。

2023-08-14 10:27:29 353 1

原创 ViewPager 和Fragment异常 java.lang.IllegalStateException: Fragment no longer exists for key

ViewPager 和Fragment异常 java.lang.IllegalStateException: Fragment no longer exists for key FragmentPagerAdapter&&FragmentStatePagerAdapter比较

2023-08-03 15:00:38 791

原创 Android View实现滑动的方式

实现View的滑动有三种方式 1. 通过View本身提供的scrollTo/scrollBy方法实现滑动2. 通过动画给View施加平移效果来实现滑动3. 通过改变View LayoutParams使得View重新布局从而实现滑动

2023-07-21 11:29:06 239

原创 EventBus详解

EventBus是在一个单例内部维持着一个 map 对象存储了一堆的方法;post根据参数去查找方法,进行反射调用。

2023-07-15 15:37:56 242

原创 TCP 与UDP区别

TCP是面向连接的,UDP是无连接的TCP是可靠的,UDP是不可靠的TCP是面向字节流的,UDP是面向数据报文的TCP只支持点对点通信,UDP支持一对一,一对多,多对多TCP报文首部20个字节,UDP首部8个字节TCP有拥塞控制机制,UDP没有。

2023-07-12 23:35:39 647

原创 JVM之垃圾回收机制

垃圾回收(GC)是由 Java 虚拟机(JVM)垃圾回收器提供的一种对内存回收的一种机制,它一般会在内存空闲或者内存占用过高的时候对那些没有任何引用的对象不定时地进行回收。

2023-07-11 22:15:41 229

原创 Android CrashHandler全局异常

Android 应用不可避免的会发生crash 即崩溃,无论程序写的多好,都会不可避免的发生崩溃,可能是由底层引起的,也有可能是写的代码引起的。当crash发生时,系统会kill掉正在执行的程序,现象是程序闪退或提升用户已停止运行。出现这种情况,开发者却无法得到程序为何crash。Android 提供了处理这类问题的方法。java的Thread中有一个UncaughtExceptionHandler接口,该接口的作用主要是为 了 当 Thread 因未捕获的异常而突然终止时,调用处理程序。

2023-07-04 15:29:04 945

原创 Android 通过采样率压缩图片

BitmapFactory类提供了四类方法:decodeResource、decodeFile、decodeByteArray、decodeStream,分别用于支持资源、文件、字节数组、输入流加载出一个Bitmap对象,其中decodeFile和decodeResource又间接调用了decodeStream方法,这四类方法是在Android的底层实现的。对应着BitmapFactory类的几个native 方法。

2023-07-04 15:02:17 487

原创 Android之RecyclerView 与 ListView 的主要区别

ViewHolderListView 需要自定义ViewHolder,判断convertView是否为null,setTag()与getTag()的使用;RecyclerView有规定好的ViewHolder。布局不同ListView 只支持垂直方向的,而RecyclerView,它里面的LayoutManager(布局管理类),有横向、竖向、瀑布流、网格等复杂的布局。数据更新ListView 数据刷新指的是全部数据刷新。RecyclerView支持局部数据刷新。

2023-07-03 17:02:10 616

原创 Android 之保护用户隐私-禁止应用截屏或录频

通常情况下,录屏、截图软件都可以在手机的运行过程中进行录屏、截图,但是在某些比较敏感的应用上,出于各种原因,会阻止录屏、截图软件进行运行。一旦录屏、截图软件被阻止运行就无法使用录屏以及截屏的功能。

2023-06-30 09:55:56 877

原创 Android 之 configChanges属性解析

Android程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等。

2023-06-29 18:56:30 481

原创 Android 之 Handler

Android 的消息机制是基于Handler实现的。Handler 采用的是一种生产者-消费者模型,Handler 就是生产者,通过它可以生产需要执行的任务。而 Looper 则是消费者,不断从 MessageQueue 中取出Message 对这些消息进行消费。MesageQueue是在底层调用native方法去创建的,本质是一个单链表;一个线程只能有一个Looper,对应一个MessageQueue。

2023-06-27 19:46:40 852

原创 GLsurfaceview、SurfaceView和View的区别

view是最基础的,必须在UI主线程内更新画面,速度较慢。SurfaceView 是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快GLSurfaceView 是SurfaceView的子类,opengl 专用的

2023-06-27 15:41:43 361

原创 如何让线程停止,有何区别

1. 自定义中断标识符,停止线程。2. 使用线程中断方法 interrupt 停止线程。3. 使用 stop 停止线程

2023-06-20 19:37:16 417

原创 Okhttp之五种拦截器

是整个责任链中的第一个,是首次接触到Request与最后接收到 Response的,主要功能就是判断是否需要重试与重定向。重试的前提是出现了 RouteException 或IOException。一旦在后续的拦截器执行过程中出现这两个异常,就会通过 recover 方法进行判断是否进行连接重试。重定向发生在重试的判定之后,如不满足重试的条件,还需要进一步调用 followUpRequest 根据Response 的响应码(如果直接请求失败, Response都不存在就会抛出异常)。

2023-06-19 17:42:02 3846

原创 http 三次握手 四次挥手

网络层是端点间的(客户端、服务端)链路层是跳跃节点间的。TCP/IP 下一跳模式(网关) 内存小,速度快,不可靠。(网络号、主机号)TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式。

2023-06-19 17:14:18 1410

原创 finish()、System.exit(0)、onDestory的区别

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。想完全退出程序,应该使用System.exit(0)(这里不考虑后台服务等情况)onDestory()方法是Activity生命周期的最后一步,资源空间等就被回收了。

2023-06-14 21:43:56 263

原创 线程池的创建方式

线程池的创建1. 通过 ThreadPoolExecutor 创建的线程池;2. 通过 Executors 创建的线程池。

2023-06-14 11:47:34 1007

原创 Android 内存泄漏

内存泄漏:即memory leak。是指内存空间使用完毕后无法被释放的现象,虽然Java有垃圾回收机制(GC),但是对于还保持着引用, 该内存不能再被分配使用,逻辑上却已经不会再用到的对象,垃圾回收器不会回收它们。内存溢出:即out of memory, 当你要求分配的内存超过了系统给你的内存时, 系统就会抛出out of memory的异常(每个Android能用的内存是有限的)。比如: 当前应用只剩下4M的空间可用, 但你却加载得到一个需要占用5M空间的图片Bitmap对象, 就会抛出溢出的异常。

2023-06-12 13:01:44 1755

原创 模块化与组件化

组件相当于库,模块相当于框架

2023-06-12 11:03:06 1111

原创 ANR 超时的定义

ANR:是Application Not Responding 的缩写。即在Android中,主线程(UI线程)如果在规定时内没有处理完相应工作,就会出现ANR。

2023-06-09 21:32:50 103

原创 android 动画

视图动画,也就是所谓的补间动画。指通过指定View的初始状态、变化时间、方式、通过一系列的算法去进行图片变换(平移、缩放、旋转、改变透明度),可以采用XML来做也可以采用编码来做。从而实现动画效果。主要有scale、alpha、Translate、Rotate四种效果。

2023-06-09 18:29:27 1539

原创 常用adb命令记录下

adb root获取root 权限(以root权限运行ADB守护程序)adb remount以读写方式重新挂载设备的文件系统adb reboot重启设备adb devices查看当前连接设备adb get-serialno获取设备的序列号adb backup备份设备的应用程序和数据adb bugreport收集设备的当前状态信息以进行故障排除adb start-server启动adb进程adb kill-server终止adb进程adb shell进入shell模式(

2023-05-25 20:21:39 620

原创 3个ActivityA和C为默认启动模式(standard)B为singleTask 生命周期

问题: A——>B——>C——>B,生命周期是?然后在B中点击返回键生命周期是?注 MainActivity为A页面。

2023-05-15 19:36:58 103

RxJava 操作符使用

RxJava 操作符、线程调度 观察者 RxJava是一种事件驱动的基于异步数据流的编程模式,整个数据流就像一条河流,它可以被观测(监听),过滤,操控或者与其他数据流合并为一条新的数据流。三要素Rxjava原理 基于 一种扩展的观察者模式的响应式编程框架RxJava原理可总结为:被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer), 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。

2024-03-27

ContentProviderDemo.7z

ContentProvider 使用 增 insert 删 delete 改 update 查 query 方法实现, SQLIte数据库创建等 侧重点在于进程间通信。

2023-07-17

Messenger 进程间通信

Messenger 实现进程间通信 可以翻译为信使,通过它可以实现在不同进程中传递Message 对象。 是一种轻量级的 IPC 方案。 Messenger 底层是通过AIDL实现的。 一次处理一个请求,不存在并发情况。

2023-07-12

CrashHandler

Android 应用不可避免的会发生crash 即崩溃,无论程序写的多好,都会不可避免的发生崩溃,可能是由底层引起的,也有可能是写的代码引起的。当crash发生时,系统会kill掉正在执行的程序,现象是程序闪退或提升用户已停止运行。出现这种情况,开发者却无法得到程序为何crash。Android 提供了处理这类问题的方法。 java的Thread中有一个UncaughtExceptionHandler接口,该接口的作用主要是为 了 当 Thread 因未捕获的异常而突然终止时,调用处理程序。 崩溃信息捕获,

2023-07-04

ActivityDemo.7z

3个ActivityA和C为默认启动模式(standard)B为singleTask 生命周期调用顺序 A——>B——>C——>B A——>B——>B 生命周期调用顺序

2023-05-15

面试技巧(文档).7z

面试技巧、面试指南、模板、单面、群面、自我介绍、问题回答、中文、英文等

2023-05-11

apache-maven-3.8.5-bin.7z

apache-maven-3.8.5-bin.7z 解压就可用,方便快捷,另外还得配置环境变量

2022-07-25

Ubuntu 机械臂(睿尔曼)与摄像头(奥比中光、RealSense)标定教程(眼在手上)

Ubuntu系统下机械臂(睿尔曼)与摄像头(奥比中光、RealSense)标定教程(眼在手上) ROS系统搭建 系统:Ubuntu 18.04 ROS:melodic OpenCV 库:OpenCV 3.2.0 Realsense D435: Marker 标记识别:Aruco 功能包 手眼标定:easy_handeye 功能包 Moveit! RM 机械臂 ROS 功能包 Catkin-tools 工具包 各个库的搭建、测试 资源包下载 问题

2022-07-16

Ubuntu系统下ROS机械臂(睿尔曼)与摄像头标定(RealSense)教程

Ubuntu系统下ROS机械臂(睿尔曼)与摄像头标定(RealSense)教程(眼在手上) ROS系统搭建 系统:Ubuntu 18.04 ROS:melodic OpenCV 库:OpenCV 3.2.0 Realsense D435: Marker 标记识别:Aruco 功能包 手眼标定:easy_handeye 功能包 Moveit! RM 机械臂 ROS 功能包 Catkin-tools 工具包 各个库的搭建、测试 资源包下载

2022-07-15

commons-math3-3.6.1-API文档中文版

math3是Apache下的一款进行数学计算的一款java开源工具。 math3是一款非常好用的工具,里面提供了各种运算的方法及类,方便大家调用。 apache-commons-math3是java的一种科学计算类库,实现科学计算功能的类库其他语言如python、scala都有很多而且很容易找到资料,java可能是由于这方面的需求不多,所以相关的资料较少,详细的使用还是需要自己去研究官方文档了(https://java-matrix.org/)。 由于在写算法时,经常遇到矩阵的运算,如数组转化为矩阵,矩阵的逆,矩阵的转置,矩阵的乘法,矩阵转为数组等等。 支持java5到java8 支持以二维数组的形式存储密集数据 支持大量密集数据的块存储 支持DOK形式的稀疏数据存储(键值对字典) 支持double、BigDecimal、String、Object、Complex Numbers等数据类型 支持二维矩阵 支持常用的矩阵操作、如矩阵转置、矩阵求逆、加减乘除 支持LU和QR分解等。

2022-07-15

Ubuntu18.04 清华、阿里云、中科大、网易源

一般情况下使用Ubuntu默认的软件源已经足够了, 但有默认的软件源的速度一般很慢,有时候甚至会连接失败。下面博主就介绍一些 Ubuntu 的国内软件源和一些第三方软件源。 国内软件源 Ubuntu18.04 清华、阿里云、中科大、网易 源

2022-07-12

省市区 数据china_address.json

Android 省市区三级联动(本地数据) 通过遍历集合(省、市、区3个集合)然后将数据加入集合中, 然后配置WheelView等属性方法, 点击事件设置,弹窗位置、方式、动画等

2019-12-24

mpsdk-installer-2-15-1.exe

Zebra(斑马)打印机开发Demo包括(Android、IOS、PC等)Demo、文档(英文的)等。 首先下载安装软件,软件名称为:mpsdk-installer-2-15-1.exe,安装成功之后,在你的安装目录下有你需要的资源

2019-12-03

请求工具之Postman

专门测试 API 的工具。 Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。支持不同的认证机制(Basic,Digest,Oauth),接收到的相应语法高亮(HTML,JSON或XML)。不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。

2018-05-31

空空如也

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

TA关注的人

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