gpt4 book ai didi

Android Amazon S3 上传崩溃

转载 作者:太空狗 更新时间:2023-10-29 16:32:04 28 4
gpt4 key购买 nike

我试图找出在 Amazon S3 存储桶上上传时发生崩溃的原因。

日志是:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.amazonaws.mobileconnectors.s3.transferutility.TransferService$NetworkInfoReceiver.isNetworkConnected()' on a null object reference
at com.amazonaws.mobileconnectors.s3.transferutility.TransferService.execCommand(TransferService.java:287)
at com.amazonaws.mobileconnectors.s3.transferutility.TransferService$UpdateHandler.handleMessage(TransferService.java:224)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.os.HandlerThread.run(HandlerThread.java:61)

我的代码有问题吗?

public AmazonTransferUtility uploadFileToAmazonS3(String data, Date date){

generateTextFileFromString(data, date);

File jsonFile = new File(getDataPath(), textName);

TransferObserver observer = transferUtility.upload(
textBucketName,
mUUID + File.separator + date.getTime() + textName ,
jsonFile
);
mListener.onAsyncStart();

observer.setTransferListener(new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
try {
if (state.toString().equals("COMPLETED")) {
deleteFile(textName);
if (mListener != null) {
JSONObject result = new JSONObject();
result.put("result", state.toString());
mListener.onAsyncSuccess(result);
}
}
else if (state.toString().equals("FAILED") ||
state.toString().equals("UNKNOWN")
){
mListener.onAsyncFail(id, state.toString());
}
else{
Log.i(TAG, "S3 TransferState :" + state.toString());
}
}catch (JSONException e){
Log.e(TAG, e.getLocalizedMessage());
}
}

@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
if (bytesCurrent == bytesTotal){
Log.i(TAG, "Completed");
}
else{
Log.i(TAG, "Current bytes: " + bytesCurrent + " Of bytesTotal : " + bytesTotal);
}
}

@Override
public void onError(int id, Exception ex) {
mListener.onAsyncFail(id,ex.getMessage());
}
});
return this;
}

如果有的话,我该如何捕获此错误,以便我的应用停止崩溃并取消我的上传任务。

顺便说一句。

崩溃是间歇性的,成功同步率为五分之一

最佳答案

这似乎不是您正在做的事情,它在 AWS SDK 代码中。该 NPE 的含义是一个不稳定的网络。 It's been reported to Amazon on github (和 confirmed in another ticket )并且似乎在 SDK (v2.2.13) 中回滚一个版本可能有帮助。

那也是makes sense given the changes made in 2.2.14, which are related to S3 transfer and the network .

我建议遵循这些票证(请不要+1)。预计他们会在一周内修复它是合理的。

关于Android Amazon S3 上传崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36587511/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com