小编Lyl*_*yla的帖子

在Firebase中制作POJO时,可以使用ServerValue.TIMESTAMP吗?

当您创建一个简单的旧Java对象,该对象旨在从Firebase序列化和反序列化时,有没有办法使用该ServerValue.TIMESTAMP值?

例如,假设我想要一个对象,其中一个属性是最后一次编辑,并且您想要使用该ServerValue.TIMESTAMP值.

在POJO类中,您可能具有:

private String timeLastChanged;
Run Code Online (Sandbox Code Playgroud)

要么

private Map<String, String> timeLastChanged;
Run Code Online (Sandbox Code Playgroud)

在第一个例子中String,我遇到了设置问题timeLastChange = ServerValue.TIMESTAMP;,因为ServerValue.TIMESTAMP是Map.

在第二个例子中,Map<String, String>我得到了一个"未能去抖"的错误,因为它无法正确地将数据库中存储的long反序列化为一个Map<String, String>.这有什么工作吗?

android firebase firebase-realtime-database

23
推荐指数
4
解决办法
1万
查看次数

使用Android导航架构组件重新创建Backstack

我正在尝试使用PendingIntent从通知中实现导航到我的应用程序的特定详细信息页面,但是我在从详细信息页面一直重新创建回溯到起始目的地时遇到了问题.

我在这里制作了一个示例应用程序,其中包含一个活动和三个片段来演示:

Fragment 1   ->   Fragment 2  ->  Fragment 3
(start dest) <-               <-
Run Code Online (Sandbox Code Playgroud)

从片段1(起始目的地),我使用直接导航到片段3

    Navigation.findNavController(this, R.id.nav_host_fragment).navigate(R.id.fragment2,
            null,
            NavOptions.Builder()
                    .build())
Run Code Online (Sandbox Code Playgroud)

从片段3开始,当我打电话时,我将Navigation.findNavController(this,R.id.nav_host_fragment).navigateUp()导航回Fragment 1.有没有办法让它导航到新创建的片段2?

android back-stack android-navigation android-jetpack android-architecture-navigation

7
推荐指数
1
解决办法
794
查看次数

在Firebase中正确设计主演/喜欢系统:我应该使用交易吗?

我正在开发一个应用程序,它在Firebase文档中给出的博客文章示例中执行与星数类似的操作,我对轮询系统的设计以及是否使用有疑问.

从示例中,帖子的数据如下所示:

postid {
    // some data here about the post, author, id, etc,
    starCount : <an integer count of the stars>,
    stars : {
        <user who starred> : true,
        <user who starred> : true,
        // ... and so on, basically a list of all the users who starred the post
    }
}
Run Code Online (Sandbox Code Playgroud)

文档使用事务来更新星号:

private void onStarClicked(DatabaseReference postRef) {
    postRef.runTransaction(new Transaction.Handler() {
        @Override
        public Transaction.Result doTransaction(MutableData mutableData) {
            Post p = mutableData.getValue(Post.class);
            if (p == null) …
Run Code Online (Sandbox Code Playgroud)

android transactions firebase firebase-realtime-database

6
推荐指数
1
解决办法
395
查看次数