我是安卓新手。在我为 Android 开发集成了 FireBaseCloud 的应用程序期间。如果我们查看为 FireBaseMessaging 服务设置客户端应用程序的文档,它会告诉您在清单中注册两个服务,如下所示。
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
<service
android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
这是在清单中注册的两个服务。我的问题是android系统如何启动这些服务?我知道这两个服务都有指定动作的意图过滤器,但是如果有多个应用程序注册并实现了这两个服务,该怎么办。Firebase 如何从云端发送通知,Android 系统如何接收它并专门提供给我的应用程序?(我在“MyFirebaseMessagingService”服务中获取消息并从中发送通知)。请对此有所了解,以帮助我了解它。
service android background-service firebase firebase-cloud-messaging
我正在使用Android体系结构组件。因此使用Room“ ORM”。我有一个EQPreset有成员的班级String presetName。此类有一个名为的子类UserDefinedEQPreset,并且包含一个int[] arr。我已经EQPreset使用@Entity注释声明了子类和实体,因为只有这个子类型我想存储在db中。现在,我想使用父类的(EQPreset)成员String presetName作为primary key。如何申报父类的成员,primary key同时使用Room。我知道@Primarykey注释用于声明主键。但是如何将父类的成员用作primary key。
android primary-key android-room android-architecture-components
我的项目中有一个称为NewsItem的类。我想按照用户想要的方式以降序和升序对NewsItem的ArrayList进行排序。问题是我正在使用Comparable接口,并且我返回一个带有升序条件或降序条件的int值,而另一个则被注释。我如何告诉Collections.sort()方法给我升序或降序的排序列表。这是我的代码。
@Override
public int compareTo(NewsItem compNews) {
int compTime=((NewsItem )compNews).getNewsTime();
/* For Ascending order*/
return this.NewsTime-compTime;
/* For Descending order do like this */
//return compTime-this.NewsTime;
}
Run Code Online (Sandbox Code Playgroud)
现在在这里对降序进行注释,以便我可以使用其中之一。我可以在此类中使用静态布尔值来使用以下条件之一。但是,由于我正在序列化此类,因此我在此类中未使用任何静态变量,因此请勿这样做。任何帮助表示赞赏。
android ×3
android-architecture-components ×1
android-room ×1
comparable ×1
firebase ×1
java ×1
primary-key ×1
service ×1
sorting ×1