自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alex老夫子的专栏

做正确的事,不做容易的事

  • 博客(229)
  • 资源 (32)
  • 收藏
  • 关注

原创 Android 实用开源项目集合 持续更新

1、Android 万能的Adapter for ListView,RecyclerView,GridView等,支持多种Item类型的情况。https://github.com/hongyangAndroid/baseAdapter 点击打开链接2、播放gif图片。https://github.com/koral--/android-gif-drawab...

2017-09-11 17:24:16 1940

原创 android android.permission.MANAGE_EXTERNAL_STORAGE使用

android11 及以上版本,如果release版本要读取外部存储公共目录,即sdcard公共目录,需要在androidManifest.xml下申明。好了,又可以愉快玩耍了。

2024-04-11 11:45:53 306 2

原创 kotlin 简单实现实体类的Parcelable序列化接口

以前用Java代码实现Parcelable序列化接口,需要在实体类里面写一堆代码,麻烦得很,现在用kotlin开发安卓APP,只需2步就可以实现,这里记录下;2.在是实体类中使用注解@Parcelize,并实现接口Parcelable。是不是比Java时代简单多了,好了,又可以愉快玩耍了。

2024-01-22 00:18:23 585

原创 android 解决 adb命令启动service报app is in background uid null

1. adb shell am start-foreground-service -n 包名/类名。1. adb shell am startservice -n 包名/类名。

2023-12-17 16:40:23 791

原创 python 解决 Windows import pandas as pd ModuleNotFoundError: No module named ‘pandas‘

输入(1)python -m ensurepip,(2)pyhon -m pip install –upgrade pip。最后研究了半天是安装了Python和配置了环境变量后,还需要安装。输入 python -m pip list。输入 pip install pandas。都安装好后,又可以愉快玩耍了。

2023-12-17 16:25:29 1059

原创 java.util.ConcurrentModificationException理解

3.打印容器对象时,会代用该对象的toString()方法,这个方法会遍历该容器对象,如果刚好遇到该对象在同时修改元素,也会触发该异常。1.这个异常不是只在多线程才会触发,单线程同样会触发,只要满足同时遍历容器对象,又同时修改里面的元素;2.容器类的迭代器中同时遍历和修改元素,也会触发该异常;因此,不要同时遍历容器对象,又同时修改里面的元素,

2023-11-29 23:16:09 461

原创 解决 android Cannot access ‘<init>‘: it is private in

经过查阅资料,原来是依赖的单例类的构造函数不能使用private,这里做个记录;

2023-10-15 23:05:09 939

原创 kotlin 转 Java

今天突然想研究下有些kotlin文件转为Java到底长什么样,好方便优化kotlin代码,搞了半天发现一个非常简单的Android Studio或者Intellij idea官方插件Kotlin,Kotlin是插件的名字,真是醉了;由于这个类StringUtils没有声明关键字open,所以是太监类,反编译出来是final的。好了,可以愉快玩耍了。

2023-08-30 23:52:53 2929

原创 android 11及以上如何通过包名跳转APP

Android 11以下,上述代码就可以跳转,但是11及以上,查询包名相关的方法都被限制了,

2023-07-13 00:02:00 1439

原创 kotlin 构造函数传参的理解

kotlin和Java的构造函数差异还是有点大,这里记录下对于kotlin构造函数传参的理解;一、java构造函数有几个参数,调用方就要传几个,且不能设置默认值,而kotlin就大不一样,二、kotlin,调用构造函数时,可以用。好了,又可以愉快玩耍了。

2023-06-11 23:15:25 558

原创 kotlin 解决构造函数兼容性问题

关键字constructor代表次构造函数,这个的构造参数可以不变,留给业务方调用,当new这个次构造函数时,就会调用主构造函数,主构造函数中增加的构造参数传入了默认值,所以就没问题;这种情况会发生在高低版本的兼容性上,假如业务方不知道这个实体的构造参数发生了改变,或者说已经发出去了的旧版本没法修改这个构造了,怎么解决呢?如上所示,这里有一个实体,有2个成员变量,外面可以直接构造,没毛病,这里有2种方法可以解决,这里做个记录哈;好了,又可以愉快的玩耍了。编译器已经没有报错了;

2023-06-11 23:03:55 872

