Android必知必会
文章平均质量分 79
整理一些Android在实际工作和应用开发方面必知必会的知识点,最一线的经验积累
他叫自己MR张
博主拥有多年 Android 开发经验,关注细节,善于整合各类知识和解决复杂的疑难问题;负责过多个 Android 出海应用,从立项到上线稳定运营,积累了丰富的经验和技能。本博客主要分享 Android 开发经验和技巧,帮助其他开发者更好地掌握 Android 开发和其他相关技术。欢迎来到我的博客,一起探讨 Android 开发的乐趣!
展开
-
Android 必知必会:ModuleVersionNotFoundException: Could not find xx
ModuleVersionNotFoundException、Could not resolve all files for configuration、Could not find xx、JCenter原创 2024-08-26 16:38:26 · 311 阅读 · 0 评论 -
Android cmdline-tools 版本与其最小JDK关系
关键词:Android cmdline-tools 历史版本、Android cmdline-tools 最小JDK版本、JDK 对应 major version、JDK LTS 信息原创 2023-10-24 23:10:33 · 3034 阅读 · 1 评论 -
Android 必知必会:自定义 View 可以知道 onPause、onResume 被调用了吗?(不依赖Lifecycle)
自定义 View 可以知道 onPause/onResume 被调用了吗?自定义View、custom View、Lifecycle、onPause、onResume原创 2022-03-23 23:24:54 · 4571 阅读 · 0 评论 -
Android必知必会:Android反编译 -- 错误代码还原
1. setColor(-16777216)反编译的代码中会有很多setColor(int)的情况,比如setColor(-16777216),这个值比较特别,能轻易的查到Android文档中对这个整数原创 2016-04-11 20:25:34 · 11271 阅读 · 0 评论 -
Android必知必会 - RecyclerView 恢复上次滚动位置
记录 RecyclerView 滚动位置并恢复是一个很常见的需求,通常需要精准恢复到上次的位置。部分情况下恢复上次位置会存在偏差,这里单独记录下来。原创 2020-04-22 22:09:00 · 7270 阅读 · 0 评论 -
Android 必知必会 - RGBA转ARGB
若移动端访问不佳,请使用 –> Github版背景服务端下发的颜色值字符串由于一开始依据 iOS 端的 RGBA 格式,Android 端(Android 使用 ARGB 方式)需要进行兼容,需要对此字符串转换。举例:RGBA #ABCDEF99 => ARGB #99ABCDEF方式①字符串截取和组合String argbStr = rgba.substring(0, 1...原创 2020-04-10 23:38:38 · 3324 阅读 · 1 评论 -
Android 必知必会 - 自定义 OkHttp 、OkIo 的包名
在某些特殊的情况下,需要对项目中使用的 okhttp 的包名进行修改,避免冲突或者版本不一致导致找不到类的问题。Android 必知必会 - 自定义 OkHttp 、OkIo 的包名原创 2018-05-31 14:58:51 · 2029 阅读 · 3 评论 -
Android 必知必会 - 获取手机系统的构建模式
编译 Rom 时,需要指定目标构建模式,构建模式有三种:用户模式 user、用户调试模式 userdebug 和工程模式 eng原创 2017-10-11 00:08:41 · 4059 阅读 · 6 评论 -
Android 必知必会 - InstallerPackageName 的一点补充
因业务需要,项目需要一些 InstallerPackageName 方面的一些知识,随便看了下,很多开发估计不知道还有这档子事情。阅读资料发现一篇文章讲的还是很全面的,但是有些细节在实践中还是需要补充下。原创 2017-12-19 12:20:44 · 2331 阅读 · 0 评论 -
Android 必知必会 - 使用 ADB 操作 Clipboard
如果移动端访问不佳,请使用 -> Github 版关键词:service call 、clipboard 、Unknown package手里一个项目需要执行个骚操作,其中有一个步骤是使用 ADB 来操作 Clipboard(粘贴板),搜索许久发现直接操作并不可行,确切的说是在 Android API >=11 时是不可行的。 操作环境:macOS Sierra 10.12.6原创 2018-01-17 12:06:24 · 6397 阅读 · 1 评论 -
Android 必知必会 - EmptyView
关键词:GridView ListView EmptyView SwipeRefreshLayout在使用 GridView、ListView 时经常需要处理无数据的情况,给用户一些必要的提示。而 GridView 和 ListView 可以使用 setEmptyView() 方法来设置无数据时展示的 View 。...原创 2017-07-07 18:23:13 · 2759 阅读 · 1 评论 -
Android 必知必会 - DialogFragment 实现类似 PopupWindow 效果
如果移动端访问不佳,请访问 ==> Github 版近期有网友根据 Android 必知必会 - DialogFragment 使用总结 做一些业务,但是目标却是用 DialogFragment 实现类似 PopupWindow 效果:只拦截自身所占空间部分的事件,其余空间的点击事件不处理可以根据某个 View 定位自身位置虽然在功能上 PopupWindow 更符合需要,但是使用 Dialo原创 2017-06-01 18:19:25 · 6127 阅读 · 1 评论 -
Android 必知必会 - 根据包名判断 App 运行状态
获取指定包名的 APP 是否还在后台运行,判断 APP 是否存活。背景可以根据 App 是否有 Service 分两类情况处理:没有 Service有 Service对于没有 Service 的 App,程序一旦切换到后台,可能很快就被回收了,这里使用 ActivityManager.getRunningTasks(int maxNum)原创 2017-02-07 17:22:40 · 9279 阅读 · 8 评论 -
Android 必知必会 - FloatingActionButton 24.2.0 默认无水波纹效果
无意间发现一个问题,在使用 22.2.0 的 design 库时,FloatingActionButton 默认点击时产生水波纹的点击效果,但是我使用最新版 24.2.0 的 design 库时,它默认点击没有水波纹效果,而且不响应app:pressedTranslationZ="xxdp"这个属性。原创 2016-09-14 17:26:41 · 1869 阅读 · 0 评论 -
Android必知必会-发布开源 Android 项目注意事项
1. 合理配置.gitignore文件配置.gitignore可以排除一些非必要文件和保护保密信息,下面是在项目根目录下.gitignore的配置:.gradle/local.properties/gradle.properties/build*.log*.apk*.ap_/*/build/这里介绍下一些参数的意义:/local.prope原创 2016-07-17 19:12:30 · 2934 阅读 · 0 评论 -
Android 必知必会-使用 supportV4 的 RoundedBitmapDrawable 实现圆角
RoundedBitmapDrawable 是 supportV4 下的一个类,有了它,显示圆角和圆形图片的情况下就不需要额外的第三方类库了,还能和各种图片加载库配合使用。原创 2016-08-25 17:25:17 · 6590 阅读 · 1 评论 -
Android 必知必会 - 动态切换着色模式和全屏模式
通过代码动态切换页面的着色模式和全屏模式,兼容 Android 4.4 + 。本文假设读者已经了解着色模式和全屏模式(沉浸模式)。公司的 APP 设计图仅有 iOS 版的,对于 Android 平台,它整体算是着色模式,但是在个人页面是全屏模式(沉浸模式),实现设计图时,我使用的是一个 Activity + 四个 Fragment 实现的。原创 2016-09-19 17:16:52 · 3268 阅读 · 3 评论 -
Android 必知必会 - RadioGroup 和 ViewPager 联动
如果移动端访问不佳或需要更好的阅读体验,欢迎使用 ==> Github 版使用 RadioGroup 和 ViewPager 实现更加可定制的效果。背景昨天设计图刚出一点,写了《Android 必知必会 - 动态切换着色模式和全屏模式》,记录了动态修改页面显示模式的方式。今天又有新图,不过设计师只考虑 iOS 平台的设计,拿到设计图发现 TabLayout + ViewPager 的套路实现起来很麻原创 2016-09-20 20:47:27 · 3996 阅读 · 5 评论 -
Android 必知必会 - 隐藏烦人的 JAVA 图标
当你在项目中运行 ./gradlew 是,有时需要调用一些 JAVA 工具。在 OS X 上,这会伴随着 Java 图标在 Docker 上的显示,并且永远不会消失,影响你对项目的关注。为了永远隐藏 Java 图标(所有从 shell 中启动的 Java 程序),添加下面这行内容到你的 ~/.bashrc 或 ~/.zshrc :export JAVA_TOOL_OPTIONS="-Dapple.翻译 2016-09-08 15:44:22 · 1498 阅读 · 0 评论 -
Android 必知必会 - 极简版 Leancloud 短信验证码功能
使用 LeanCloud 的 REST API 来自定义短信验证码相关功能,不再需要臃肿的 SDK 。背景公司的项目仅仅使用了 Leancloud 短信功能来发送验证码,刚开始 Leancloud 的短信 SDK 还会和项目中的 okhttp 、fastjson 产生冲突,后来使用了独立的命名空间解决了冲突,但这样处理会导致项目中产生大量的冗余库。原创 2016-08-29 17:56:51 · 3753 阅读 · 0 评论 -
Android 必知必会-Android Splash 页秒开之细节处理
如果移动端访问不佳,请访问 –> Github版背景今天阅读了两篇 Android Splash 页秒开的文章,就上手试了试,效果确实不错,不过在使用过程中发现个小的问题,应用是发现在 Android 6.0 系统下 APP 启动的时候有个默认的动画,如果按照文章介绍的直接启动下一个加载数据的页面会出现页面闪动,有点美中不足的感觉。解决方法解决方法很简单,我这里做出了两处修改:延迟启动和添加淡出的过原创 2016-08-16 17:28:49 · 4735 阅读 · 0 评论 -
Android必知必会-App 常用图标尺寸规范汇总
内容持续更新中,更新日期:2016-08-111. 程序启动图标(icon launcher)放在mipmap-*dpi下,文件名为ic_launcher.pngLDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px。MDPI (Medium Density Screen, 160 DPI),其图标大小原创 2016-07-14 16:59:56 · 46780 阅读 · 2 评论 -
Android必知必会-长按返回健退出
背景平常比较常见的都是一定时间间隔内按两次返回键来退出应用,并且第一次点击会有相应的提示,网上资料比较多,这里写一下,长按返回键退出。实现实现的方案常用的有两个:原创 2016-07-06 16:24:06 · 2572 阅读 · 0 评论 -
Android必知必会-Android Studio下配置和使用Lambda
移动端如果访问不佳,请访问–>Github版背景和朋友讨论 JAVA8 的新特性,聊到Lambda,正好在掘金上看到一篇相关的文章,结合资料,作一个总结,特别是记录下实际使用中遇到的问题。什么是Lambda表达式 lambda表达式,它将允许我们将行为传到函数里。在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码。而定义行为最重要的那行代码,却混在中间不够突出。Lamb原创 2016-06-28 00:35:32 · 14119 阅读 · 1 评论 -
Android必知必会-Android Studio修改包名
如果移动端访问不佳,请尝试–> Github版背景公司做相似产品较多,一般都是以某个产品为基础修改,逐步替换设计图的切图。这个就会导致需要经常为Copy的项目修改包名。 这里是参考一些网上的说法,结合自身实战经验加以完善,特此分享给同行们,避免不必要的弯路。Android Studio修改包名1.修改包显示方式如下图所示: 通过修改包显示方式,我们可以更方便的修改包名。2.修改包名经过1中的操作原创 2016-06-15 18:07:50 · 16626 阅读 · 1 评论 -
Android必知必会-带列表的地图POI周边搜索
可随视角移动的列表展示的POI周边搜索原创 2016-05-30 15:30:18 · 11444 阅读 · 24 评论 -
Android必知必会-自定义Scrollbar样式
设计师给的设计图完全依照 iOS 的标准来的,导致很多细节的控件都得自己重写,最近的设计图中有显示滚动条,Android 默认的滚动条样式(带描边)和设计图格格不入,无奈,只好研究下自定义 Scrollbar 样式。...原创 2016-05-16 18:28:26 · 16450 阅读 · 2 评论 -
Android必知必会-获取View坐标和长宽的时机
如果移动端访问不佳,请访问–>Github版背景最近要实现一个功能,用到了一些属性动画,需要获取一些View的坐标信息,设计图如下:这里我使用的是DialogFragment来实现的,可以复用。合适的时机:要想获得View的坐标和长宽,必须要等到View绘原创 2016-05-13 17:19:16 · 7265 阅读 · 2 评论 -
Android必知必会-Fragment监听返回键事件
背景项目要求用户注册成功后进入修改个人资料的页面,且不允许返回到上一个页面,资料修改完成后结束当前页面,进入APP主页。由于是使用多个Fragment完成注册流程,就需要Fragment监听用户点击手机上的返回按钮,查了一些资料,加上自己使用过程中发现的问题,特此记录,帮助更多有此需求的朋友代码实现原创 2016-04-21 01:00:37 · 10189 阅读 · 9 评论 -
Android必知必会-使用okhttp的PUT方式上传文件
背景公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp网络库,就查了下资料,在这里分享一下okhttp使用PUT方式上传文件的代码。原创 2016-03-21 12:00:45 · 9117 阅读 · 2 评论 -
Android必知必会-获取视频文件的截图、缩略图
背景公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下。代码实现 /** * 获取视频文件截图 * * @param path 视频文件的路径 * @return Bitmap 返回获取的Bitmap */ public s原创 2016-03-11 14:12:21 · 6520 阅读 · 3 评论 -
Android必知必会-Stetho调试工具
一、背景 Stetho是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools查看APP的布局, 网络请求(仅限使用Volle, okhttp的网络请求库), Sqlite, Preference, 一切都是可视化的操作,无须自己在去使用adb, 也不需要root你的设备本人使用自己的Nubia Z9 Mini作为调试机原创 2016-03-01 16:48:09 · 8195 阅读 · 9 评论 -
Android 自定义标题栏
开发 Android APP 经常会用到自定义标题栏,而有多级页面的情况下还需要给自定义标题栏传递数据。本文要点:自定义标题填充不完整自定义标题栏返回按钮的点击事件一、代码这里先介绍一下流程: 1. 创建一个标题栏布局文件 mytitlebar.xml 2. 在style.xml中创建 mytitlestyle 主题 3. 创建类 CustomTitleBar 4. 在需要自定原创 2015-03-11 20:34:51 · 4961 阅读 · 0 评论 -
Android必知必会--GreenDao缓存
本篇文章不是介绍GreenDao的配置和基础使用,仅仅记录一下GreenDao缓存的问题,下面是示例:场景重现//第一次查询List chats = daoSession.getChatSessionDao() .queryBuilder() .orderDesc(ChatSessionDao.Properties.Updatetime) .list();//对数据库中的一原创 2016-01-07 23:57:05 · 8412 阅读 · 5 评论 -
Android必知必会-Handler可能引起的内存泄露
在Android开发中,编写多线程通常会使用到Thread和Handler,细心的朋友会发现,很常见的写法会被编辑器提示有问题,new Handler(){} 内的代码背景颜色会变成黄色。Android Studio的提示大概就是需要定义成静态之类的,以防止内存泄露问题。时间仓促,临时整理一下查到的资料,便于后续使用。 下面是网上很常见的写法://定义和初始化private Handler mh原创 2015-09-24 00:27:39 · 1636 阅读 · 0 评论 -
Android必知必会--使用shape制作drawable素材
前言最近看到朋友制作的Android APP使用了极少的图片,但是图形却极其丰富,问了之后得知是使用shape绘制的,有很多优点。 下面是我整理的一些素材:预览下面是图片预览:代码布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_p原创 2015-05-29 13:05:34 · 3131 阅读 · 0 评论 -
Android必知必会--NinePatch图片制作
本文为CSDN学院免费课程《NinePatch图片制作从入门到精通》的笔记,建议新手先观看视频,整理此笔记是为了便于自己复习和有NinePatch基础的朋友进行回顾。一、工具介绍 这是一张png图片,为了方便观看做的比较大。在Android中使用NinePatch图片的一般都是很小的图片,因为当内容多了的时候,背景会自动拉申来适应内容,而如果图片做大了,内容少,则图片也不会自动变小,所以用作Ni原创 2015-05-17 22:13:19 · 11286 阅读 · 6 评论