android
文章平均质量分 52
嫩嫩的猿
一名萌新android开发程序猿。
展开
-
kotlin 编译ksp创建文件codeGenerator.createNewFile卡住
我们一般在ksp创建文件需要在KSVisitorVoid里面的各个函数里创建,但是特殊情况需要生成其他类,如果没在KSVisitorVoid函数里面使用codeGenerator.createNewFile编译的时候就会卡主,从而产生异常:java.lang.OutOfMemoryError: Java heap space解决办法把codeGenerator.createNewFile逻辑代码放到Thread线程里面private fun generate() { threa原创 2021-06-03 11:01:52 · 402 阅读 · 2 评论 -
AndroidStudio Kotlin使用ksp
前提:如果你不了解ksp是什么的,可以去看看官网,类似kapt的增量注解处理插件,但是它是专门为kotlin而衍生的,但又完全兼容java代码的处理,速度上比kapt快,这篇文章可能要有一点kapt之类的经验ksp:官网废话不多说,开始吧!注意请使用新的项目来测试ksp,因为gradle脚本语言需要换成kotlin脚本1.settings.gradle更名为:settings.gradle.kts然后将里面的代码更改为include("app")rootProject.name="KspT.原创 2021-06-03 10:53:52 · 3677 阅读 · 10 评论 -
android 使用Kotlin operator 泛型属性委托配合DataBinding,实现2个委托类,全局binding通用
用kotlin好久了,最近发现上手学了一下android新的DataBinding特性(虽然已经出了好久了),但是每个对象都需要添加:set(value) { field = value notifyChange()}这就很烦,然后突然想到了可以使用委托这个kotlin的特性来配合完成统一实现:notifyChange()下面是代码首先新建一个抽象类,然后集成DataBinding的BaseObservable// 抽象类 继承baseObservable 因为自己建原创 2020-12-28 11:41:18 · 2474 阅读 · 4 评论 -
Android Kotlin 使用DataBinding调用静态方法时提示 not find databinding.ActivityMainBindingImpl
DataBinding是谷歌新推出的数据跟组件绑定的一个功能,本着尝鲜(虽然是发布以后好久才开始尝试使用的)的态度,学习了一下使用方法,但是跟着教程走到在xml里面使用静态方法时,kotlin就出问题了,提示找不到not find databinding.ActivityMainBindingImpl ,但是Kotlin的静态一般都是放在伴生对象(companion object)里面的,随意就报错了,下面是解决办法:class Test{ companion object{ @原创 2020-12-18 17:19:29 · 1681 阅读 · 1 评论 -
Android 高德地图Search Poi 7.6.0不返回省市区
前几天高德POI Search库版本更新到了7.6.0,然后开发的是否突然发现我的poi搜索没有省市县信息了。解决办法:PoiSearch.Query需要设置一个参数:PoiSearch.EXTENSIONS_ALLkotlin:query.extensions=PoiSearch.EXTENSIONS_ALLjavaquery.setExtensions(PoiSearch.EXTENSIONS_ALL)上面就是解决办法,我也是无语,以前高德默认都有的,后面更新到7.6.0版本后,添加了原创 2020-09-14 11:14:55 · 914 阅读 · 1 评论 -
Android透明Activity 小米手机出现黑色背景问题
最近开发app用到了透明Activity,该透明Activity是一个登陆页面,需要从其他页面跳转,所以如果从ActivityA跳转到ActivityLogin页面的同时需要关闭ActivityA,这个时候的ActivityLogin页面的背景色就会是黑色的,其他手机不会出现,但是小米会出现这个问题,下面是解决办法:在APP的主题AppTheme里面设置窗口背景是透明的就可以了,可以使APP的全...原创 2020-03-17 13:52:39 · 3908 阅读 · 0 评论 -
Android RecyclerView 滑动到指定item(position)并加动画
其实Android RecyclerView组件已经自带了移动方法:RecyclerView.scrollToPosition(position) //没有动画效果但是这个方法没有动画效果,很生硬,直接就滑动过去了,下面来看一个有滑动动画效果的:val smoothScroller= object : androidx.recyclerview.widget.LinearSmoothScro...原创 2020-01-07 17:32:39 · 4798 阅读 · 3 评论 -
Android OkHttp4 RequestBody.create()过时解决办法 kotlin、java版本
前段时间,OKhttp3已升级到Okhttp4 ,编写语言由java过渡到kotlin,而以前okhttp3经常用到的post提交数据的:RequestBody.create() 已过时,并且换成了kotlin的新特性写法!okhttp3 post请求的代码(4.0版本已过时):val request:Request=Request .Builder() .post(Requ...原创 2019-11-07 14:55:30 · 32019 阅读 · 9 评论 -
Android10.0 shape gradient 渐变方向问题
今天手机升级成Android10.0系统,在开发项目中突然发现渐变样式方向错了,shape中gradient的默认方向是从左到右,也就是android:angle=“0”,但是由于人懒,就没写android:angle=“0”,运行项目后发现渐变方向是从上往下,而非默认的从左到右!如果没设置angle方向的,记得加上就能解决了。不知道是不是手机厂家UI系统的问题,我的是MIUI11出现的问题,...原创 2019-10-30 15:53:45 · 4129 阅读 · 4 评论 -
android本地信息、图片缓存代码-Java
android版本,可缓存文字、图片,代码由百度搜索到的,以便以后使用!以此记录!本人根据Android版本改动了一下,改成Java版本,可在pc端上使用!使用代码: ACache acache=ACache.get(MyApplication.context);//创建一个缓存对象 String a=acache.getAsString(key);//获取对应key缓存的字符串信息 ...原创 2018-11-27 09:36:10 · 200 阅读 · 0 评论 -
Android 重绘 View
此刻打盹,你将做梦;而此刻学习,你将圆梦。今天我们来学习如何重绘View! 所谓的重绘就是重新绘制他的外观(样式),既然要重新绘制,那么首先需要继承 View 类。 extends View首先,新建一个android项目,我们定义一个类,并继承 View,类名叫:DrawView:public class DrawView extends View { public DrawVie原创 2017-07-25 18:09:28 · 916 阅读 · 0 评论