Je développe une application simple qui envoie la chaîne pseudo-aléatoire à la base de données du serveur. Ici j'utilise AsyncTask pour envoyer la chaîne au serveur et ProgressDialog au premier plan. Le problème est que la boîte de dialogue de progression ne s'arrête pas et que je ne crée aucune chaîne sur le serveur. Peut-être qu'il y a un problème dans le code d'envoi de srcetring. Je suis nouveau sur Android et j'apprends des sources disponibles sur Internet. Voici le code que j'utilise.ProgressDialog ne s'arrête pas avec 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();
}
}
}
}
si vous obtenez une erreur dans le poste logcat ici .. Je –
Non ne reçois aucune erreur .. – apatel