의사 랜덤 문자열을 서버 데이터베이스로 보내는 간단한 응용 프로그램을 개발 중입니다. 여기 전선에서 서버 및 ProgressDialog 문자열을 보내는 AsyncTask 사용하고 있습니다. 문제는 진행 대화 상자가 멈추지 않고 서버에서 어떤 문자열도 찾지 못한다는 것입니다. srcetring을 보내는 코드에 문제가있을 수 있습니다. 나는 안드로이드에 익숙하지 않고 인터넷에서 구할 수있는 자료를 통해 배울 수 있습니다. 다음은 내가 사용하는 코드입니다.ProgressDialog가 AsyncTask로 중지하지 않습니다.
public class MainActivity extends Activity {
Button btn;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.textView2);
btn = (Button)findViewById(R.id.button1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void getThis(View v) {
String str = "35" +
Build.BOARD.length()%10+ Build.BRAND.length()%10 +
Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 +
Build.DISPLAY.length()%10 + Build.HOST.length()%10 +
Build.ID.length()%10 + Build.MANUFACTURER.length()%10 +
Build.MODEL.length()%10 + Build.PRODUCT.length()%10 +
Build.TAGS.length()%10 + Build.TYPE.length()%10 +
Build.USER.length()%10 ;
tv.setText(str);
UploadUniqueID uni=new UploadUniqueID(this,str);
uni.execute(str);
}
class UploadUniqueID extends AsyncTask<String, Integer, String> {
Context context;
MainActivity ma;
ProgressDialog dialog;
String id;
public UploadUniqueID(MainActivity activity,String str) {
ma = activity;
context = activity;
dialog = new ProgressDialog(context);
id = str;
}
protected void onPreExecute() {
this.dialog.setMessage("Progress start");
this.dialog.setCancelable(true);
this.dialog.show();
}
@Override
protected String doInBackground(String... params) {
// perform long running operation operation
String id=params[0];
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/UniqueIdApp/myPHP.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("android",id));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
} catch (Exception e) {
Log.i("HTTP Failed", e.toString());
}
return null;
}
protected void onProgressUpdate(Integer...integers) {
}
protected void onPostExecute(String...strings) {
tv.setText("Sent");
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
}
.. –
가 아니 .. 내가 어떤 오류가 발생하지 오전 로그 캣 포스트에 어떤 오류가 발생하는 경우 – apatel