Вы должны использовать Hanlders или AsyncTask. Есть множество вопросов по этому поводу здесь. Попробуйте следовать приведенному ниже фрагменту,
Сделайте это в вашем onCreate ()
Handler handler;
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 0) {
Pdialog.dismiss();
if(res.equals("1"))
error.setText("Correct Username or Password");
else
error.setText("Sorry!! Incorrect Username or Password");
}
};
А теперь используйте поток для загрузки файлов на сервер. Изменить этот кусок кода,
public class Activity001 extends Activity
{
ok.setOnClickListener(new View.OnClickListener() {
public void onClick(View view)
{
ProgressDialog progressDialog = ProgressDialog.show(Activity001.this, "", "wait ", true, false);
Thread ProgressThread = new Thread() {
@Override
public void run() {
try {
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("username", un.getText().toString()));
postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
String response = null;
try {
response = CustomHttpClient.executeHttpPost("http://www.mysite.com/api/login.php", postParameters);
String res=response.toString();
res= res.replaceAll("\\s+","");
} catch(InterruptedException e) {
// do nothing
} finally {
handler.sendEmptyMessage(0);
}
}
};
ProgressThread.start();
} };
}
Если не использовать AsyncTask,
Вот несколько ссылок,
http://www.vogella.de/articles/AndroidPerformance/article.html
http://labs.makemachine.net/2010/05/android-asynctask-example/
http://developer.android.com/reference/android/os/AsyncTask.html