原创 android 解决java.lang.SecurityException: Package com.xxx.xxx does not belong to 1000

比如,在进程A中调用进程B,进程B再去访问ContentProvider的call、query等方法,而call、query等方法里面又调用了ContentProvider.getCallingPackage(),那么就会报这个错;问题就出在进程A调用了进程B,进程B去访问ContentProvider.getCallingPackage(), 然后Binder.getCallingUid拿到的是进程A的身份的uid,而不是进程B的身份uid。解决问题的关键方法在于call()前后加上代码。

2023-06-04 18:36:31 3052

原创 kotlin 将函数作为参数传入调用,比如::

kotlin的高阶用法,可以将函数作为参数传入另一个函数内调用,

2023-04-11 08:53:53 429 1

原创 Android Studio 解决Could not resolve com.android.tools.build:gradle:7.4.2问题

昨天用老版本的Android Studio 新建了一个Kotlin项目,. 之类的提示没有,应该是环境问题,就升级了Android Studio到最新的电鳗版本,新建kotlin项目就报上述错误。好了,又可以愉快的玩耍了。

2023-04-06 08:57:33 10521 5

原创 windows 解决惠普主机核显无法输入VGA、HDMI信号问题

这个二手机器买来只能独显的VGA、DP口可以输入信息,但是DP口不稳定,显示器老黑屏,核显的VGA、HDMI口不能输出信息,现在的显示器一般都是用HDMI口,所以就像让核显能输入信息。我不信邪了,总感觉是哪里设置一些就OK了,百度了一番,找到了一个答案,在BIOS页面设置下核显视频输出就可以了。问看一些人,说可能是HDMI口坏了,可能是主板坏了……通过以上步骤,就可以打开核显的视频输入,这一项禁用了,于是修改为启动,按。好了,又可以愉快的玩耍了。2、移动方向键,进入到。

2023-04-05 15:05:56 3267

原创 kotlin 两个map取交集 filterKeys

【代码】kotlin 两个map取交集 filterKeys。

2023-04-03 08:51:47 263

原创 android 获取手机系统属性

这个类获取,但是有一部分获取不了,比如手机子品牌“ro.product.brand.sub”,那么可以通过反射。2、也可以通过代码获取,一部分属性可以通过。

2023-02-13 23:20:41 1141

原创 解决 Unable to negotiate with 192.21.5.163 port 98563: no matching host key type found. Their offer: s

然后再次克隆就OK了。

2023-01-16 21:56:17 609

原创 android studio 如何下载指定版本的NDK

如果官方文档看不懂的,就看我写的口水话版本吧;好了,又可以愉快玩耍了。

2023-01-14 19:07:36 6837 2

原创 java 抽象类有构造函数吗?

它的子类在调用自身构造函数的时候,会先调用它的构造函数,这就是规则。抽象类,我们知道是不能实例化的,那么它有构造函数吗?上述代码没有报错,说明抽象类是有构造函数的。既然抽象类不能实例化,要构造函数何用?

2022-12-25 12:52:10 259

原创 android ContentProvider call方法的使用

总所周知,ContentProvider用于跨进程通信,可以通过继承ContentProvider实现query、insert、delete、update、getType方法,来让其他进程对本进程的数据库进行CRUD增删改查操作,一般这是涉及到数据大的时候,如果涉及的数据量很小,可以通过重写ContentProvider的call 方法来简单实现跨进程通信;注意:自定义的ContentProvider也是可以在AndroidManifest.xml中指定运行在子进程的,和自定义的Service一样。

2022-12-25 12:21:05 2209 4

原创 android studio App Inspection 实时查看SQLite数据库

几年以前查看安卓手机的数据库,是把数据库文件导出到电脑上,然后用数据库查看工具查看的:Android查看手机内部储存目录及数据库文件_Alex老夫子的博客-CSDN博客_android database目录现在Android Studio 有了新的工具 App Inspection,比以前方便太多了,这里记录下怎么使用;1、 找到AS底部的App Inspection 标签,点击下,如图: 2、 手机连接上电脑,运行开发中的或者debug中的APP,左上角选中这个APP的主进程或者子进程,如图:注意:选择

2022-12-17 10:24:46 5235

原创 android buildConfigField使用

