我想使用 AsnycTask 在 Parse 服务器上上传图像。当我在不使用 AsyncTask 的情况下上传图像时,我成功上传并可以检索图像。我想使用 AsyncTask ,因为在我的应用程序中,有两个活动正在使用网络权限,或者如果有人有其他解决方案可以做到这一点,请告诉我。活动代码:
package com.example.faceb;
import java.io.ByteArrayOutputStream;
import java.io.File;
import com.parse.GetDataCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class ListActivity extends Activity {
ImageView image;
TextView value;
public Bitmap bm;
public byte[] bitmapdata;
public ByteArrayOutputStream data;
String s = "FileName";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
uploadTask task = new uploadTask();
task.execute(s);
}
private class uploadTask extends AsyncTask<String, Void, String>{
@Override
protected void onPostExecute(String result) {
image.setImageBitmap(bm);
}
@Override
protected String doInBackground(String... params) {
upload();
return null;
}
}
public void upload (){
bm = BitmapFactory.decodeResource(getResources(), R.drawable.back);
data = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 40, data);
bitmapdata = data.toByteArray();
ParseFile file = new ParseFile("hai.png", bitmapdata);
file.saveInBackground();
ParseObject testObject = new ParseObject("TestObject");
testObject.put("puu", file);
testObject.saveInBackground();
}
}
以下是我的错误日志
10-12 01:10:46.944:E/ActivityThread(2233):无法找到 com.facebook.katana.provider.AttributionIdProvider 的提供者信息 10-12 01:11:07.604:E/AndroidRuntime(2233):致命异常:主要 10-12 01:11:07.604: E/AndroidRuntime(2233): java.lang.NullPointerException 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 com.example.faceb.ListActivity$uploadTask.onPostExecute (ListActivity.java:44) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 com.example.faceb.ListActivity$uploadTask.onPostExecute(ListActivity.java:1) 10-12 01:11:07.604 : E/AndroidRuntime(2233): 在 android.os.AsyncTask.finish(AsyncTask.java:417) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 android.os.AsyncTask.access$300(AsyncTask .java:127) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 android.os.Handler.dispatchMessage(Handler.java:99) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在android.os.Looper.loop(Looper.java:123) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 10-12 01: 11:07.604: E/AndroidRuntime(2233): 在 java.lang.reflect.Method.invokeNative(Native Method) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 java.lang.reflect.Method。调用(Method.java:521)10-12 01:11:07.604:E/AndroidRuntime(2233):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)10-12 01: 11:07.604: E/AndroidRuntime(2233): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 10-12 01:11:07.604: E/AndroidRuntime(2233): 在 dalvik.system .NativeStart。main(本机方法)10-12 01:11:09.014:E/ActivityThread(2274):无法找到 com.facebook.katana.provider.AttributionIdProvider 的提供者信息 10-12 01:48:14.084:E/ActivityThread(2313 ): 未能找到 com.facebook.katana.provider.AttributionIdProvider 10-12 01:48:45.323 的提供者信息:E/ActivityThread(2334):未能找到 com.facebook.katana.provider.AttributionIdProvider 10-的提供者信息12 03:19:06.184: E/ActivityThread(2371): 找不到 com.facebook.katana.provider.AttributionIdProvider 的提供者信息 10-12 03:19:31.614: E/ActivityThread(2393): 找不到提供者信息对于 com.facebook.katana.provider.AttributionIdProvider无法找到 com.facebook.katana.provider.AttributionIdProvider 10-12 01:48:45.323 的提供者信息:E/ActivityThread(2334):无法找到 com.facebook.katana.provider.AttributionIdProvider 10-12 03 的提供者信息:19:06.184:E / ActivityThread(2371):找不到com.facebook.katana.provider.AttributionIdProvider 10-12 03:19:31.614的提供商信息:E / ActivityThread(2393):找不到com的提供商信息.facebook.katana.provider.AttributionIdProvider无法找到 com.facebook.katana.provider.AttributionIdProvider 10-12 01:48:45.323 的提供者信息:E/ActivityThread(2334):无法找到 com.facebook.katana.provider.AttributionIdProvider 10-12 03 的提供者信息:19:06.184:E / ActivityThread(2371):找不到com.facebook.katana.provider.AttributionIdProvider 10-12 03:19:31.614的提供商信息:E / ActivityThread(2393):找不到com的提供商信息.facebook.katana.provider.AttributionIdProvider找不到 com.facebook.katana.provider.AttributionIdProvider 的提供商信息找不到 com.facebook.katana.provider.AttributionIdProvider 的提供商信息