我希望在我的用户的帮助下对某些受某些规则保护的数据进行休息调用,因此我需要将令牌发送给我的请求.取决于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
我正在使用新的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
给出的问题是:写一个函数:
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)
我不明白为什么我错了,特别是这个测试用例: …
我需要使用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.该任务似乎仍在"进行中",但没有下载任何数据.该功能的文档很差.我应该怎么实施呢?
关于如何处理文件下载的简历功能的任何想法?