Android studio 引入不了R包,手动引入显示红色。可以跑起来却没问题 问题是:工程里找不到自己包名的R,手动导入显示红色,Run起来倒是没问题。尝试过Clean,Rebuild,清缓存,重启,都没用。之前在这个问题踩坑2次,遂记录一下。指定一下:package即可。
Android 触摸事件的分发 原理:伪代码override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { var isConsume = false if (onInterceptTouchEvent(ev)) { isConsume = onTouchEvent(ev) } else { isConsume = child.dispatchTouchEvent(ev) } return isC..
Android RecycleView 吸顶功能 支持LinearLayoutManager,GridLayoutManager,StaggeredGridLayoutManager RecycleView吸顶功能
Git基本使用3:基本使用语法 ==================【tag】===================打印所有tag:git tag删除tag:git tag -d version_1.0.3 //刪除本地taggit push upstream :refs/tags/version_1.0.3 //删除远程tagtag提交到远程:gitpushorigin--tagsgit push upstream --tagsgit push upstream :refs/tags.....
Android 获取APK的签名秘钥keystore ===========【获取release包签名秘钥】=========找到release签名在项目对应的目录1:进入签名目录:cd xxxxxxxxxxxxxxxx2:命令:keytool -list -v -keystore xxx.jks3:输入签名密码:xxxxenter===========【获取debug包签名秘钥】=========debug签名默认在这个目录cd 进去debug签名秘钥默认是:android1:cd 进去2:k...
使用Android Studio 打 release 包 使用 Android Studio打包选 Build - Generate Signed Bundle / APK 选择打 aab 和 apk ,这里选 apk ,至于aab 和 apk包有什么却别,可以看 https://blog.csdn.net/qq_34707150/article/details/118670880初次打包,我们没有自己的签名,所需需要 Studio 帮我们生成自己的签名创建签名,一般把签名放在 ...
Android 的 MVVM 之 LiveData源码研究 Android 官方提供的MVVM模式 ,有 DataBinding,ViewModel 和 LiveData组成。 废话少说,先看下LiveData怎么用的?class TestActivity : AppCompatActivity() { private var data: MutableLiveData<String> = MutableLiveData() override fun onCreate(savedInsta...
Kotlin之协程coroutine lifecycleScope 和 viewModelScope源码(2) 上一篇文章 Kotlin之协程coroutine使用(1) 文末介绍了Activity,Fragment 和 ViewModelScope对应的自动绑定生命周期协程开启方式, lifecycleScope 和 viewModelScope 这篇文章,就解剖一下,为什么这两货可以绑定生命周期,去需要用户自己去绑定取消?=========================================================================Activity 和 Fra..
Android 进程通讯之AIDL 之前写过一篇进程通讯的文章Android 进程通讯之Messenger https://blog.csdn.net/Leo_Liang_jie/article/details/98751212
Git基本使用2:GitLab密码更改 TortoiseGit是大家常用的git客户端,操作起来非常的简便,但是当账号密码变化之后,再使用TortoiseGit操作git就会提示没有权限,那么,TortoiseGit怎么修改用户名密码呢,首先,打开电脑上面的【控制面板】,依次:【用户账号】--【凭据管理器】-- 【Windows凭据】,并点击进入就会出现该git地址的具体信息,包括用户名和密码,点击下面的“编辑”按钮更新最新的用户名和密码即可...
Android Jetpack- Paging3.0的使用 上一篇文章说了 Paging2.0的基本使用https://blog.csdn.net/Leo_Liang_jie/article/details/109473099其实 Paging3.0早出来,而且功能会更加强大,比如下面:1:为 Kotlin 协程和流程提供一流更好的支持2:分页数据缓存到内存中,保证应用在处理页面数据的时候,更有效的使用系统资源等等原理这个2.0文章已经说过了,这边直接上代码,升级依赖到:3.0implementation "an...
Git基本使用1:初次提交代码到远程仓库 【1】 初始化本地代码,并提交到远程 创建一个仓库,可以在码云或github,这里以 github为例。仓库地址是:https://github.com/LeoLiang23/PagingDemo.git然后,在自己的工程目录,右键-Git Bash Here在Git命令窗口输入 git init,初始化本地仓库,初始化完成后,本地仓库文件夹中会出现一个.git文件夹,证明该仓库 已经被git管理了;然后,提交文件到缓存区,git a...
Android Jetpack- Paging2.0的使用 Google 推出 Jetpack 组件化已经有相当一段时间了。各种组件也层出不穷。今天就搞一下这个 Paging 。 Paging 的出现,就是用作列表的分页加载。其实现在已经有非常多成熟高效的开源列表加载控件了,比如:Smartrefreshlayout等。但Google推出的,必然有它的有点,当然也有它的局限性。 先说优点吧,Paging 的使用,需要配合ViewModle,LiveData等控件,数据的请求感知并绑定页面的生命周期,避免了内存泄漏。还需要绑定Dat...
TCP的三次握手和四次挥手 TCP的原理,作为一个应用开发者来说,可能在平常开发中,99%时间用不上。因为平常用得网络框架比如OkHttp等都已经帮我们封装好,我们不需要知道里面的原理直接用接口即可,很简单。 但是作为一个优秀的开发者,我们必须要知其然也需要知其所以然。而且特别在面试的时候, TCP握手和挥手原理经常被问到,如果答得上来,容易加分.... 闲话少说,直接上原理图【三次握手】具体流程:1:客户端(Client)尝试请求连接,会随机产生一个数Sequence码 X,发给服...
Android仿抖音App 列表滑动 PagerSnapHelper 抖音列表滑动,就是用了 PagerSnapHelper ,PagerSnapHelper 是Android 提供的一个Api,每滑动一个Item,其作用类似于ViewPage那样,直接与RecycleView相关连即可class RecycleActivity : AppCompatActivity() { companion object { fun launch(context: Context) { context.startActivit.
Android Jetpack 之 App Startup 我们平常在项目开发中,会引入或多或少第三方sdk,引入时基本上都需要初始化,而大部分sdk初始化,都提倡在 Application的onCreate()里面初始化,比如下面:class MyApplication:Application() { override fun onCreate() { super.onCreate() MySdk().init(this) MySdk1().init(this) MySd...
Kotlin之协程coroutine使用(1) Kotlin 已经成为Android开发的主打语言好些年了。但是我们在使用Kotlin时,不要仅限于使用Kotlin的语法糖。还有要使用其更有技术含量的API。比如这篇文章要讲的内容--协程在介绍协程之前,先说一下 Android 里面开启异步功能(开启新线程)的方法,要么开启一个新的Thread,要么创建一个线程池,要么创建HandlerThread,要么使用 IntentService。其实这几种方法,归根结底,都是开启了一个新的线程。新开一个线程,会消耗比较大的内存。频繁的开启线程的话还会导致内存