App 如果需要图片数据的话,仍需要去读取。相关文章推荐:[Android 14 新 API:直接监听截屏操作,不用再观察媒体文件了~](https://juejin.cn/post/7219567168316473404)## 2.TextView Highlight### HighLights API对于做 Mail、SMS、Note 类的 App 难免遇到设置文本 Highlight 的需求,而传统的实现办法无非是 `Spannable`。但这种方式的代码稍显复杂、而且无法方便地更新高亮。那么 14 里针对这个痛点提供了专门的 API 即...
Android 的各种原生库和三方库在处理异步任务时都开始转向 Kotlin 协程。### Suspend function在项目中,我们倡导使用挂起函数封装异步逻辑。在数据层 Room 或者 Retorfit 使用挂起函数风格的 API 自不必说,一些表现层逻辑也可以基于挂起函数来实现:```kotlinsuspend fun doShare( activity: Activity, contentBuilder: ShareContent.Builder.() -> Unit): ShareResult = suspendCancellableCoroutine { cont ->...
`KTX` 是专门为 Android 库设计的 Kotlin 扩展程序,以提供简洁易用的 Kotlin 代码。比如使用 `SharedPreferences` 写入数据的话,我们会这么编码:```javavoid updatePref(SharedPreferences sharedPreferences, boolean value) { sharedPreferences .edit() .putBoolean("key", value) .apply();}```引入 KTX 扩展函数之后将变得更加简洁。```kotlinfun updatePref(sharedPr...
Android12 增加了 Splash Screen API,可以在进入 App 主页之前自动插入开屏页,当然它的目的是为了让应用减少白屏的等待时间而非广告植入。Spash Screen 默认使用 App 的 Icon 作为开屏图案,开发者也可以使用系统提... 此外使用 `stateIn` 可以将 Flow 转化为一个 StateFlow 以热流的形式确保数据的下游共享。 活动期间有网友在直播中询问是否还有 Flow 无法取代 LiveData 的场景,官方的回答是 LiveData 除了 API 更简单以外(相应的...
数据回流,在使用资源位 SDK 前,请确保已经集成了 Finder SDK。并且 Finder SDK 版本在 6.16.1 及以上。如果使用多 module,请确保资源位 SDK 的 module 能引用到 Finder SDK 。 Finder Android SDK接入指南 2.2 集成资源位 SDKGradle 引入方式(推荐) 接入资源位 SDK,在 gradle 中添加依赖 Gradle 7.0 以下 groovy // 在 project 级别的 build.gradle 中添加 maven 仓库// 在 allprojects 的 repositories 中添加 maven 仓库allpro...
对象元信息是对象的属性描述,包括 HTTP 标准属性(HTTP Header)和用户自定义元数据(User Meta)两种。 设置对象元数据以下代码展示如何通过 setObjectMeta 接口设置对象的 Content-Type,以及设置对象的自定义元数据,用于标识对象的用途或属性等。 java import android.os.Bundle;import android.util.Log;import androidx.appcompat.app.AppCompatActivity;import com.volcengine.tos.TOSV2;import com.volcengine.tos.TOSV2Client...
相当于数据的容器,用来储存对象数据。如下代码展示如何创建一个新的桶。 java import android.os.Bundle;import android.util.Log;import androidx.appcompat.app.AppCompatActivity;import com.volcengine.tos.TOSV2;import com.volcengine.tos.TOSV2ClientBuilder;import com.volcengine.tos.TosException;import com.volcengine.tos.model.bucket.CreateBucketV2Input;import com.volcengine.tos.model.bucket.CreateBucketV2...
添加implementation 'com.bytedance.applog:RangersAppLog-All-scheme:6.16.6' 1.6 Kotlin 相关依赖(可选)如您使用 kotlin 语言编写项目,请执行 1.7 节确认 kotlin 依赖的引入,否则可跳过此步骤。 groovy // 示例版本implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61' 1.7 手动引入须知推荐您远程引入 SDK。如特殊情况需要手动引入,请补充阅读本小节。 Android SDK 下载 SDK 版本 大小 MD5 增长营销套件SDK下...
添加implementation 'com.bytedance.applog:RangersAppLog-All-scheme:6.16.6' 1.6 Kotlin 相关依赖(可选)如您使用 kotlin 语言编写项目,请执行 1.7 节确认 kotlin 依赖的引入,否则可跳过此步骤。 groovy // 示例版本implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61' 1.7 手动引入须知推荐您远程引入 SDK。如特殊情况需要手动引入,请补充阅读本小节。 Android SDK 下载 SDK 版本 大小 MD5 增长营销套件SDK下...
Android埋点开发工具。 java // 请使用 debug 依赖,建议仅在 debug 下做调试debugImplementation 'com.bytedance.applog:RangersAppLog-DevTools:3.3.4' 1.5 实时埋点检测和圈选功能(可选)如需实时埋点检测或圈选功能,请执行 1.5 节引入 scheme 包,否则可跳过此步骤。 注意 请务必确保在正式上线前移除 scheme 包,仅在 debug 期间使用,避免合规风险。 groovy // 在 build.gradle 文件的 dependencies 中添加implementation 'com...
Android SDK 的数据上报策略(1)SDK 未初始化时,如果有事件触发(包括自定义的),会缓存在客户端内存,最多缓存 300 条(2)SDK 初始化后,如果有事件触发(包括预置的、自定义的),是否调用了 start,start 之前会落库,start之后每 60s 上报一次(每次最多是 1600 条,如果一分钟内产生超过 1600条 需要等下个 60s 再报) 6.15.0 版本之前每分钟最多一个 pack,一个 pack 有 200 条数据,如果失败的 pack 也会尝试发送; 6.15.0 版本及以后的策略...
Android SDK 的数据上报策略(1)SDK 未初始化时,如果有事件触发(包括自定义的),会缓存在客户端内存,最多缓存 300 条(2)SDK 初始化后,如果有事件触发(包括预置的、自定义的),是否调用了 start,start 之前会落库,start之后每 60s 上报一次(每次最多是 1600 条,如果一分钟内产生超过 1600条 需要等下个 60s 再报) 6.15.0 版本之前每分钟最多一个 pack,一个 pack 有 200 条数据,如果失败的 pack 也会尝试发送; 6.15.0 版本及以后的策略...
Android SDK 的数据上报策略(1)SDK 未初始化时,如果有事件触发(包括自定义的),会缓存在客户端内存,最多缓存 300 条(2)SDK 初始化后,如果有事件触发(包括预置的、自定义的),是否调用了 start,start 之前会落库,start之后每 60s 上报一次(每次最多是 1600 条,如果一分钟内产生超过 1600条 需要等下个 60s 再报) 6.15.0 版本之前每分钟最多一个 pack,一个 pack 有 200 条数据,如果失败的 pack 也会尝试发送; 6.15.0 版本及以后的策略...