我想要使用從doInBackground方法中的外部類獲得的值。使用從外部類中獲取的值在HttpAsyncTask
我已經在onCreate()中做了所有事情,但是,獲取這些值的正確方法是什麼?
無論如何,我也可以接受其他方式來獲取請求。
這裏是我的代碼:
public class MenuActivity extends Activity {
cUserData ud = new cUserData(this); //This is my external class
String email;
String phone;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
Bundle bundle = this.getIntent().getExtras();
((myApp) this.getApplication()).setSomeVariable(bundle.getString("email"));
cUserData ud = new cUserData(this);
String email= ud.getEmail; //I get the values from the external class
String phone = ud.getTelephone();
new HttpAsyncTask().execute();
}
private class HttpAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String mEmail = email; //These values are null
String mPhone = phone;
String url = "http://www.myUrl.com/app/get.aspx?email=" + mEmail + "&telephone=" + mPhone;
HttpClient Client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
try {
Client.execute(httpget);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}
http://stackoverflow.com/questions/24752274/passing-parameters-in-httpasynctask-execute – Carsten 2014-10-20 07:43:05
ud.getEmail是我從另一個類調用的方法。 – imj 2014-10-20 07:46:09
public String getTelephone(){ TelephonyManager telephonyManager; String context = Context.TELEPHONY_SERVICE; telephonyManager =(TelephonyManager)mContext.getSystemService(context); String mPhoneNumber = telephonyManager.getLine1Number(); return mPhoneNumber } @ Archie.bpgc – imj 2014-10-20 08:01:55