
Android知识点总结
文章平均质量分 79
_小马快跑_
代码说,欢迎点赞、关注。感谢!
展开
-
Android | 图片分辨率跟像素密度是一回事吗?
分辨率和像素密度密切相关,但它们描述的内容不同。分辨率是图像的尺寸,而像素密度决定图像如何在不同屏幕上呈现。原创 2024-10-23 21:05:32 · 186 阅读 · 0 评论 -
Android | 屏幕信息DisplayMetrics与不同DPI设备的资源加载
这是 Android 提供的一种帮助开发者适配不同屏幕尺寸和密度的工具。是一个重要的概念,用于描述屏幕的像素密度。这个定义基于一个标准,即认为160dpi为基准密度,这意味着在mdpi屏幕上,1dp(设备无关像素)等于1px(像素)。由于图片在不同分辨率文件夹中会有不同的尺寸,同一张图片在不同设备上解析的内存占用大小可能会不同。Android 会根据设备的屏幕密度自动从不同的。文件夹中加载不同分辨率的图片,最终解析出的图片尺寸不同,导致内存占用不同。而密度的不同,会从不同的。不同分辨率文件夹中的图片,如。原创 2024-10-10 21:24:01 · 1034 阅读 · 0 评论 -
Android混淆 | consumerProguardFiles 和 proguardFiles有什么区别
中的规则(从依赖的库模块中引入的混淆规则)以及 Android SDK 和其他工具可能附加的默认规则。借助这个文件,可以将崩溃日志中的混淆名称还原为原始的代码名称(即反混淆),以便更容易理解和调试代码。ProGuard 或 R8 在混淆时,会根据规则判断哪些代码是无用的或不可达的,从而移除它们以优化 APK 的大小。混淆后的代码会将原始的类名、方法名、字段名替换为随机的短名称,以减小 APK 大小并增强反编译的难度。指定库模块的混淆规则文件,当该模块被其他项目引用时,这些规则文件将自动应用。原创 2024-09-13 20:58:54 · 1144 阅读 · 0 评论 -
Android | 扩大View点击区域的几种方式
虽然设置padding可以起到效果,但是如果使用不当可能会影响视图的布局和外观,比如对ImageView设置padding的话可能会挤压其形状,所以使用Padding扩大点击区域时需要确保不影响视图的布局和外观。TouchDelegate 类是 Android 中的一个辅助类,用于扩展 View 的触摸区域,使其大于实际的 View 边界。在 Android 应用开发中,有时候需要扩大 View 的点击区域以提高用户交互的便利性,尤其是当视图元素较小或用户界面密集时。原创 2024-08-09 18:56:14 · 1236 阅读 · 0 评论 -
Android | IdleHandler的使用分析
是 Android 提供的一种机制,用于在MessageQueue消息队列没有消息或下一次消息执行的时间还未到(系统空闲)时执行一些任务。是:当消息队列空闲时调用。如果返回true,该保持活动状态,等待下一个空闲周期。如果返回false,它将被移除,不会在下一次空闲周期调用。//是否是空闲状态//添加IdleHandler//移除IdleHandlerfor (;;) {for (;;) {if (msg!原创 2024-08-05 20:57:54 · 761 阅读 · 0 评论 -
ConstraintLayout中设置负值的margin失效了?不妨换一种思路来实现!
translationX、translationY是view在x/y方向偏移量,因为translationX、translationY是在layout之后执行的,可能会导致相互依赖的其他控件的位置没有跟着变化,具体还是要看使用场景,如果translationX、translationY能够满足你的要求,那么用其实现压盖效果也是ok的。而如果父布局是ConstraintLayout,会发现设置负值margin不起作用,那么此时我们可以选择其他的方式来实现,针对这两种情况分别来实现一下。可以超出父布局的范围。原创 2024-04-30 00:23:39 · 536 阅读 · 0 评论 -
2024年App从备案到上架(国内各大应用市场)全过程
大家可能心里明白新政下来之后上架会很难,但是到底有多难?心里有底吗?反正我知道。我们之前一直是做海外市场的,今年下半年才开始做国内的应用,我也是很久没有接触国内应用市场了。不上不知道,现在国内上架都这样了!目前各大应用市场陆续推出声明,各种备案截止日期到12月就要到最后期限责令整改不让更新,明年再不整改就面临下架风险。那么如何进行 App 的各种备案大家有头绪吗?如果是一个新的 App 如何从新开始上架需要经历那些步骤,会踩到哪些坑?转载 2023-11-28 01:24:56 · 6136 阅读 · 0 评论 -
Android M 的 NDK 行为变更对 APK 包体积的影响
该来到的终会到来,如果你还没有经历过上下求索的磨砺,说明你的加快前进的脚步了。Google 的大神们早就挖好坑,头也不回的继续挖下一个坑去了,我们能做的只是尽量跟着这些人的脚步,不至于被甩开太远。开始正文之前,我想有必要知道 Android M(6.0)是 Google 在 2015 年 5 月 28 日的 Google I/O 大会上正式推出的版本,没错,这特么是一个 5 年前的版本!转载 2023-11-17 00:06:29 · 267 阅读 · 0 评论 -
startActivityForResult被标记为废弃?Activity Result API闪亮登场!
自定义可以让我们根据自己的需求创建一个新的Activity或Intent操作,并使用方法将其与对象绑定。以下是一个自定义/*** 1、自定义ActivityResultContract*//*** 创建Intent* @param input 当前类的第一个泛型参数* @return*//*** 解析结果,类似于Activity#onActivityResult* @param resultCode 返回码 [Activity.setResult] 的 resultCode。原创 2023-05-19 19:07:27 · 4593 阅读 · 2 评论 -
RxJava中关于Subject和Processor的使用
文章目录RxJava的使用步骤Subject&ProcessorSubjectAsyncSubjectBehaviorSubjectPublishSubjectReplaySubject总结RxJava的使用步骤RxJava的使用需要三步:创建Observable:Observable是被观察者,负责在上游发送事件,可以在这里决定异步操作模块的次数和顺序。创建Observer:Observer是观察者,负责接收上游发送的事件。Observer可以自由切换线程,简化了并发操作,会在未来某原创 2021-02-16 01:12:11 · 688 阅读 · 0 评论 -
颜色透明度16进制对照表
100% — FF99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85% — D984% — D683% — D482% — D181% — CF80% — CC79% — C9...原创 2018-12-08 11:01:15 · 372 阅读 · 0 评论 -
GIT常用命令总结(持续更新中...)
GIT常用命令总结删除远程分支git push --delete origin 分支名修改提交人的姓名和邮箱全局替换:git config --global user.name 用户名git config --global user.email 用户邮箱查看当前分支状态git status从当前分支上创建新分支1、更新当前分支的代码 git pull origi...原创 2018-09-29 00:47:32 · 2488 阅读 · 1 评论 -
还在手动写Bean?赶紧来用GsonFormat吧
在Android开发中避免不了和Server端的童鞋打交道,请求接口以后Server端一般返回的都是一个Json串信息,我们拿到Json串然后通过JsonObject或者JsonArray转换成我们需要的Bean,项目中我们一般使用Google的Gson或者阿里的FastJson去处理Json串,他们都是通过反射将Json串转换成Bean,那么我们需要做的就是根据返回的Json串去写对应的Bean类原创 2017-12-10 16:39:04 · 3352 阅读 · 1 评论 -
Android基于DialogFragment封装一个通用的Dialog
文章目录一、背景二、效果图三、为什么选择DialogFragment?四、UML图五、使用文档六、源码地址一、背景Dialog是项目中最常用的一个功能之一了,接手项目的时候发现项目中是封装了一个dialog的,但是发现是用单例封装的,大致如下: private MyDialog() { } public static MyDialog getInstance() {...原创 2018-09-19 20:01:14 · 11659 阅读 · 7 评论 -
Android嵌套滑动的分析与实践
【一】传统事件分发1.1 传统事件分发流程1.2 传统事件滑动冲突1.2.1外部拦截法1.2.2内部拦截法1.3 传统嵌套滑动冲突1.3.1 ScrollView+ ListView嵌套冲突1.3.2 ScrollView+ ViewPager嵌套问题【二】 传统事件分发 VS NestedScrolling【三】NestedScrolling嵌套滑动2.1 ...原创 2018-06-27 20:50:36 · 1187 阅读 · 0 评论 -
记一次解决ANR问题的笔记
记录一次解决ANR问题的笔记:起因:在项目提测之后,QA同学提了一个ANR的bug,然后按照她的步骤走了一遍,发现没有复现,所以怀疑是机型或者是账号的问题,于是把QA同学的手机借来又试了一遍,还是没有复现,于是怀疑跟账号有关系(APP需要登录),于是把她的账号也要过来又走了一遍,果然多次来回点击,若干次重复操作后就ANR了,既然出现了ANR,就来排查trace文件吧排查:1...原创 2018-05-03 23:31:45 · 8588 阅读 · 0 评论 -
Android 采用AOP方式封装6.0权限管理
本篇文章已授权微信公众号 hongyangAndroid(鸿洋)独家发布目录:【一】背景【二】效果图【三】整体思路【四】使用举例4.1 申请单个权限4.2 申请多个权限4.3 跳转到设置类【五】总结【六】源码【一】背景6.0运行时申请权限已经是一个老生常谈的内容了,最近项目TargetSDKVersion升到23以上,所以我们也需要做权限管理,我...原创 2018-03-30 15:46:19 · 4588 阅读 · 11 评论 -
Android之ViewPager+GridView实现GridView界面滑动
先上效果图:项目地址: https://github.com/crazyqiang/SlidePager 欢迎star!☺直接上代码 :MainActivity .java:public class MainActivity extends AppCompatActivity { public static int item_grid_num = 12;//每一页中GridVi原创 2016-12-14 13:56:35 · 2977 阅读 · 2 评论 -
Android Webview的一些使用总结和遇到过得坑
WebView 用来显示网页的一个View,它使用WebKit渲染引擎显示web页面,可以加载在线的或者本地的html页面,WebView可以对页面进行一系列操作,如历史页面的向前、向后,放大和缩小,执行文本搜索,与JS交互等等;在使用Webview时,请记得在AndroidManifest.xml文件中声明INTERNET权限:<uses-permission android:name="andr原创 2017-04-06 13:35:49 · 15295 阅读 · 1 评论 -
Android 封装一个通用的PopupWindow
先上效果图: 完整代码地址已上传Github:CommonPopupWindowPopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。一般PopupWindow的使用://准备PopupWindow的布局ViewView popupView = LayoutInflater.from(this).inflate(R.l原创 2017-05-06 18:07:40 · 8539 阅读 · 9 评论 -
Android画一条虚线
首先在drawable里面创建一个bg_dotted_line.xml代码如下<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp"原创 2016-07-21 14:54:56 · 18700 阅读 · 1 评论 -
Android 签名打包APK signature scheme v2
官网地址:APK signature scheme v2Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签原创 2017-03-28 16:55:30 · 1103 阅读 · 0 评论 -
用PopupWindow,Activity以及Dialog不同方式实现从底部弹出对话框
用PopupWindow,Activity以及Dialog实现从底部弹出对话框github地址:https://github.com/crazyqiang/DownCustomDialog原创 2016-08-08 14:22:34 · 398 阅读 · 0 评论