小编dre*_*lav的帖子

如何在firebase中验证休息呼叫?

我希望在我的用户的帮助下对某些受某些规则保护的数据进行休息调用,因此我需要将令牌发送给我的请求.取决于firebase文档的哪个版本,有不同的方式:旧的和弃用的方式(https://www.firebase.com/docs/rest/api/):

'https://samplechat.firebaseio-demo.com/users/jack/name.json?auth=<TOKEN>'
Run Code Online (Sandbox Code Playgroud)

新方式和我引用文档(https://firebase.google.com/docs/reference/rest/database/user-auth#section-get):

使用访问令牌Database REST API将接受查询字符串或标头上的access_token = Authenticate:Bearer以使用服务帐户验证请求.

'https://samplechat.firebaseio-demo.com/users/jack/name.json?access_token=<TOKEN>'
Run Code Online (Sandbox Code Playgroud)

即使我在设置时使用了新的firebase控制台,即使我使用的令牌是使用新的Firebase sdk生成的,新的方式也不适用于我.有人知道为什么只有弃用的方式有效吗?我有兴趣将令牌放在我的请求的标题中,但不能这样做.

rest restful-authentication firebase firebase-authentication firebase-realtime-database

16
推荐指数
1
解决办法
9709
查看次数

如何使用getValue(Subclass.class)反序列化Firebase中的子类

我正在使用新的firebase sdk for android并使用真正的数据库功能.当我使用getValue(simple.class)一切都很好.但是当我想解析一个子类的类时,母类的所有属性都是null,并且我有这种类型的错误:

在类uk.edume.edumeapp.TestChild上找不到名称的setter/field

public class TestChild  extends TestMother {

    private String childAttribute;

    public String getChildAttribute() {
        return childAttribute;
    }
}

public class TestMother {

    protected String motherAttribute;

    protected String getMotherAttribute() {
        return motherAttribute;
    }
}
Run Code Online (Sandbox Code Playgroud)

这个功能

snapshot.getValue(TestChild.class);
Run Code Online (Sandbox Code Playgroud)

motherAttribute属性是null,我得到

在类uk.edume.edumeapp.TestChild上找不到关于motherAttribute的setter/field

我解析的Json是:

{
  "childAttribute" : "attribute in child class",
  "motherAttribute" : "attribute in mother class"
}
Run Code Online (Sandbox Code Playgroud)

java android jackson json-deserialization firebase-realtime-database

14
推荐指数
2
解决办法
5434
查看次数

找到范围内数字的除数

我对Codility中的CountDiv问题有疑问.

给出的问题是:写一个函数:

class Solution { public int solution(int A, int B, int K); }
Run Code Online (Sandbox Code Playgroud)

给定三个整数A,B和K,返回可被K整除的[A..B]范围内的整数,即:

{ i : A ? i ? B, i mod K = 0 }
Run Code Online (Sandbox Code Playgroud)

我的代码:

class Solution {
    public int solution(int A, int B, int K) {        
         int start=0;
         if (B<A || K==0 || K>B )
            return 0;
         else if (K<A)
            start = K * ( A/K +1);
         else if (K<=B)
            start = K;

         return (B-start+1)/K+ 1;
    }
} 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我错了,特别是这个测试用例: …

java algorithm

12
推荐指数
5
解决办法
1万
查看次数

如何在firebase存储中恢复文件下载?

我需要使用firebase存储下载一个大文件,我的用户可能通过下载面临网络中断,我希望能够恢复此下载任务.

 FileDownloadTask downloadTask = firebaseStorage.getReferenceFromUrl(url).getFile(localFile);

    downloadTask.addOnProgressListener(new OnProgressListener<FileDownloadTask.TaskSnapshot>() {

        @Override
        public void onProgress(FileDownloadTask.TaskSnapshot taskSnapshot) {
                Log.v(TAG, "progress" + taskSnapshot.getBytesTransferred());;
            }
    });

    downloadTask.addOnFailureListener(e -> {
        CustomLogger.v(TAG, "downloadTask, on Failed: " + courseId);
        deleteFilesAfterError(courseId);
    });

    downloadTask.addOnPausedListener(taskSnapshot
            -> CustomLogger.v(TAG, "downloadTask, on paused: " + courseId));
Run Code Online (Sandbox Code Playgroud)

永远不会调用最后两个听众.当我设置完整的监听器时:

downloadTask.addOnCompleteListener()
Run Code Online (Sandbox Code Playgroud)

我的应用程序崩溃了.

即使我设置:

firebaseStorage.setMaxDownloadRetryTimeMillis(2000);
Run Code Online (Sandbox Code Playgroud)

然后在下载过程中关闭我的网络,不会触发downloadTask fail listener.该任务似乎仍在"进行中",但没有下载任何数据.该功能的文档很差.我应该怎么实施呢?

  • 失败的听众似乎被打破了
  • 当我添加一个completeListener时,它会崩溃我的应用程序
  • firebaseStorage.setMaxDownloadRetryTimeMillis似乎没有任何效果

关于如何处理文件下载的简历功能的任何想法?

android firebase firebase-storage

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