【发布时间】:2012-10-22 12:41:56
【问题描述】:
我是安卓新手。我试图从一个活动中得到这个:
i.putExtra("mlat", String.valueOf(latitude));
到这里:
public class PostDataActivity extends AsyncTask<Void, Void, Void>{
GpsData gps;
// double latitude = gps.getLatitude();
//String mlat;
@Override
protected Void doInBackground(Void... params) {
Bundle extras = getIntent().getExtras();
String mlat = extras.getString("mlat");
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://test.de");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("lat", mlat));
nameValuePairs.add(new BasicNameValuePair("lon", "7.358154"));
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
httpClient.execute(httpPost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
但是 getIntent 是未定义的
Bundle extras = getIntent().getExtras();
String mlat = extras.getString("mlat");
如何在Activity和doInBackground之间传输数据?
【问题讨论】:
-
从您之前的问题来看,您还没有学会阅读文档/自己一点点思考。让您步入正轨:getIntent() 定义在哪个类中?
-
Step2 : 如何将参数传递给类? (提示:它与构造函数和成员变量有关)。
标签: android android-intent android-asynctask