EventLogRecord

public final class EventLogRecord
extends Object implements Parcelable

java.lang.Object
   ↳ android.adservices.ondevicepersonalization.EventLogRecord


需要在 EVENTS 表中记录的数据。EVENTS 表中的每个记录都与 requests 表中现有 RequestLogRecord 的一行相关联 RequestLogRecord#getRows()。EVENTS 表的目的是为先前请求的记录数据添加补充信息,例如,在渲染的 WebView 中的链接被点击时记录事件 IsolatedWorker#onEvent(EventInput, java.util.function.Consumer)。EVENTS 表的内容可用于 Federated Learning 支持的模型训练,或 Federated Analytics 支持的跨设备统计分析。

摘要

嵌套类

class EventLogRecord.Builder

用于构建 EventLogRecord 的构建器。 

继承的常量

字段

public static final Creator<EventLogRecord> CREATOR

公共方法

int describeContents()

描述此 Parcelable 实例的封送表示形式中包含的特殊对象的类型。

boolean equals(Object o)

指示其他某个对象是否“等于”此对象。

ContentValues getData()

要记录的附加数据。

RequestLogRecord getRequestLogRecord()

此有效负载应与之关联的现有 RequestLogRecord

int getRowIndex()

此有效负载应与之关联的现有 RequestLogRecord 中行的索引。

long getTimeMillis()

事件发生的时间(以毫秒为单位)。

int getType()

标识此有效负载的服务分配的标识符。

int hashCode()

返回对象的哈希码值。

void writeToParcel(Parcel dest, int flags)

将此对象展平到 Parcel 中。

继承的方法

字段

公共方法

describeContents

public int describeContents ()

描述此 Parcelable 实例的封送表示形式中包含的特殊对象的类型。例如,如果对象将在 writeToParcel(android.os.Parcel, int) 的输出中包含文件描述符,则此方法的返回值必须包含 CONTENTS_FILE_DESCRIPTOR 位。

返回值
int 一个位掩码,指示此 Parcelable 对象实例封送的特殊对象类型的集合。值可以是 0CONTENTS_FILE_DESCRIPTOR

equals

public boolean equals (Object o)

指示其他某个对象是否“等于”此对象。

equals 方法在非 null 对象引用上实现等价关系

  • 它是 自反的:对于任何非 null 引用值 xx.equals(x) 应该返回 true
  • 它是 对称的:对于任何非 null 引用值 xy,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 应该返回 true
  • 它是 传递的:对于任何非 null 引用值 xyz,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应该返回 true
  • 它是 一致的:对于任何非 null 引用值 xy,对 x.equals(y) 进行多次调用会始终返回 true 或始终返回 false,前提是用于对象上的 equals 比较的信息未被修改。
  • 对于任何非 null 引用值 xx.equals(null) 应该返回 false

Object 类的 equals 方法实现了对象上最严格的等价关系;也就是说,对于任何非 null 引用值 xy,当且仅当 xy 引用同一对象时 (x == y 的值为 true),此方法才返回 true

注意,每当此方法被重写时,通常都需要重写 hashCode 方法,以维护 hashCode 方法的一般约定,即相等的对象必须具有相等的哈希码。

参数
o Object:此值可能为 null

返回值
boolean 如果此对象与 obj 参数相同,则为 true;否则为 false

getData

public ContentValues getData ()

要记录的附加数据。如果不需要写入事件的附加数据,并且只需要记录事件的发生,则可以为 null。

返回值
ContentValues

getRequestLogRecord

public RequestLogRecord getRequestLogRecord ()

此有效负载应与之关联的现有 RequestLogRecord

返回值
RequestLogRecord 此值可能为 null

getRowIndex

public int getRowIndex ()

此有效负载应与之关联的现有 RequestLogRecord 中行的索引。

返回值
int 值大于等于 0

getTimeMillis

public long getTimeMillis ()

事件发生的时间(以毫秒为单位)。

返回值
long

getType

public int getType ()

标识此有效负载的服务分配的标识符。RequestLogRecord 中的每一行最多可以关联一个指定类型的事件。如果 RequestLogRecord 中的某行已存在同类型事件,则平台会丢弃新事件。必须 >0 且 <128。这允许在 RequestLogRecord 的每一行中最多写入 127 个事件。

返回值
int 值介于 1 和 127(含)之间

hashCode

public int hashCode ()

返回对象的哈希码值。支持此方法是为了方便使用哈希表,例如 HashMap 提供的哈希表。

hashCode 的一般约定是

  • 在 Java 应用程序执行期间,只要对同一对象调用多次,hashCode 方法必须始终返回同一个整数,前提是用于该对象上的 equals 比较的信息未被修改。此整数无需在同一应用程序的不同执行之间保持一致。
  • 如果根据 equals(Object) 方法,两个对象相等,则对这两个对象中的每一个调用 hashCode 方法必须生成相同的整数结果。
  • 根据 equals(java.lang.Object) 方法,如果两个对象不相等,则不*要求*对这两个对象中的每一个调用 hashCode 方法必须生成不同的整数结果。但是,程序员应该注意,对于不相等的对象生成不同的整数结果可以提高哈希表的性能。

在合理可行的情况下,Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。(哈希码可能实现为或不实现为某个时间点对象内存地址的某个函数。)

返回值
int 此对象的哈希码值。

writeToParcel

public void writeToParcel (Parcel dest, 
                int flags)

将此对象展平到 Parcel 中。

参数
dest Parcel:此值不能为 null

flags int:关于对象应如何写入的其他标志。可能为 0 或 Parcelable.PARCELABLE_WRITE_RETURN_VALUE。值为 0Parcelable.PARCELABLE_WRITE_RETURN_VALUE 和 android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES 的组合。