2016-05-15 14 views
0

を使用して:私はエラーが私を聞かせてはいけない、サーバーに連絡先を追加しようとすると接続これは、コードでPHP

public boolean add(){ 

    HttpClient cliente; 
    List<NameValuePair> lista; 
    HttpPost post; 
    cliente = new DefaultHttpClient(); 
    post = new HttpPost("http://pruebamysqlandroid.esy.es/conexion/conexion.php"); 
    lista = new ArrayList<NameValuePair>(3); 
    lista.add(new BasicNameValuePair("name", contactname.getText().toString())); 
    lista.add(new BasicNameValuePair("numbretlf", tlf.getText().toString())); 
    lista.add(new BasicNameValuePair("email", email.getText().toString())); 
    try{ 
     post.setEntity(new UrlEncodedFormEntity(lista)); 
     cliente.execute(post);//here is the error 
     return true; 
    }catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return false; 
} 

は私を助けなかったしてください

エラーは、次のとおりです。

android.os.NetworkOnMainThreadException

+0

[どうやってandroid.os.NetworkOnMainThreadExceptionを修正するのですか?](http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception) –

+0

このvolley librarayを試してみてください。あなたのキューは非常に効率的に他の問題を要求し、処理します。http://developer.android.com/training/volley/index.html –

答えて

0

これをAsynTaskで試してみてください。それはあなたがエラーを伝えるものです。 これはduplicate question

0

UIスレッド(メインスレッド)でネットワークに接続しています。たとえば、AsyncTaskを使用して他のスレッドに接続します。

0

メインスレッドでネットワークを実行することはできません。これによりANRが発生します。 AsyncTaskまたはVolley

0

別のスレッドでコードを移動する必要があります。例えばスレッド、HandlerThreadまたはAsyncTask。