注意:特别是字符串的使用,需要使用 "\"xx\""上面的使用一开便知道如何使用,好了,又可以愉快玩耍了。

2022-12-11 11:16:11 5236

原创 android String.format()使用

平时拼接字符串,估计一开始都是用+连接的,如果拼接的字符串太多,有时就不太好阅读,为了解决这个问题,好几年前用过String.format()这个高级方法,时间久了就容易忘记,这里记录下怎么使用的;使用Locale, 这个类可以指定语言环境,比如上述代码指定了英语环境,那么不管手机切换成什么语言,都只输出英语;当遇到手机切换语言的时候,上述代码就会出现一个问题,就是可能被转化为其他语言,所以还有一个方法,其实还有很多其他的%x占位,字符串和整数是最常用的,其他的网上资料很多的,这里就不赘述了;

2022-12-10 16:30:57 507

原创 android studio 根据字符串生成资源id快捷方式

做安卓开发最大痛苦之一就是需要写许多字符串的资源文件,很多时候为了省事,直接写死在代码里面,但是这又不是规范的做法,前几天偶然get一个新技能,可以快速生成资源id,这里记录下;2、mac:option + return , win:alt + return , 在弹出框中选择。好了,又可以愉快玩耍了。

2022-12-10 15:51:53 780

原创 android studio 海豚版本 Logcat多标签过滤日志的变化

什么时候需要用到多tag过滤呢?当需要查看不同的tag下代码执行流程的顺序;AS之前的版本Logcat可以在filter中编写正则表达式过滤多个标签,或者在日志搜索框输入多个tag的正则表达式,比如:tag1|tag2 但是更新了最新的AS海豚版本后,很多工具栏都消失了,只能在搜索框里面输入正则表达式了,比如:tag~: tag1|tag2如果不想搜索某个或某些tag,可以写成,比如:-tag~: tag1|tag2get到一个新技能,又可以愉快玩耍了。

2022-12-06 22:47:18 1831

原创 kotlin 如何输入箭头符号->

第一关居然是lumda表达式里面的箭头符号,居然不知道怎么输入,百度也没人写关于这个的文章,搞了一晚上,终于找到办法了,原来如此easy!18年的时候用kotlin写过后端接口,时隔5年,再次学习使用kotlin语言,好多语法都不太熟悉,然后就大功告成了,注意是英文的单横杠和尖括号哦!好了,又可以愉快玩耍了。

2022-11-29 22:17:19 505 2

原创 android RecyclerView列表自动播放实现

最近有个需求,类似于皮皮虾那种列表上有播放器,滑动停止时自动播放可视区域的第一项;查了一些资料,看了一些大神的博客,受益匪浅,这里也做一个记录,方便以后搬砖;1、监听列表的滚动事件,知道什么时候开始滚动和停止滚动;build.gradle 中加上播放器和glide的依赖。2、找出可视区域的item,再找出第一项中的播放器;3、监听移除屏幕的item,及时回收播放器资源;3、找一个适合的播放器,有些播放器就是不得劲。好了,又可以愉快玩耍了。

2022-11-23 18:08:31 1591 3

原创 android 解决java.lang.IllegalArgumentException: The key must be an application-specific resource id

看提示,很明显了,说不能直接用整数作为key,要使用资源id,这是为了保证此整数的唯一性;这里用到了根据key设置tag,直接用的整数,就如上所述异常;在view中设置tag,有2种方法,好了,又可以愉快玩耍了。

2022-11-20 17:04:41 1177

原创 java private 修饰的方法是默认final的吗?

我们知道private修饰的方法是不可以被子类重写的,Java中被final定义的方法是最终方法,是不能重写的,我们可以说private修饰的方法是默认final的吗?通过查看字节码文件,也可以得出private修饰的方法不是默认final的,因为访问标识符不一样,通过jclasslib bytecode viewer 插件查看,《Java编程思想》中提到private修饰的方法不是默认final的,可以理解为是一种隐式的final的方法;看了一些大神的见解,其实至今依然迷惑,有的说Yes, 有的说No;

2022-11-13 18:27:38 484

原创 android studio 字节码查看工具jclasslib bytecode viewer

