![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android自学习——go Joe!
文章平均质量分 61
JohnnyDeng94
行成于思,毁于随。
展开
-
Android日常——记一次Android事件分发需求的实现
记一次Android事件分发需求的实现原创 2023-10-04 10:50:05 · 282 阅读 · 0 评论 -
Android日常—圆角ImageView
写在前面新开个topic~日常开发中解决的比较有趣的问题,分享一下~需求ImageView实现圆角,单侧圆角实现分析首先最好能用最小的改动去实现ImageView加圆角,不对bitmap或drawable做处理,而是在绘制时进行修改,于是在onDraw时通过clipPath扣出一个圆角;其次是单侧圆角需要考虑LTR和RTL切换的问题。代码package com.example.myapplication.ui;import android.content.Context;imp原创 2021-03-20 12:04:30 · 733 阅读 · 0 评论 -
LinearLayout onMeasure源码解析
目录写在前面知识储备1. LinearLayout属性baselineAligned的作用及baseline2. LinearLayout之Weight/measureWithLargestChild详解3. LinearLayout分隔符妙用4. TabRowLinearLayout.onMeasure源码分析Vertical变量第一个for循环第二个for循环第三个for循环Last but not the least写在后面写在前面基于android-30源码进行分析知识储备1. Linea原创 2021-02-09 16:18:16 · 373 阅读 · 0 评论 -
图片加载—Glide为什么这么强?Glide源码分析(下)
写在前面Github–Glide 镇楼欢迎光临下篇 ~目录(上)1.代码实例2.GlideApp3.with4.监听生命周期5.load6.into(下)1.资源加载和缓存机制2.TargetView3.Transform资源加载和缓存机制书接上文,讲到了into方法最后委托’RequestTracker #track’去获取资源: # RequestManager void track(@NonNull T原创 2020-05-13 10:09:49 · 383 阅读 · 1 评论 -
图片加载—Glide为什么这么强?Glide源码分析(上)
写在前面Github–Glide 镇楼源码越看觉得东西越多,决定分两篇来写:目录(上)1.代码实例2.GlideApp3.with4.监听生命周期5.load6.into(下)1.资源加载和缓存机制2.TargetView3.Transform代码实例// how to use?repositories { mavenCentral() google()}dependencies { implement原创 2020-05-12 13:05:41 · 379 阅读 · 1 评论 -
OKHttp看这一篇就够了!
写在前面本文按照一次网络请求的代码实例的顺序来进行源码分析,如果有错误的地方麻烦各位大佬指正~目录1.代码实例2.OkHttpClient3.Request4.Call & RealCall5.Dispatcher6.Interceptor实例 /** * 同步请求 */ public void synRequest() { ...原创 2020-05-08 14:05:30 · 938 阅读 · 0 评论 -
Android Architecture Components(六)Room源码分析
写在前面官方文档镇楼首先先摘选官方文档上的讲解,之后针对Room涉及的注解进行阅读分析。使用 Room 将数据保存到本地数据库Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。处理大量结构化数据的应用可极大地受益于在本地保留这些数据。最常见的用例是缓存相关数据。这样,当设备无法访问网络时,用户仍可在离线状态下浏览相应...原创 2020-03-15 18:17:03 · 953 阅读 · 0 评论 -
Android Architecture Components(五)Paging源码分析
写在前面本文分三部分进行解读:首先是官方文档的摘录,介绍Paging库的作用以及使用方式,第二部分会给出一个实例来介绍Paging库的用法,第三部分结合项目对源码进行阅读分析。官方文档The Paging Library helps you load and display small chunks of data at a time. Loading partial data on de...原创 2020-03-09 20:20:15 · 460 阅读 · 0 评论 -
AndFix源码分析
写在前面Github地址镇楼:AndFix首先介绍一下AndFix及其使用方法,然后根据使用流程对其内部实现进行分析。AndFix介绍首先我们看一下不同热修复框架的功能特性对比:特性AndFixTinker/AmigoQQ空间Robust/Aceso即时生效是否否是方法替换是是是是类替换否是是否类结构修改否是否...原创 2019-11-20 20:10:16 · 472 阅读 · 0 评论 -
Android 倒计时出现误差解决方式
写在前面这几天在实现一共和倒计时有关的功能,使用CountDownTimer实现。然而,在测试的时候发现,倒计时经常发现跳秒、不出现1的情况,因此对这方面进行了一些了解。本文准备介绍一下CountDownTimer倒计时不准确的原因,以及自己实现的一个计时器~CountDownTimer的问题发现跳秒、不出现1的问题之后,首先将每次onTick()的回调时间打印了出来(这里忘记保存log了...原创 2020-02-28 14:07:09 · 1650 阅读 · 0 评论 -
Decoder init failed: OMX.qcom.video.decoder.avc
问题描述使用Exoplayer,在低端机型上播放视频时抛出异常;视频为使用高端机型自带录屏软件录制,全部参数开启到最大,视频时长6-8s,大小为16-18M,且无音轨。抛出异常Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decode...原创 2019-06-05 17:26:39 · 9346 阅读 · 2 评论 -
Binder知识点
写在前面本文为universus的Android Bander设计与实现 - 设计篇的一些摘要,强烈建议阅读原文!!在阅读后,为了方便没时间时可以快速浏览加深记忆,将其中的大部分内容摘要、精简后整理了一下。如果您和我一样对Binder不是很了解,那么看这篇文章不会给您带来太多的帮助,强烈建议阅读原文!!Binder与传统IPC的对比通信方式目前linux支持的IPC包括传统的管道,Sy...转载 2019-05-25 13:16:48 · 403 阅读 · 0 评论 -
ERROR: Failed to resolve: xxx Affected Modules: xxx
错误信息:ERROR: Failed to resolve: databinding-adaptersAffected Modules: appERROR: Failed to resolve: databinding-runtimeAffected Modules: app出现原因:在引入新的依赖时,需要在project的build.gradle中添加远程仓库。allpro...原创 2019-05-08 14:55:02 · 10171 阅读 · 3 评论 -
Android Q 简介 - Privacy and location
写在前面官方文档镇楼本文为阅读官方文档的同时,翻译并整理而成。因为文档很长,一边看一边记录,并持续更新到这里~作者的思维有些跳脱,经常想开一个坑就开一个坑,然后慢慢填。如有错误,望大佬们指出,不胜感激。2019.04.29Android Q 隐私清单 (Android Q privacy checklist)Privacy and locationAndroid Q扩展了用户...原创 2019-04-29 00:34:18 · 1372 阅读 · 0 评论 -
Android混淆介绍
Android混淆官方文档要尽可能减小 APK文件,您应该启用压缩来移除发布构建中未使用的代码和资源。此页面介绍如何执行该操作,以及如何指定要在构建时保留或舍弃的代码和资源。代码压缩通过ProGuard提供,ProGuard会检测和移除封装应用中未使用的类、字段、方法和属性,包括自带代码库中的未使用项(这使其成为以变通方式解决 64k 引用限制的有用工具)。ProGuard还可优化字节码,移...原创 2019-03-28 09:23:11 · 336 阅读 · 0 评论 -
Json字符串转换Map类型
今天在Json转换为Map类型这里遇到个小问题,卡了很久,最后在网上找到了答案,在此记录一下:我自定义了一个模型类,这里暂且叫Temp.java,数据保存格式为HashMap hashmap。Map转Json:String json = JSON.toJSONString(hashmap);Json转Map:HashMap hashmap = (HashMap) JSON.p原创 2017-04-24 09:35:02 · 959 阅读 · 0 评论 -
【译文】移动手机多媒体数据流传输技术:对于用户体验和能源节约的看法
emmm 毕业时学校要求翻译一篇外文文献,找到了这篇 Mobilemultimediastreamingtechniques:QoEandenergy savingperspective 里面没有太多的生词,翻译起来比较简单,而且也学到了很多知识。把翻译后的内容分享出来供大家参考,如有错误万望指出!论文原文和翻译已经上传,> 下载不需要积分,http://download.csdn.net/翻译 2017-08-02 13:10:54 · 507 阅读 · 0 评论 -
学习笔记整理2——rxjava和Retrofit摘录
rxjava retrofit学习笔记原创 2017-08-22 19:15:56 · 229 阅读 · 0 评论 -
JPush集成华为推送的一些问题-Android端
声明:阅读前请知。极光内部集成了华为推送,在集成了极光推送的基础上,根据所提供的文档,为app添加华为HMS推送集成。该功能是极光为VIP用户提供的功能,非VIP账号就算按照文档集成,也无法实现对应的效果。这篇文章整理了我在集成的时候遇到的问题,在这里分享给大家。如果有写的不对的地方,欢迎拍砖~1.华为推送点击后会自启-唤起启动页的问题华为推送里有三种模式:启动app,富媒体推送和自定义推送。如果...原创 2018-02-27 16:52:55 · 4684 阅读 · 20 评论 -
Android——Error inflating class ImageView
今天写了一个Demo,刚开始用自己的手机进行测试,没有问题;后换用4.4的手机,运行时崩溃,报错为Error inflating class ImageView 。最后发现问题出现在ImageView的图片上。默认占位图复制到drawable中时,系统自动放在了drawable-v24中,导致在低分辨率手机上无法找到图片而报错。在此记录。...原创 2018-03-21 14:55:31 · 5881 阅读 · 2 评论 -
偶遇bug:接入aar包无法使用
今天遇到了一个问题:项目对接一个识别功能。提供的Demo里面什么都没有 单纯就是接了sdk(aar包) 但可以正常运行;而用同样方式接入app中,无法正常运行 。具体的不能运行表现为:1.可以读取到包内所有数据,没有报错;2.跳转到aar中提供的Activity时 可以正常打开;但是Activity没有正常走它的业务逻辑原因:aar会解析出运行所需要的.so库,但是只有'armeabi', "ar...原创 2018-05-10 16:14:39 · 745 阅读 · 0 评论 -
Android Architecture Components(一)Lifecycle源码分析
Lifecycle简介我们先来看一下官方网站给出的定义: Lifecycle-aware components perform actions in response to a change in the lifecycle status of another component, such as activities and fragments. These components h...原创 2018-07-20 16:33:46 · 575 阅读 · 1 评论 -
JsBridge学习笔记
Hybrid App背景App开发工程师实在Google推出了Android、Apple推出iOS后出现的职位。当H5广泛流行之后(16年后Android 4.0以上的市场占有率已经超过70%,对H5的支持已经普及),针对App开发更加有效率的Hybrid方式开始流行。Android中有使用Chrome内核的Webview控件,可以使用H5来编写页面的主要逻辑,原生Webview用于加载显示,...原创 2018-09-16 19:43:23 · 514 阅读 · 0 评论 -
Error:The module 'app' is an Android project without build variants
今天拉下来的代码,编译时报错:Error:The module ‘app’ is an Android project without build variants, and cannot be built. Please fix the module’s configuration in the build.gradle file and sync the project again.解...原创 2019-02-03 11:23:57 · 7857 阅读 · 0 评论 -
Tools attributes reference
Tools attributes referenceAndroid Studio支持tools命名空间中的各种XML属性,这些属性支持设计时功能(例如,在fragment中显示哪种布局)或编译时行为(例如应用于XML资源的缩小模式)。 构建应用程序时,构建工具会删除这些属性,因此不会影响APK大小或运行时行为。要使用这些属性,请将tools命名空间添加到您要使用它们的每个XML文件的根元素,如...原创 2019-02-04 15:59:43 · 311 阅读 · 0 评论 -
error: failed linking references
今天重启了一下项目,突然编译不通过,报的错误是error: failed linking references.org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processInhouseDebugResources'. at org.gradle.api.internal.tasks...原创 2019-04-04 12:40:01 · 4016 阅读 · 0 评论 -
DragTopLayout中TopView下拉缩回问题
小白一只,写这篇博文只是想分享一下自己的解决方法。如果有错的地方或可以改进的地方,希望各路大神不吝赐教:)项目中使用DragTopLayout遇到了一个问题,topView加上banner,在下拉时经常会缩回,只有onFling一下才能显示出来。看了下源码,发现了提供了openTopView这个方法:public void openTopView(boolean anim) { //原创 2016-12-20 11:02:16 · 585 阅读 · 2 评论