guxin

主页|顾 鑫

About 顾 鑫

该作者尚未填入任何详情
So far 顾 鑫 has created 11 blog entries.

【每日一问】Android 中 BuildConfig 类有什么作用?

程序编译成功后,会在每一个 Module 的 build/generated/sources/buildConfig/debug(或 release)/包名 文件夹下生成一个 BuildConfig 类,应用代码通过这个类可以获取跟 Gradle 构建有关的信息。例如通过 BuildConfig.DEBUG 就可以判断当前是否处于 debug 模式,来控制日志输出。并且官方提供了 buildConfigField() 方法,将自定义字段添加到 Gradle 构建配置文件的 BuildConfig 类中,神策 Android SDK 中正是采用这种方式去配置 SDK 版本号。

By |2020-05-17T17:56:25+08:004月 29th, 2020|每日一问【每日一问】Android 中 BuildConfig 类有什么作用?已关闭评论

【每日一问】Android 如何获取当前真正的屏幕方向?

通过 getResources().getConfiguration().orientation 可以获取到当前的屏幕方向,有两种取值 ORIENTATION_LANDSCAPE 和 ORIENTATION_PORTRAIT。这样我们通过对比就可以判断出当前的方向:

By |2020-05-17T17:56:54+08:004月 28th, 2020|每日一问【每日一问】Android 如何获取当前真正的屏幕方向?已关闭评论

【每日一问】Android 中如何实现一个自动初始化的 SDK?

一般情况下,当我们做了一个 SDK 提供给其他开发者使用的时候,总是会预留一个初始化接口,然后要求使用者去调用它以让 SDK 生效。这种模式会导致用户的业务里堆满了各种各样的 XXX.init(),并且如果用户忘记调用我们的初始化方法也会导致 SDK 失效。无侵入的完成 SDK 初始化意味着不需要开发者调用任何代码,只需要集成依赖,SDK 就可以自动进行初始化并生效。

By |2020-05-17T17:57:11+08:004月 27th, 2020|每日一问【每日一问】Android 中如何实现一个自动初始化的 SDK?已关闭评论

【每日一问】在采集服务端事件的时候,如何保证数据的不丢不重?

神策的服务端 SDK 是通过 Consumer 去构建适用不同场景的 SensorsAnalytics 实例,一般来说会有三种 Consumer:DebugConsumer、BatchConsumer、FileConsumer(在不同代码实现里实际的类名和这里不一致)。

By |2020-05-17T17:58:58+08:004月 20th, 2020|每日一问【每日一问】在采集服务端事件的时候,如何保证数据的不丢不重?已关闭评论

【每日一问】埋点时,如何打通 App 与 App 内嵌 H5 的行为?

下文中所有 H5 均指 App 内嵌 H5 打通 App 与 App 内嵌 H5 的行为降维的说其实就是需要统一 App 和 H5 标识用户的 ID。因为 H5 在用户匿名状态下没有一个可靠的用户标识,所以这个需求可以被进一步明确成:使用

By |2020-05-17T18:39:34+08:004月 2nd, 2020|每日一问【每日一问】埋点时,如何打通 App 与 App 内嵌 H5 的行为?已关闭评论

【每日一问】如何捕获到所有 Java 层的 Crash?

问题 可以先只抛出第一问,等得到 Thread.UncaughtExceptionHandler 的答案之后再抛出第二问 修改了一下措辞,把捕获异常改成捕获 Crash。说异常感觉默认就是 Exception 了,容易把题目带歪。 第一问: 如何捕获到所有 Java 层的 Crash? 第二问: try{     ... }catch (Exception e){     ... }

By |2020-05-17T18:39:09+08:003月 27th, 2020|每日一问【每日一问】如何捕获到所有 Java 层的 Crash?已关闭评论