可以下载软件安装使用,也可以直接在Android Studio 或者 IntelliJ IDEA中安装插件使用;jclasslib bytecode viewer 是一款非常好用的.class文件查看工具;其次,输入jclasslib bytecode viewer,搜索到这个插件安装好,然后。首先,进入到下载插件的界面,windows 和 mac有一点点区别;这样就安装好了,接着去项目中,选中目标Java文件,然后。还可以对.class信息进行编辑;好了,又可以愉快玩耍了。

2022-11-13 18:09:28 1076

原创 android 记录Activity和Fragment生命周期顺序

红色字体是Activity的生命周期,黑色字体是Fragment的;前提:Activity中包含有Fragment。好了,又可以愉快玩耍了。

2022-11-13 17:01:19 988

原创 java 关于关键字finally执行的一点思考

真出现异常,会catch异常,但是,最终返回的是finally代码块中的值;调用这个带返回值的函数,会返回哪个值呢?好了,又可以愉快玩耍了。

2022-11-12 17:47:46 114

原创 android 非前台进程发生异常,app会crash吗?

我们知道一个APP至少有个前台进程,有时会有几个进程,最常见的是有一个服务进程,前台交互的这个进程叫前台进程,优先级最高,最后才会被系统杀死;如果非前台进程发生异常了,前台进程会被杀死吗?整个APP会被杀死吗?注意:如果定义了全局异常捕获,非前台进程也是可以捕获的;好了,又可以愉快玩啥了。写一个例子来验证吧;

2022-11-12 12:35:30 181

原创 mac 设置优先连接的wifi

最近遇到一个问题,我的macbookPro一打开老是自动连接上打印机的wifi,每次都要手动切换成家里的wifi,特别麻烦,以前从没遇到过,忍了一段时间,今天终于忍不住了,还是找下解决的方案,原来很简单地设置下就ok;1、可以看到默认自动连接上了打印机,然后打开。3、找到想要连接的wifi;好了,又可以愉快玩耍了。

2022-11-10 11:25:41 1055

原创 android 断点源码不对的一个坑

两种方式都显示在主线程,这就有问题了,难道handler发送消息就处于主线程了吗?哪还需要消息队列、Looper干啥?有时候会看看Android 源码,难免会去设置断点,看看源码是否执行这一步或者源码的逻辑,比如手机是安卓版本是30,那么gradle.build这里也要设置为30;最近重新看Handler源码的时候就遇到这么一个坑;就是要求手机的版本号要和项目的编译版本号一致!经过好多天的思索,终于找到问题的答案了;好了,又可以愉快玩耍了。

2022-11-08 16:25:57 213

原创 android Room初步使用

目前最高版本是2.4.3,如果用这个版本的话,compileSdk最低要求31,这里就暂时不用最高版本,以后再用;其实就是谷歌官方的一套工具包,提供各种工具类,有一些可以不用第三方的开源库了,现在比较流行google官方的JetPack(喷气背包),这是个什么东东呢?既然Room是大势所趋,那么学一学它改如何使用吧;注意:数据库是I/O操作,所以必须执行在子线程中;Realm不推荐使用,真难用,谁用谁知道!到这里就初步实现了Room的初步使用;GreenDao还不错!好了,又可以愉快玩耍了。

2022-11-07 13:10:43 1094

原创 android 解决Warning: debug info can be unavailable.Please close other application usingADB: Monitor,

1、同时运行了AS和IntelliJ IDEA。2、电脑插上了2台安卓设备(包括模拟器)及以上。哈哈,又可以愉快玩耍了。

2022-11-07 11:28:00 826

原创 android 解决 java.lang.Error: LeakCanary in non-debuggable build

打release包运行报错,点开提示的链接,就能打开LeakCanary官网,原来是这个库只能开发者debug,想想也是,release包给用户,用户发现内存泄漏直接就懵逼了,哈哈;好了,又可以愉快玩耍了。

2022-10-31 17:14:37 526

原创 android 设备重启代码

注意:需要系统root权限,也就是手机要root过才行,模拟器一般可以,因为有root权限。经过反复测试,此代码可以重启安卓设备,在主线程执行此代码便可;好了,又可以愉快玩耍了。

2022-10-28 19:57:36 2189

android RecyclerView列表自动播放实现

android RecyclerView列表自动播放实现

2022-11-23

android 锁屏通知小DEMO

