摘要:
前言 实现原理很简单,就是绘制2层不同颜色的文本,然后将其中一个的画布裁剪到合适的大小在向一个方向移动起来。 效果图 代码 import android.content.Context import android.graphics.Canvas import android.graphics.Co 阅读全文
摘要:
前言 此篇博客会记录各种各样奇怪的项目build是gradle的问题 原因一,Google仓库连不上 google网络连不上,切换仓库路径 , 阿里的仓库地址 https://developer.aliyun.com/mvn/guide 如果还是慢,注销掉google() 与 jcenter()在重 阅读全文
摘要:
前言 讲解基本Switch的使用与记录一些开发点子 转载请注明来源:https://www.cnblogs.com/guanxinjing/p/16313742.html 基本属性 android:showText:设置on/off的时候是否显示文字,boolean android:splitTra 阅读全文
摘要:
前言 在Android跨进程通信的方式有很多比如广播,ContentProvider,AIDL等等,它们各自有各自的使用范围。而且AIDL更像是Java的ServerSocket通信机制, 需要一个常驻的服务端与调用它的客户端。AIDL现在的缺点可能也是需要一个服务配合使用。因为目前Android端 阅读全文
摘要:
版权声明 本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/16307287.html 本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 前言 基于SDK API 28 阅读全文
摘要:
前言 LinearSnapHelper与PagerSnapHelper是一个滑动自动回正的一个辅助类,一般多用于RecyclerView的滚轮选择器的开发上 LinearSnapHelper与PagerSnapHelper的区别, LinearSnapHelper多用于一页显示多行内容的线性列表,P 阅读全文
摘要:
版权声明 本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/16258670.html 本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 前言 此博客讲解Usb插入的设 阅读全文
摘要:
前言 gson是Json解析框架,下面介绍kotlin的形式使用gson 依赖 implementation 'com.google.code.gson:gson:2.9.0' 实体类解析成字符串 val applyBean = ApplyBean("app", 1, "xxx.xx.xx") va 阅读全文
摘要:
前言 此篇博客只展示一些系统级别应用的开发功能记录,这些功能都需要系统签名与系统级权限。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxxx.xxxx" android:shar 阅读全文
摘要:
前言 焦点一般在TV设备,投影仪设备开发中使用很多。因为这些设备不带触控与键鼠输入,而是使用遥控器。本博客讲解与记录焦点开发的一些功能与细节。 在xml里关于焦点的属性 <!-- 控制视图是否可以获取焦点。默认情况下,这是“自动”,它让框架确定用户是否可以将焦点移动到视图。通过将此属性设置为 tru 阅读全文
摘要:
前言 更新Android stuido版本后,根目录下的build.gradle与settings.gradle都跟以前不一样了。这里备注下,以前在build.gradle添加的maven { url 'https://jitpack.io' } 现在在settings.gradle 里添加 代码 阅读全文
摘要:
前言 学习小程序的Demo记录博客 微信小程序开放文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ css文档 https://developer.mozilla.org/zh-CN/docs/Web/CSS/border- 阅读全文
摘要:
版权声明 本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/16014823.html 本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 前言 Paging是在jetp 阅读全文
摘要:
问题描述 WorkManager有一个特性 : 任务创建并且入队后,app被后台清理了,任务不会执行. 但是在app重新启动后,只要定时时间已经到达,任务就会在app启动的时候立刻执行. 这个特性容易产生一些报错与误解性的问题.,比如: 1.因为异步初始化的模块在doWork里的调用,doWork先 阅读全文
摘要:
前言 记录一份Android shell工具类 代码 public class ShellUtils { private static final String COMMAND_SU = "su"; // 获取root权限的命令 private static final String COMMAND 阅读全文
摘要:
前言 在Android11后,google推出了WindowInsetsController 来取代之前复杂麻烦的窗口控制. 意在将Android的窗口控制更简单. 这里说明下什么是窗口控制,在Android手机里,状态栏,导航栏.输入法等等这些与app无关,但是需要配合app一起使用的窗口部件. 阅读全文
摘要:
前言 在https://www.cnblogs.com/guanxinjing/p/10701192.html 这篇博客里了解了如何抓取与分析Android的内存泄露后,在这个博客里.将记录举例会引起内存泄露的情况.在android平台一般情况下的内存泄露都指页面(Activity或者Fragmen 阅读全文
摘要:
查询权限 /** * 检查通知权限 */ private fun checkNotifyPermissionStatus() { context?.let { context -> val manager = NotificationManagerCompat.from(context) // ar 阅读全文
摘要:
前言 此篇博客会举例几个自定义的Interpolator,因为Interpolator的自定义实现其实很简单(就是继承BaseInterpolator类后重写getInterpolation),所以就不介绍Interpolator的代码. 这里只讲解会有实用意义的自定义Interpolator例子 阅读全文
摘要:
问题描述 当在其他页面出现异常后app触发闪退,在返回到有使用FragmentTransaction添加Fragment的页面,会出现Fragment重叠,数据不一致的问题 问题原因 App闪退后,要返回的上一级Activity会被重新创建(有点类似横竖屏后的Activity), Activity在 阅读全文
摘要:
作者:sososeen09链接:https://www.jianshu.com/p/0a4cb44ce9d1来源:简书 前言 Activity有生命周期,同样的,View从添加到界面到从界面中移除也有一个生命周期,在官方文档中介绍了自定义View需要重写的一些方法,可以认为这些方法就是View的生命 阅读全文
摘要:
前言 这个bug真是坑大了...而且追查起来特别蛋疼,目前猜测可能是ViewPager的滚动与SwipeRefreshLayout下拉动作导致的点击事件分发上被消耗的问题. 以后在研究到底是那个地方的Touch事件被消耗了 解决办法 在实现SwipeRefreshLayout的布局里不使用Const 阅读全文
摘要:
版权声明 本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/15630095.html 本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 前言 此博客将讲解高阶函数的学 阅读全文
摘要:
git clean用法 想批量删除branch中新加的文件(untracked files),,git reset --hard不行~ 首先确认要删除的文件 git clean -fd -n 如果以上命令给出的文件列表是你想删除的, 那么接下来执行 git clean -f -d或者git clea 阅读全文
摘要:
前言 kotlin的委托模式其实就是Java的代理模式的魔改(有更多的骚操作),是软件设计模式中的一项基本技巧。不管是代理还是委托都是可以从字面意思中理解,将一个"A对象"需要完成的工作交由另一位"B对象"完成。 这里对代理模式理解不深刻的人,就会有疑问了,为什么在代码里不直接让A对象完成工作呢? 阅读全文
摘要:
版权声明 本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/15608249.html 本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 前言 此篇博客讲解协程与Ret 阅读全文
摘要:
只需在Kotlin中省略inner. 内部类(持有对外部对象的引用) Java: class A { class B { ... } } kotlin: class A { inner class B { ... } } 静态内部类又称为嵌套类(不引用外部对象) Java: class A { st 阅读全文
摘要:
前言 这篇博客不讲解协程原理,本着快速学习,快速理解,快速使用方式来讲解协程. kotlin协程是什么? 它其实是类似android的Handler或者java的RxJava. 本质就是为了处理各个线程上的工作协调. 在实际的Android开发最经常的情况就是需要让子线程耗时处理的数据结果发布到主线 阅读全文
摘要:
前言 google推出Camera后,发现Camera功能简单,难以满足需求调用Camera各种效果,所以又推出了Camera2. Camera2功能强大但是使用十分麻烦,回调与冗余代码太多,而且特别容易在释放Camera上犯错导致activty的内存泄露. 所以google推出了更简单易用,但是功 阅读全文
摘要:
前言 提供一些for循环的使用demo 简单的一个数数for循环 例子1 fun main() { for (i in 0..10){ print("i = $i ,") } } i = 0 ,i = 1 ,i = 2 ,i = 3 ,i = 4 ,i = 5 ,i = 6 ,i = 7 ,i = 阅读全文
摘要:
前言 刚转kotlin开发,而且大部分时间是java与kotlin混合的情况下,所以此篇博客记录一些list集合函数操作例子.帮助与强化记忆. 更新集合中的内容 fun main() { val list = mutableListOf<Data>(Data("皮卡丘",1), Data("双弹瓦斯 阅读全文
摘要:
可能原因1 使用了kotlin构建了项目,并且使用kotlin编写room创建数据库,在build.gradle文件里做如下修改 plugins { id 'com.android.library' id 'kotlin-android' id 'kotlin-android-extensions' 阅读全文
摘要:
前言 此博客记录一些好用且实用的快捷组合 搜索文件 Shift+Shift:工作空间内全局查找类 鼠标框选字符串,连续按下shift键可以搜索当前选中内容的文件 查找 Ctrl+F:文件内查找指定内容 Ctrl+Shift+F:工作空间内全局查找方法调用(此快捷键与输入法冲突,请先在输入法中禁掉) 阅读全文
摘要:
代码 /** * [fragmentClass]是否是活跃Fragment */ public fun <F : Fragment> isActiveFragment(fragmentClass: Class<F>): Boolean { val navHostFragment = this.sup 阅读全文
摘要:
Module的build.gradle的使用记录 区分module是library还是application application是项目的壳工程,是打包的主工程 plugins { id 'com.android.application' id 'kotlin-android' id 'kotli 阅读全文
摘要:
问题 在Activity或者Fragment里出现 findViewById返回为空null 或者 findViewById的自定义View类型无法被强制转化 问题原因 其他Module里存在了相同名称的xml 布局或者资源文件 解决办法 删除重复的布局文件或者另外取名称.另外在Module的bui 阅读全文
摘要:
前言 本地广播只能在应用程序内部进行传递,并且只能通过动态注册.这种本地广播的好处是不会将一些隐蔽信息被全局广播出去. 全局静态与动态广播 在8.0版本以后,全局广播权限收紧,其实已经没有什么静态与动态的区别了.... 虽然还支持静态这种写法,但是实际上还是需要动态注册广播。下面就来讲解8.0之后的 阅读全文
摘要:
问题 在Activity的onCreate生命周期里执行下列代码,导致 xxx does not have a NavController set on xxx 报错 布局: <androidx.fragment.app.FragmentContainerView android:id="@+id/ 阅读全文
摘要:
前言 GridLayout其实已经算是时代的眼泪了,在有ConstraintLayout的情况下,它其实变的相当鸡肋. 它的属性调试难度其实比ConstraintLayout还复杂(个别属性组合特别难以理解和使用),个人是建议如果你在有需求实现表格类型布局时还是直接使用ConstraintLayou 阅读全文
摘要:
前言 主要记录2个问题: 1.在Fragment里启动某个Activity后在返回,希望从Fragment下的onActivityResult获取数据,但是不执行的问题。 2.在Fragment里启动某个Activity后在返回,希望从Fragment的根Activity下的onActivityRe 阅读全文
|