Java
文章平均质量分 61
zhangphil
zhangphil@live.com
展开
-
Kotlin/Java中String的equals和==
,而此时再次对s进行操作改变s的值时候,如再次给s赋值使得s=”_string类的字符串与stringbuffer类的字符串判断是否相同。每次Java/Kotlin定义/创建一个String后,如果String内存缓存池内不存在给定值比如"zhang"相同的String对象,那么此时Java将为此创建新的String对象,并存放在String缓存池内。如果String缓存池内存中有与指定值相同的String对象,那么此时Java将不创建新String对象,而直接返回已存在的String对象的引用。原创 2024-03-14 23:03:01 · 625 阅读 · 0 评论 -
Can‘t create handler inside thread Thread*** that has not called Looper.prepare()
Android非UI主线程中,若干普通Java线程使用Handler发送接收消息线程1和线程2均为普通Java线程,在Android中创建,然后在这两个普通Java线程中使用Handler发送和接收消息。import android.os._java handler 非主线程。做一个简单的关于Handler,Looper,Message的小演示,代码主界面一个Button按钮,点击发送消息(累计)给线程的Looper循环,然后在LogCat中打印出来:package zhangphil.looper;原创 2023-11-02 23:10:51 · 820 阅读 · 0 评论 -
JDK7多线程并发环境HashMap死循环infinite loop,CPU拉满100%,Java
例如,假如在HashMap中依次、顺序添加元素:1,2,3,4,5,在遍历HashMap时输出的顺。例如,假如在HashMap中依次、顺序添加元素:1,2,3,4,5,在遍历HashMap时输出的顺。通常在初始化HashMap时候会有一个loadFactore负载因子比如0.75,当原先存储的元素size达到固有长度的0.75后,开始扩容,扩容过程用头插法把oldTable单链表的节点插入到newTable单链表,newTable单链表倒置了oldTable中的单链表。infinite loop问题。原创 2023-09-06 23:01:13 · 439 阅读 · 0 评论 -
Kotlin Java互调报错:java.lang.NullPointerException: Parameter specified as non-null is null
当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。原创 2023-08-15 23:12:30 · 380 阅读 · 0 评论 -
ArrayList浅拷贝clone,Kotlin
Java的Vector,Stack,ArrayList,LinkedList异同Collection的实现子类型是什么,它都支持iterator()函数,该函数返回一个迭代器,该迭代器即可遍历访问Collection中每一个元素。/** * * 反转一个List,关键是使用Collections工具类 * * @author Phil * */public class Demo {public static void main(String[] args)原创 2023-08-14 23:30:49 · 263 阅读 · 0 评论 -
Android快速滑动条/快速滑块/快速滚动条标准实现,Java
Android快速滑动条/快速滑块标准实现,Java。原创 2023-10-22 23:04:02 · 585 阅读 · 0 评论 -
Java反射类private私有变量Map并赋值
Java反射改变Android属性在某些情况下,Android体系里面的某些对象没有对外提供针对某个属性或者类,方法公开的get或者set方法,但是项目需要对这些需要修改和调整。就需要使用Java的反射机制修改Android的属性。Java反射类Class,反射方法Method以及反射变量Fieldimport com.orhanobut.logger.Logger;Java反射类Class,反射方法Method以及反射变量Field_zhangphil的博客-CSDN博客。原创 2023-07-26 23:11:43 · 563 阅读 · 0 评论 -
Android GlideApp FixedPreloadSizeProvider RecyclerViewPreloader,mix Java&Kotlin
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。原创 2023-07-25 23:08:58 · 171 阅读 · 0 评论 -
Android GlideApp FixedPreloadSizeProvider RecyclerViewPreloader preload scroll smooth,Java
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。原创 2023-07-23 23:09:38 · 124 阅读 · 0 评论 -
android Glide加载gif动图和本地视频,Java
droid Glide加载gif动图和本地视频,Java。原创 2023-07-28 23:35:15 · 1113 阅读 · 0 评论 -
Objects isNull requireNonNullElse requireNonNullElseGet requireNonNull,Java
当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。当a不为null时,执行大括号里的语句(it肯定不为null)如果a == null ,则为 null。= null,则a.b()如果 a 不是 b,则为 null。原创 2023-06-23 23:33:29 · 305 阅读 · 0 评论 -
Android load all photos into RecyclerView,support pinch to zoom by ScaleGestureDetector,Java(3)
Android RecyclerView的StaggeredGridLayoutManager实现交错排列的子元素分组先看实现的结果如图:设计背景:现在的产品对设计的需求越来越多样化,如附录文章2是典型的联系人分组RecyclerView,子元素排列到一个相同的组,但是有些时候,UI要求把这些元素不是垂直方向的,而是像本文开头的图中所示样式排列,这就需要用StaggeredGridLayoutMa。在处理大图的浏览查看动作过程中,往往还有其他额外的事情需要处理,典型的以微信。原创 2023-05-16 23:07:45 · 210 阅读 · 0 评论 -
Android以aar包形式引入hunter-timing,Java(4)
Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)_zhangphil的博客-CSDN博客。Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)Android 引入hunter-timing监测UI主线程函数运行时耗时,Java(2)同时重载Application,Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)_zhangphil的博客-CSDN博客。原创 2023-06-01 23:02:15 · 433 阅读 · 0 评论 -
Android以aar包形式引入hunter-debug,Java(3)
Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)_zhangphil的博客-CSDN博客。Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)Android 引入hunter-timing监测UI主线程函数运行时耗时,Java(2)同时重载Application,Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)_zhangphil的博客-CSDN博客。原创 2023-05-15 23:03:28 · 437 阅读 · 0 评论 -
Android 引入hunter-timing监测UI主线程函数运行时耗时,Java(2)
Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)_zhangphil的博客-CSDN博客。Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)Android 引入hunter-timing监测UI主线程函数运行时耗时,Java(2)同时重载Application,原创 2023-05-10 23:02:35 · 251 阅读 · 0 评论 -
Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)
Android 引入hunter-debug监测代码运行时函数耗时和参数及返回值,Java(1)原创 2023-05-09 23:02:41 · 485 阅读 · 0 评论 -
Unable to make field private final java.lang.String java.io.File.path accessible: module java.base d
【代码】Unable to make field private final java.lang.String java.io.File.path accessible: module java.base d。原创 2023-05-08 23:06:23 · 20945 阅读 · 12 评论 -
Android基于JNA集成调用第三方C/C++的so库
Android基于JNA加载第三方.so库报错:java.lang.UnsatisfiedLinkError Native library (com/sun/jna/android-aarch64/l_zhangphil的博客-CSDN博客。注意Native.load()里面对应的so库名,so库名一般以libxxx.so开头,但是在Native.load里面,不要带上lib和结尾的.so后缀名,即去掉开头lib和结尾的.so。写上层Java代码。Android基于JNA集成调用第三方C/C++的so库。原创 2023-05-03 23:35:33 · 1161 阅读 · 0 评论 -
Android基于JNA加载第三方.so库报错:java.lang.UnsatisfiedLinkError Native library (com/sun/jna/android-aarch64/l
基于Windows平台,Android NDK(JNI)开发技术》【摘要】本文介绍如何基于Windows平台,在Eclipse中使用Android NDK技术实现“Android平台上的JNI ( Java Native Interface ) ”开发。新增的getStringCpp()是新增的一个方法,因为没有实现所以报红。解压后,里面是一个libjnidispatch.so,把libjnidispatch.so放到Android项目的libs\arm64-v8a\里面即可。原创 2023-04-29 23:18:54 · 942 阅读 · 0 评论 -
Android LoaderManager CursorLoader加载全部图片RecyclerView BigImageView呈现,Java(2)
【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。Android图片添加文字水印并保存水印文字图片到指定文件_zhangphil的博客-CSDN博客。原创 2023-04-22 23:44:27 · 423 阅读 · 0 评论 -
Android添加C++/CPP项目代码(2)
基于Windows平台,Android NDK(JNI)开发技术》【摘要】本文介绍如何基于Windows平台,在Eclipse中使用Android NDK技术实现“Android平台上的JNI ( Java Native Interface ) ”开发。新增的getStringCpp()是新增的一个方法,因为没有实现所以报红。以上完成后,就可以在Java层像使用普通Java函数一样使用getStringCpp()其中,loadLibrary()里面填写的即是(2)里面的xxx.cpp的xxx名字。原创 2023-04-19 23:07:23 · 1121 阅读 · 0 评论 -
Android 13根据Uri反向解析图片真实文件路径,Java
Android 13根据Uri反向解析图片真实文件路径,Java。原创 2023-04-05 23:45:37 · 557 阅读 · 0 评论 -
Android多窗口切换EditText自动弹出软键盘,Java
Android屏蔽隐藏自带输入键盘若是Activity,在AndroidMainfest.xml配置Activity属性:android:windowSoftInputMode="stateAlwaysHidden|stateHidden"比如activity从前台切换到后台,然后再切换到前台,要求activity在前台时候EditText自动唤起软键盘。Android屏蔽隐藏系统自带输入键盘_android 屏蔽系统键盘_zhangphil的博客-CSDN博客。原创 2023-04-09 00:04:54 · 411 阅读 · 0 评论 -
Android ViewPager2 load once when fast scroll many page,Java
ViewPager2和Fragment新的可见性及懒加载解决方案,旨在解决ViewPager(ViewPager2)只有当前Fragment唯一可见时候网络刷新或绘图。注意:过去的setUserVisibleHint()已被废弃,开发者不要再使用基于setUserVisibleHint()解决Fragment可见性和懒加载(或延迟加载)的场景。新方案用最新的ViewPager2替代过去旧版的ViewPager,再结合Fragment的resume和pause生命周期实现。写一个demo例子,测试的主类M。原创 2023-04-02 23:14:48 · 203 阅读 · 0 评论 -
Android LoaderManager AsyncTaskLoader cancelLoad不deliverResult,Java
android LoaderManager与AsyncTaskLoader,java(1)_zhangphil的博客-CSDN博客。android ,LoaderManager.LoaderCallbacks与AsyncTaskLoader, Java(2)_zhangphil的博客-CSDN博客。android LoaderManager与AsyncTaskLoader,java(1)_zhangphil的博客-CSDN博客。原创 2023-04-12 23:03:19 · 599 阅读 · 0 评论 -
android ContentObserver实时监测媒体图片增删改,java(1)
【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。android根据图片资源的drawable id转化为Uri,java_zhangphil的博客-CSDN博客。android根据图片资源的drawable id转化为Uri,java_android drawable转uri_zhangphil的博客-CSDN博客。原创 2023-04-21 23:08:03 · 933 阅读 · 0 评论 -
Android LoaderManager AsyncTaskLoader加载全部图片RecyclerView BigImageView呈现,Java(1)
【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。Android图片添加文字水印并保存水印文字图片到指定文件_zhangphil的博客-CSDN博客。原创 2023-04-23 23:05:50 · 534 阅读 · 0 评论 -
Android 13手机图片存储File路径转Uri,Java
android根据图片资源的drawable id转化为Uri,java_zhangphil的博客-CSDN博客。android根据图片资源的drawable id转化为Uri的工具方法。Android 13手机图片存储File路径转Uri,Java。原创 2023-03-27 23:12:04 · 648 阅读 · 0 评论 -
android 13 LoaderManager AsyncTaskLoader读取手机图片 ,Java
【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。Android图片添加文字水印并保存水印文字图片到指定文件_zhangphil的博客-CSDN博客。原创 2023-04-01 23:43:37 · 375 阅读 · 0 评论 -
android 13读取本机所有图片名和存储绝对路径,Java
【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。Android图片添加文字水印并保存水印文字图片到指定文件_zhangphil的博客-CSDN博客。原创 2023-03-30 23:17:50 · 1386 阅读 · 0 评论 -
android ,LoaderManager.LoaderCallbacks与AsyncTaskLoader, Java(2)
android LoaderManager与AsyncTaskLoader,java(1)_zhangphil的博客-CSDN博客。android LoaderManager与AsyncTaskLoader,java(1)原创 2023-03-24 23:05:44 · 314 阅读 · 0 评论 -
android LoaderManager与AsyncTaskLoader,java(1)
android LoaderManager与AsyncTaskLoader,java(1)原创 2023-03-18 23:16:19 · 237 阅读 · 0 评论 -
android MutableLiveData与AndroidViewModel避坑小提示,Java
Google I/O 2017 Android官方新体系架构之:LifecycleGoogle官方在2017 I/O大会中引入一些列Android新的体系架构内容,其中有一个是Android的Lifecycle。(4)当potsValue()之后,getValue()不一定会取到在postValue()的数据,只有当主线程setValue()之后,才能取到postValue()的值。可以简单的理解为,postValue()最终的数据呈现是setValue()实现。原创 2023-05-27 23:23:01 · 909 阅读 · 0 评论 -
Android AsyncTaskLoader,Java
【代码】Android AsyncTaskLoader,Java。原创 2023-03-23 23:15:21 · 269 阅读 · 0 评论 -
android AspectJ面向切面AOP注解注入插桩技术性能监测函数/方法运行耗时/时长(1)
android AspectJ面向切面AOP注解注入插桩技术性能监测函数/方法运行耗时/时长(1)如果没有上面部分配置,没有日志输出。原创 2023-03-15 23:24:27 · 361 阅读 · 0 评论 -
android注解注入AspectJ面向切面AOP插桩技术改变android原生类对象行为记录View点击事件,Java(3)
android注解注入AspectJ面向切面AOP插桩技术,Java(1)通知注解例如,一个Before:切点匹配规则。android注解注入AspectJ面向切面AOP插桩技术,Java(1)_zhangphil的博客-CSDN博客。android注解注入AspectJ面向切面AOP插桩技术,Java(1)通知注解例如,一个Before:切点匹配规则。android注解注入AspectJ面向切面AOP插桩技术,Java(1)_zhangphil的博客-CSDN博客。Button在每次点击后记录。原创 2023-04-25 23:02:54 · 396 阅读 · 0 评论 -
android注解注入AspectJ面向切面AOP插桩技术,Java(1)
android注解注入AspectJ面向切面AOP插桩技术,Java(1)通知注解例如,一个Before:切点匹配规则原创 2023-04-10 23:27:35 · 358 阅读 · 0 评论 -
android注解注入AspectJ面向切面AOP插桩技术性能监测android原生类函数/方法运行耗时/时长(2)
android注解注入AspectJ面向切面AOP插桩技术,Java(1)通知注解例如,一个Before:切点匹配规则。android注解注入AspectJ面向切面AOP插桩技术,Java(1)_zhangphil的博客-CSDN博客。原创 2023-04-14 23:11:14 · 315 阅读 · 0 评论 -
android Glide CustomViewTarget,java
【代码】android Glide CustomViewTarget,java。原创 2023-06-03 23:03:10 · 414 阅读 · 0 评论 -
android sdk分析工具uiautomatorviewer.bat启动报错
Windows下编写简单.bat文件设置java home,java path批处理命令行控制台启动java。把以上内容写入记事本,保存时候文件后缀写成.bat。Windows下编写简单.bat文件设置java home,java path批处理命令行控制台启动java_zhangphil的博客-CSDN博客。原因是java版本过高导致。降至1.8就正常启动。原创 2023-03-07 23:12:12 · 175 阅读 · 0 评论