0303
Android kotlin DataBinding 之 unresolved reference: BR 坑
使用kotlin实现MVVM框架之使用Databinding的时候遇到unresolved reference: BR。由于目前kotlin开发的插件不支持跨module,所以databinding在使用apt技术BR文件时的引用没发确定目录,故造成unresolved reference:BR,那么需要kapt完成,配置如下
app下build.gradle
apply plugin: 'kotlin-kapt'
kapt {
generateStubs = true
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//版本要与gradle版本一致
kapt "com.android.databinding:compiler:3.5.0"
}
0304
Error: Invoke-customs are only supported starting with Android O (–min-api 26)
// 在build.gradle里面添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
0305
韩国VS江苏
- 韩国总面积 约10万平方公里 常住人口5164万人
- 江苏总面积10.72万平方公里 常住人口8050.7万人
- 意大利总面积30万平方公里人口6080万人
0306
MIUI深色模式
MIUI 11上,小米带来了全新的深色模式,还包括高级功能中的全局反色,可以将系统应用之外的第三方应用界面也调整到深色
0309
ViewModelProviders被弃用了,该怎么获取ViewModel
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHlrloZP-1585703433667)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/31d5380f-6790-4441-9e01-00a30092f97b/Untitled.png)]
我可以在官网上找到API变更说明,
所以最后使用方式如下
fun <T : ViewModel> createViewModel(activity :FragmentActivity, cls:Class<T>) : T {
return ViewModelProvider(this)[cls]
}
0310
YYYY-MM-dd 和 yyyy-MM-dd的区别
- y:year-of-era;正正经经的年
- Y:week-based-year;只要本周跨年,那么这周就算入下一年;
例子:2019-12-31 在y下正常显示 在Y下显示的是2020-12-31
0312
NBA暂时停摆
kotlin 成员内部类使用外部类变量
在kotlin代码中,内部类变量使用外部类变量,在定义内部类时,使用关键字inner
fun setAge(age: Int) {
this.age = age
}
inner class A {
fun getAge(): Int {
return age
}
}
0316
ijkplayer编译
是bilibili开源的一款基于ffmpeg的播放器,引入ijkplayer到项目的方式有两种
- 第一种 gradle引用
# required
allprojects {
repositories {
jcenter()
}
}
dependencies {
# required, enough for most devices.
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
# Other ABIs: optional
compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
# ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
}
通过这种方式引入只能提供基本的编码格式以及功能,并且不支持https协议。
如果需要更多功能和编码格式支持,则需要通过编译源码实现
- 第二种 编译源码
0317
You need the NDKr10e or later
在编译ijkplayer的时候遇到这个错误的,需要使用r10e以后的NDK版本,但是我使用的是r15c的版本,为什么还有这个错误提示?后来排查发现可能是我使用的是老的code,还没有适配到NDK15,我们可以修改ijkpayer-android/android/contrib/tools/do-detect-en.vh
11*|12*|13*|14* 改
11*|12*|13*|14*|15*
保存就OK 了。(这里建议使用ndkr14d 版本,不然会报另一个错误“ERROR: Failed to create toolchain.”)
0319
ijkPlayer 利用系统的MediaController拖动进度条会往后退几秒
参考下面的解决办法
Android 修复ijkPlayer进行m3u8 hls流播放时seek进度条拖动不准确的问题_移动开发_Coding for Android-CSDN博客
0326
这个网址可以模拟很多网络请求