android 锁屏通知小DEMO,非常简单

2022-07-30

android反编译,二次打包一套工具

android反编译,二次打包一套工具

2022-03-04

无声音频,播放时没有任何声音

无声音频,播放时没有任何声音

2022-02-03

zxinglitedemo.zip

ZXingLite for Android 是ZXing的精简版,基于ZXing库优化扫码和生成二维码/条形码功能,扫码界面完全支持自定义,也可一行代码使用默认实现的扫码功能

2021-06-06

TimeLine-master.zip

android 简单方便的横向纵向时间轴列表

2021-05-07

recyclerview左滑删除item

支持recyclerview listview左滑item删除item,轻量级使用,不需要大规模改动代码

2018-12-30

android 热门词汇标签

比较全面的一款自定义热门词汇tagView,自定义属性比较全面,用于商城种类标签,热词标签

2018-12-29

keyboardPanelSwitcher

比如从软键盘切换到表情盘,那么软键盘会先隐藏,接着EditText也跟着滑下去了,然后显示表情盘,就又把EditText顶上去了,这个过程给我们的感觉就是在抖动,这个小demo完美简单地解决它

2018-04-19

android:scheme

android:scheme 通过uri跳转到APP应用指定Activity,供参考

2018-02-01

搞定微信跳一跳

还在为跳一跳分数发愁吗?一个可以让你称霸朋友圈的python工具

2018-01-05

AbstractProcessor小例子

利用annotationProcessor插件在编译期创建Java文件,减少维护成本,提高工作效率

2017-12-25

自定义Annotation注解

一个非常简单的自定义Annotation注解demo,方便新手学习

2017-11-23

模仿钉钉打卡

Android 学习使用AccessibilityService,用于监听手机屏幕发生变化,可以制作模仿钉钉打卡,微信抢红包,运行项目后记得在手机设置-高级设置-辅助功能中打开APP相应的服务

2017-10-12

SQLiteDatabaseBrowser

用于查看sqlite

2017-08-07

sqlitestudio-3.1.1

查看sqlite

2017-08-07

Android 水平方向跑马灯

android 水平方向跑马灯

2017-07-07

本地通知小例子

一个IOS 本地通知的小例子

2017-04-27

Lottie动画小例子

Lottie动画小例子

2017-04-05

自定义圆形带进度值进度条

一个实用的带进度值的圆形进度条

2017-03-25

PickAddressAndDate

Android weelview自定义的时间、地区选择器

2017-03-24

android-python-apk-channel-master

python 打安卓APK渠道包,分分钟千把个

2016-07-11

android:scheme 通过uri跳转到APP应用指定Activity

android:scheme 通过uri跳转到APP应用指定Activity

2016-05-11

修改datePick和timepicker大小

解决datepicker和timepicker一起用引起的布局样式问题

2015-02-15

获取安卓手机安装应用包名,并打开对应应用

获取安卓手机安装应用包名,并打开对应应用

2014-03-28

类似搜狐新闻安卓版栏目定制

类似搜狐新闻安卓版栏目定制,仅供参考,希望大家在这个基础上搞出更好的

2014-02-27

ListView嵌套GridView,可实现QQ空间查看相册目录功能

ListView里面嵌套GridView,可以实现Android版QQ查看相册目录功能

2014-01-23

安卓SDK自带混淆工具

安卓混淆工具包,某些第三方包混淆时出错,就可以用它解决,用法:proguard.jar, 并替换你Android Sdk "tools\proguard\lib\proguard.jar"

2013-11-28

分享到微信朋友圈

实现分享到微信朋友圈,其实比较简单的,不清楚的留言

2013-11-15

ViewPager取消预加载

ViewPager取消预加载专用jar包,修改android support v4后的

2013-11-02

android调用系统相机,比较兼容

网上很多调用系统的方法在三星CPU手机上行不通,这个方法经过测试比较兼容,希望对大家有帮组

2013-07-17

下载图片小demo

一个简单的下载网络图片的小例子,只能下载单张的,大家可以参考参考

2013-07-03

安卓简单计算器

一个安卓下简单的计算器。模仿的XP下标准计算器的样子,希望对刚入门安卓的朋友对掌控布局控件有一定的帮助

2013-01-26

空空如也

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

TA关注的人

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