좋아요 여기서 간단하게 뭔가를 엉망으로 만들고 있습니다.인형을위한 문자열 초기화
나는 모든 액티비티 내에서 세 가지 클래스가 : 내 활동 클래스에서
public class ActivityUserAccountCreate extends Activity implements
OnClickListener {
}
private class postToHttps extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
try {
createUserAccount();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
public void createUserAccount() throws ClientProtocolException, IOException {
...
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
Log.d("Posting Username", usernameFinal);
nameValuePairs.add(new BasicNameValuePair("username", "usernameFinal"));
...
}
을 나는 레이아웃에있는 세 개의 문자열을 초기화합니다. 기본적으로 사용자는 자신의 사용자 이름을 EditText에 입력합니다. 문자열은 필드 형식의 텍스트를 가져 오는 것입니다. 그 모든 잘 작동하지만 createUserAccount() 같은 문자열을 사용하려고합니다. 나는 그 시점에서 문자열이 null이라고 생각하므로 createUserAccount()에서 다시이 세 문자열을 다시 초기화해야합니까? 그렇다면 활동 교실에서했던 것과 같은 방식으로해야합니까?
...
new postToHttps().execute(usernameFinal,passwordFinal,userEmail);
...
private class postToHttps extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String usernameFinal = params[0];
String passwordFinal = params[1];
String userEmail = params[2];
try {
createUserAccount(usernameFinal, passwordFinal, userEmail);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
public void createUserAccount(String usernameFinal, String passwordFinal, String userEmail) throws ClientProtocolException, IOException {
String uri = "editedout.php";
Log.d("Action", "Posting user data to php");
HttpClient client = new DefaultHttpClient();
HttpPost getMethod = new HttpPost(uri);
Log.d("Posting Location", uri);
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
Log.d("Posting Username", usernameFinal);
nameValuePairs
.add(new BasicNameValuePair("username", usernameFinal));
Log.d("Posting Pass", passwordFinal);
nameValuePairs
.add(new BasicNameValuePair("password", passwordFinal));
nameValuePairs.add(new BasicNameValuePair("email", userEmail));
getMethod
.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
client.execute(getMethod);
Log.d("Action", "Finished Posting Data to PHP");
}
하지만 충돌을 얻고있다 : I가, 아래의 권고에 따라 편집 한
감사
확인을 클릭합니다. 그것은 doInBackground에서 충돌하는 것처럼 보이지만 여전히 LogCat을 읽는 것을 배우고 있습니다.
내가 제대로 편집 thnk하지만, 충돌을 얻고있다. 위의 참조 –
postToHttps 작업에서'execute (...) '를 호출하면 사용자 이름, 암호 및 전자 메일 문자열을 전달합니까? – Yjay
새로운 postToHttps(). execute(); –