
Android
文章平均质量分 79
学习笔记
Jomurphys
这个作者很懒,什么都没留下…
展开
-
Android - 大纲
1.1.2。原创 2022-12-19 15:42:30 · 491 阅读 · 0 评论 -
Android - AIDL
定义接口声明功能,手动创建的是 .aidl 文件,调用 IDE 的 rebuild 生成 .java 文件。Module右键→New→AIDL→AIDL File(如果不可选,在 module 的 build.gradle 的 节点下的 节点中添加 aidl true)。在创建的接口中声明抽象方法(IDE生成的默认方法可以删掉,只能用 Java 语法写)。原创 2024-03-19 00:22:15 · 1138 阅读 · 0 评论 -
Android - 分区存储 MediaStore、SAF
绝大部分的应用程序都不应该申请这个权限,仅适用于 文件浏览器 类APP,需要跳转到系统页面让用户手动授权,Play商店上架也会更严格。即便得到授权也只能访问 公有目录 + 自定义目录,依然无法访问私有目录。//不加 ignore 属性 AndroidStudio 会用警告提醒。//系统低于11或者方法返回true说明已经拥有整个SD卡管理权限Toast.makeText(this, "已获得访问所有文件权限", Toast.LENGTH_SHORT).show()} else {原创 2023-12-12 05:55:51 · 2048 阅读 · 0 评论 -
Android - Application
通常会将一些初始化代码放在 Application 中,而每当运行指定了进程的组件时都会新建一个 Application 对象,由于不是同一个所以数据不通用,只需要在 Application 类中对当前进程加以判断即可。原创 2023-10-12 19:40:19 · 593 阅读 · 0 评论 -
Android - AsyncTask
是一个抽象泛型类,由 Android 封装的一个轻量级异步类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。内部封装了两个线程池(SerialExecutor、THREAD_POOL_EXECUTOR)和一个Handle(InternalHandler)。SerialExecutor 用于任务的排队,让需要执行的多个耗时任务按顺序排列。THREAD_POOL_EXECUTOR 才真正的执行任务。InternalHandler 用于从子线程切换到主线程。原创 2023-10-11 00:49:51 · 208 阅读 · 0 评论 -
Android - Context
Context 是应用程序和系统之间的桥梁,用于获取全局消息、访问系统资源、调用应用程序级的操作。一般直接调用 Context 的方法或者调用接口时传入Context。Android应用模型是基于组件的应用设计模式,组件的运行要有一个完整的Android工程环境。原创 2023-10-11 00:04:17 · 284 阅读 · 0 评论 -
Android - 线程 Thread
一个线程总是由另一个线程启动,所以总有一条特殊的线程即主线程。原创 2023-06-02 00:32:56 · 987 阅读 · 0 评论 -
Android - 动画
fromAlpha:起始透明度。toAlpha:结束透明度,透明度的范围为0-1。fromXScale/fromYScale:沿着X轴/Y轴缩放的起始比例。toXScale/toYScale:沿着X轴/Y轴缩放的结束比例。pivotX/pivotY:缩放的中轴点X/Y坐标,即距离自身左边缘的位置,比如50%就是以图像的中心为中轴点。fromXDelta/fromYDelta:动画起始位置的X/Y坐标。toXDelta/toYDelta:动画结束位置的X/Y坐标。原创 2023-05-05 04:31:32 · 888 阅读 · 0 评论 -
Android - Bitmap
图片的大小(内存占用) =宽*高*单个像素点占用内存+图片属性信息。同一设备上,图片占用内存跟drawable目录分辨率大小变化成正比。同一drawable目录,图片占用内存跟设备分辨率大小成正比。色深:某分辨率下一个像素能接受的颜色数量,用2ⁿ来表示,8bit就是2的8次方。DPI 和 PPI:都指的是每英寸长度上的点数。DPI用于打印机输出、鼠标的扫描取样等,PPI专用于显示器。原创 2023-03-15 20:07:57 · 1434 阅读 · 0 评论 -
Android - API对应版本名称
APIAndroid版本名称3414.03313.0Tiramisu3212.0Sv23112.0S3011.0R2910.0Q289.0Pie278.1Oreo268.0Oreo257.1Nougat247.0Nougat236.0h225.1215.0LOLLIPOP194.4KITKAT194.4KITKAT184.3174.2/4.2.2164.1/4.1.1JELLY_BEAN1514。原创 2023-03-01 17:23:32 · 423 阅读 · 0 评论 -
Android - Fragment
leHint(boolean isVisibleToUser):fragment结合viewpager时候,FragmentStateAdapter设置为BEHAVIOR_SET_USER_VISIBLE_HINT时候调用,同上。setUservisibonHiddenChanged(boolean hidden):用if对hidden进行判断,true不在前端显示了,false在前端显示。原创 2023-03-01 00:05:08 · 460 阅读 · 0 评论 -
Android - 屏幕适配
density密度(1dp显示多少px)mdpi=160(基线)分辨率名称=屏幕分辨率。原创 2023-02-15 04:01:19 · 1565 阅读 · 0 评论 -
Android - Activity Result API
继承 ActivityResultContract 类,指定输入参数和输出参数的泛型,重写 createIntent() 用于创建 Intent 发起动作,重写 parseResult() 用于解析响应的结果并作为输出参数返回到 Lambda 中。if (intent!原创 2022-12-26 23:24:45 · 1222 阅读 · 0 评论 -
Android - 序列化 Serializable、Parcelable
我们使用 Intent 传递数据的时候,putExtra() 所支持的数据类型事有限的,当需要传递自定义对象的时候就需要序列化。原创 2022-11-16 01:58:38 · 1074 阅读 · 0 评论 -
Android - Service
既长期在后台运行,又能调用Service里面的方法。在Activity的onCreate()中startService()并bindService()顺序无所谓,在onDestroy()中unbindService(),根据情况在需要的地方stopService(),顺序无所谓两者都调用才会销毁服务。从Android 8.0开始,只有APP保持在前台可见状态的情况下 Service 才能保证稳定运行,一旦进入后台 Service 随时都有可能被系统回收,防止恶意APP长期在后台占用手机资源。原创 2022-11-06 00:05:52 · 1669 阅读 · 0 评论 -
Android - 通知
一、版本变更使用 NotificationCompat 来确保各版本API和体验统一。Android 5Android 8渠道通知。桌面图标角标(默认开启)。原创 2022-11-05 02:43:33 · 290 阅读 · 0 评论 -
Android - 文件存储
手动在/storage/sdcard下创建自定义文件夹,APP删除后不会删除存储在这里的数据。由于Android10中加入了作用域存储功能,原创 2022-10-31 00:52:22 · 137281 阅读 · 0 评论 -
Android - 键值对存储 SharedPreference、DataStore、MMKV
以键值对的方式保存少量的数据,通常用来存数程序的一些配置信息,如是否打开音效、是否使用震动效果、窗口状态、是否进入过向导界面等。原创 2022-10-31 00:37:08 · 811 阅读 · 0 评论 -
Android - 运行时权限 PermissionX
/自定义弹窗//一个权限组包含多个权限)) {window?.let {}}//确定按钮}//取消按钮(弹窗不可取消就返回null)}//要申请的权限列表}//申请是需要使用权限名,一个权限通过后该组其他权限会一起通过,但只需要显示组名给用户看= null &&!}}}}原创 2022-10-28 01:23:10 · 689 阅读 · 0 评论 -
Android - ContentProvider
屏蔽细节提供统一访问接口,只需要利用URI来访问,简化了应用间数据共享的操作(多为数据库)。ContentProvider的onCreate()运行在主线程,而query()、insert()、delete()、update()是运行在子线程中,调用这些函数并不会阻塞ContentProvider所在进程的主线程,但是可能会阻塞调用者所在进程的主线程(系统让调用线程等待异步操作完成),因此需要在子线程中访问ContentProvider。原创 2022-10-27 19:49:27 · 670 阅读 · 0 评论 -
Android - 数据持久化存储
以键值对的方式保存少量的数据,通常用来存数程序的一些配置信息,如是否打开音效、是否使用震动效果、窗口状态、是否进入过向导界面等。原创 2022-10-25 16:29:15 · 1173 阅读 · 0 评论 -
Android - Broadcast
任意版本查看完整的系统广播列表。标准广播有序广播。原创 2022-10-25 10:48:54 · 510 阅读 · 0 评论 -
Android - 一些Kotlin写法
但是一定要确保调用前有被初始化,否则报错UninitializedPropertyAccessException,可以使用代码【::变量名.isInitalized】先做判断是否初始化过。我们经常会抽取一些全局变量方便类中局部调用(view,adapter等),但对属性设置默认为 null 的话,在调用的时候不得不手写大量的非空调用来满足 Kotlin 的空指针检查,即便你明确它不会为null(在 onCreate() 中有初始化过)。原创 2022-10-23 17:53:51 · 2496 阅读 · 0 评论 -
Android - Activity
5s执行不完就ANR异常生命周期 onCreate () 创建界面:当 activity 被创建时调用。 该方法做一些初始化动作,比如创建 View,设置数据到 list 等等,该方法提供了一个 Bundle 类型的变量,该变量中有这个 activity 以前的状态信息,前提是以前存过这些信息。 若在 onCreate() 中调用 finish() 的话,接下来运行 -> onDestroy()。 ...原创 2021-12-20 23:38:42 · 8493 阅读 · 0 评论