自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1897)
  • 资源 (15)
  • 收藏
  • 关注

原创 android adb命令获取处于当前屏幕的Activity

Android adb shell dump当前手机设备的所有activity_zhangphil的博客-CSDN博客。adb命令:adb shell dumpsys activity activites。android adb命令获取处于当前屏幕的Activity。从顶至底,#0 0号即为当前屏幕显示的界面数据。

2023-07-21 23:13:31 3065

原创 Android dp to pix resources.getDimension(R.dimen.xxx) ,kotlin

Android官方的dip to pix,dip2pix,dp2px实现网上流传的一个常用的把dip值转换为pix像素值的方法通常是这样的: public static int dip2px(Context context, float dpValue) { float scale = context.getResources().getDisplayMetrics().de..._dip2px。Android pix转换为sp_pix转sp_zhangphil的博客-CSDN博客。

2023-07-20 23:15:54 397

原创 Android GlideApp GlideRequest FixedPreloadSizeProvider RecyclerViewPreloader,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-19 23:11:48 227

原创 android studio/idea返回/前进上一次位置和一些高效快捷键

当android studio新建一个项目时候,默认的.gradle路径均认为是在c盘的用户目录下,时间久了,c盘容量紧张。后续新建android studio项目的gradle加载文件会自动放在D:/program/android.gradle下。最新版的android studio自带有手机投屏功能,设置后直接在android studio里面就可以“实时”投屏并操控手机。android studio自带手机投屏功能_android studio 投屏_zhangphil的博客-CSDN博客。

2023-07-18 23:06:24 1662

原创 Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-17 23:02:42 457

原创 Android CoroutineScope Dispatchers.Main主线程delay,kotlin

coroutineScope 创建独立协程作用域,直到所有启动的协程都完成后才结束自己。runBlocking 和 coroutineScope 很像,它们都需要等待内部所有相同作用域的协程结束后才会结束自己。两者主要区别是: runBlocking 阻塞当前线程,而 coroutineScope不会,coroutineScope会挂起并释放底层线程供其它协程使用。kotlin协程coroutineScope。kotlin协程coroutineScope_zhangphil的博客-CSDN博客。

2023-07-16 23:08:40 536 1

原创 Android Glide同步阻塞方式submit获得Bitmap,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-15 23:16:32 1037

原创 kotlin forEach循环return/break

kotlin forEachIndexed arrayListOf<String>_zhangphil的博客-CSDN博客。Python for循环中的zip_python zip函数用于for循环_zhangphil的博客-CSDN博客。kotlin forEach循环return/break。

2023-07-14 23:41:42 1302

原创 Android Glide preload CustomTarget bitmap into LruBitmapPool,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-13 23:04:21 649

原创 Android NestedScrollView包裹RecyclerView高度撑满所有item,kotlin

会使得RecyclerView加载完成所有itemCount的数理,撑满整个RecyclerView高度,这深深改变了RecyclerView只加载显示当前屏幕可见区域的特性,此时RecyclerView一次性加载全部item。Android NestedScrollView包裹RecyclerView高度撑满所有item,kotlin。当用NestedScrollView包裹RecyclerView后,

2023-07-12 23:32:59 1656

原创 Android Glide CustomTarget ,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-11 23:09:51 1762

原创 Android Glide预加载preload ,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-10 23:02:13 1335

原创 git HEAD detached from

如果要经过gerrit进行code review,则为:git push origin HEAD:resf/for/我的分支名...git命令:git reset --hard commit-id可以通过git log输出查找。git gerrit code review提交代码HEAD:resf/for/_res/for的提交格式_zhangphil的博客-CSDN博客。git回退代码仓库版本_git回退提交到本地仓库代码_zhangphil的博客-CSDN博客。

2023-07-09 23:24:38 327

原创 Android Glide预加载RecyclerViewPreloader,ViewPreloadSizeProvider,kotlin

【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-08 23:13:05 982

原创 Android Glide自定义AppGlideModule,让Glide在app启动后基于定制化GlideModule加载,kotlin

在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。

2023-07-07 23:30:25 1695

原创 fun函数方法体=返回值,kotlin

一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。匿名函数:name:zhangphil,age:18,msg:kotlin。_kotlin 函数返回。kotlin函数返回函数_kotlin 函数返回_zhangphil的博客-CSDN博客。kotlin把函数作为参数转递给另一个函数_zhangphil的博客-CSDN博客。

2023-07-06 23:12:12 658

原创 Kotlin单例模式的一种懒汉模式写法

kotlin中很容易使用object实现java中的单例模式。kotlin用object实现单例模式,companion object与java静态。kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客。kotlin用object实现单例模式,companion object与java静态。kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客。

2023-07-05 23:11:05 938

原创 Android Stuido Proguard Retrace Unscrambler直接reProguard反混淆retrace日志

(3)Proguard Retrace Unscrambler / Proguard Unscramble选择其中一个。Android Stuido Proguard Retrace Unscrambler直接reProguard反混淆retrace日志。

2023-07-04 23:11:06 456

原创 Android RecyclerView AsyncListUtil手动刷新fillData,kotlin

基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。【代码】Android Paging 3,kotlin(1)

2023-07-03 23:50:47 459

原创 Android AlertDialog setView,kotlin

Android DialogFragment(1)和过去的AlertDialog类似,Android引入的DialogFragment旨在为开发者提供一个“富”dialog,而不必受到过去Android AlertDialog的局限。Android DialogFragment(2)附录文章1简单介绍了如何实现一个DialogFragment,本文再介绍一种简单的方法:直接重写DialogFragment的onCreateDialog返回一个AlertDialog实现对话框。

2023-07-02 23:54:04 613

原创 kotlin constructor init companion object 与初始化by lazy

kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。kotlin用object实现单例模式,companion object与java静态。方法 - mymethod。lazy 用于单例模式,当且仅当变量被第一次调用时候,才会执行。耗费很重资源初始化的类。kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客。

2023-07-01 23:03:43 766

原创 Android Studio中配置aliyun maven库

IDEA设置阿里云maven仓库镜像mirror_阿里云mirror-CSDN博客。IDEA设置阿里云maven镜像mirror。重启项目,同步maven即可。Android Studio中配置aliyun maven库。

2023-06-30 23:10:15 2341

原创 kotlin mutableListOf Collection

Java for循环删除ArrayList重复元素陷阱,Iterator迭代器遍历删除重复元素这是一个一不留神就犯下错误的Java列表ArrayList重复删除元素陷阱,并且问题比较隐蔽。Java的Vector,Stack,ArrayList,LinkedList异同Collection的实现子类型是什么,它都支持iterator()函数,该函数返回一个迭代器,该迭代器即可遍历访问Collection中每一个元素。List是有序的Collection。和Set不同,List允许有相同元素。

2023-06-29 23:13:39 661

原创 adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE

使用Android ADB调试设备,直接在Windows的dos命令窗口输入命名adb即可,如图:为什么执行adb命令后是这样?Android ADB(Andorid Debug Bridge)调试真机设备_adb在线执行器_zhangphil的博客-CSDN博客。Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。Android adb获取CPU信息_zhangphil的博客-CSDN博客。

2023-06-28 23:04:42 508

原创 try-cacth-finally ArrayIndexOutOfBoundsException,program go on,kotlin

【代码】try-cacth-finally ArrayIndexOutOfBoundsException,program go on,kotlin。

2023-06-27 23:10:14 530

原创 kotlin AtomicBoolean compareAndSet

写一个简单代码:public class Main { private static boolean RUN = true;..._多线程的共享变量必须加volatile。Java多线程同步:为什么要引入volatile?_多线程的共享变量必须加volatile_zhangphil的博客-CSDN博客。

2023-06-26 23:33:07 792

原创 kotlin协程,runBlocking里面的launch

runBlocking 内部启动的3个协程做耗时操作,从输出可以看到3个协程交叉并发执行,runBlocking 会等到3个协程执行结束后才退出,输出结果有明确先后顺序。runBlocking 会等待相同作用域的协程完成才退出runBlocking 本身阻塞线程,但内部运行的协程又非阻塞。kotlin的runBlocking 当内部相同作用域的所有协程都运行结束后,在 runBlocking 之后的代码才能执行, runBlocking 会阻塞所在线程。

2023-06-25 23:08:48 176

原创 viewLifecycleOwner.lifecycleScope生命周期,kotlin

Google I/O 2017 Android官方新体系架构之:LifecycleGoogle官方在2017 I/O大会中引入一些列Android新的体系架构内容,其中有一个是Android的Lifecycle。Lifecycle实现的一个重要目的,是实现Android的与Activity和Fragment生命周期相关的逻辑控制进一步的解耦。Google I/O Android官方新体系架构之:Lifecycle_google i/oandroid_zhangphil的博客-CSDN博客。

2023-06-24 23:13:19 674

原创 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 408

原创 Android studio设置.m2缓存路径

Android studio默认把.m2缓存放在C盘,时间久了,C盘空间不够,可配置Android studio.m2缓存路径在其他盘。新增一个字段 MAVEN_REPOSITORY,给MAVEN_REPOSITORY设置一个自己指定的存储路径即可。

2023-06-22 23:12:01 676

原创 kotlin协程接收管道ReceiveChannel生产者produce

runBlocking 内部启动的3个协程做耗时操作,从输出可以看到3个协程交叉并发执行,runBlocking 会等到3个协程执行结束后才退出,输出结果有明确先后顺序。runBlocking 会等待相同作用域的协程完成才退出runBlocking 本身阻塞线程,但内部运行的协程又非阻塞。kotlin的runBlocking 当内部相同作用域的所有协程都运行结束后,在 runBlocking 之后的代码才能执行, runBlocking 会阻塞所在线程。kotlin协程管道Channel。

2023-06-21 23:50:16 238

原创 withContext CoroutineScope协程切换,kotlin

runBlocking 内部启动的3个协程做耗时操作,从输出可以看到3个协程交叉并发执行,runBlocking 会等到3个协程执行结束后才退出,输出结果有明确先后顺序。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。结果1-a: 5 - tid:22。结果1-b: 5 - tid:24。结果2-a: 9 - tid:22。

2023-06-20 23:13:10 487

原创 Android load all photos into RecyclerView,pinch to zoom by ScaleGestureDetector,kotlin(4)

Android RecyclerView的StaggeredGridLayoutManager实现交错排列的子元素分组先看实现的结果如图:设计背景:现在的产品对设计的需求越来越多样化,如附录文章2是典型的联系人分组RecyclerView,子元素排列到一个相同的组,但是有些时候,UI要求把这些元素不是垂直方向的,而是像本文开头的图中所示样式排列,这就需要用StaggeredGridLayoutMa。在处理大图的浏览查看动作过程中,往往还有其他额外的事情需要处理,典型的以微信。

2023-06-19 23:03:24 151

原创 Android adb shell命令捕获systemtrace

Android ADB调试真机设备Android ADB(Andorid Debug Bridge),是Android开发中有用的测试和调试工具。使用Android ADB调试设备,直接在Windows的dos命令窗口输入命名adb即可,如图:为什么执行adb命令后是这样?Android ADB(Andorid Debug Bridge)调试真机设备_adb在线执行器_zhangphil的博客-CSDN博客。-t 时长,20s,20秒的trace文件。-o 保存文件路径。

2023-06-18 23:05:26 2165

原创 Android PagerSnapHelper改造RecyclerView为ViewPage,kotlin

基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。【代码】Android Paging 3,kotlin(1)

2023-06-17 23:34:03 1696

原创 android studio自带手机投屏功能

最新版的android studio自带有手机投屏功能,设置后直接在android studio里面就可以“实时”投屏并操控手机。android studio自带手机投屏功能。

2023-06-16 23:06:06 2556

原创 Android ViewPager2嵌套RecyclerView性能优化RecycledViewPool,kotlin

ViewPager2和Fragment新的可见性及懒加载解决方案,旨在解决ViewPager(ViewPager2)只有当前Fragment唯一可见时候网络刷新或绘图。注意:过去的setUserVisibleHint()已被废弃,开发者不要再使用基于setUserVisibleHint()解决Fragment可见性和懒加载(或延迟加载)的场景。ViewPager2和Fragment可见性及懒加载解决方案_viewpager2 懒加载_zhangphil的博客-CSDN博客。

2023-06-15 23:10:27 1006

原创 kotlin协程Job、CoroutineScope作用域,Android

一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。结果1-a: 5 - tid:22。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。

2023-06-14 23:10:37 564

原创 Android语言切换LOCALE_CHANGED与CalendarView,kotlin

Android重写onConfigurationChanged规避横竖屏切换时候重新进入onCreate生命周期Android系统内在的机制,当activity在横竖屏切换时候,会强制重新开始进入activity的生命周期onCreate,在有些特殊的场景,开发者不希望重新进入onCreate生命周期,那么,可以通过重写Android的onConfigurationChanged规避。Android语言切换LOCALE_CHANGED与CalendarView,kotlin。

2023-06-13 23:21:17 451

原创 kotlin协程flow retry功能函数返回失败后重试(4)

一、flow ,emit,onCompletion,collect。kotlin协程flow retryWhen当功能函数加载失败后重试(3)_zhangphil的博客-CSDN博客。kotlin协程flow retryWhen当功能函数加载失败后重试(3)加载一次失败,重试1次成功。kotlin协程flow retry retryWhen(2)_zhangphil的博客-CSDN博客。kotlin协程flow retry retryWhen(2)二、retryWhen。初次加载失败,重试两次成功。

2023-06-12 23:22:38 825

vcruntime140_1.dll

vcruntime140_1.dll

2022-01-10

2019年民航机场吞吐量排名.xls

2019年民航机场生产统计公报。数据来源,民用航空局。该excel表格中,罗列了中国各大城市在2019年的机场客流量数据和排名。

2020-12-10

链家2020年9月二手房数据

全国的房产价格地址经纬度等信息,2020年9月份链家的二手房数据包。下载后是一个excel表,将这个excel表另存为csv数据文件,可以用pandas读取。

2020-12-10

strava_com_sample_utf8.xls

一个excel表格数据,数据是一个公开的Python数据集,包含路径经纬度散点。提取里面的路径经纬度散点,可以构绘出地图线路。

2020-12-10

jxta2.7.zip

JXTA 2.7,P2P分布式计算框架JXTA。version 2.7。shell 2.5.

2019-08-21

AXMLPrinter2的jar文件及源代码文件

Android逆向工程之AXMLPrinter2的jar文件及源代码文件。

2018-11-08

digital-7字体(LED数字样式字体)

digital-7字体(LED数字样式字体)。该字体主要用于显示LED数字灯样式的字体。直接导入到Android assets文件下,作为font 字体使用。

2017-09-05

Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部弹入淡出

Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部弹入淡出

2015-11-29

QQ侧滑边栏源代码

移动版QQ侧滑边栏源代码(Android)。UI交互设计样式和QQ高度相似。

2015-10-29

DrawerLayoutDemo

Android DrawerLayout Demo

2015-09-24

MaterialDesignLibrary_Code and Lib合集

MaterialDesignLibrary_Code and Lib 内含:NineOldAndroidsLibrary包和一个测试项目:MaterialDesignActivity

2015-09-21

Android Volley

Android网络开发框架Volley需要的jar包:volley.jar。该包直接导入到自己的项目即可使用。

2015-08-27

sqlitemanager.jar

sqlitemanager.jar。用于查看SQLite数据库的第三方插件。

2015-07-16

SearchDemo

Android搜索建议演示代码,完整的项目代码文件。

2015-04-17

Android底部弹出iOS7风格对话框_库文件资源

Android底部弹出iOS7风格对话框。库文件,直接作为库添加到自己的项目加以引用即可。

2015-04-08

空空如也

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

TA关注的人

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