2017-09-07 5 views
1

ユーザーがログインの詳細を入力し、サーバー上でデータが検証されるAndroidアプリケーションを作成しようとしています。私はxamppを使用しています.NoogleアプリケーションのPHP結果ページに表示された値を取得して表示しますToastを使用してユーザーに通知します。どのように私はPHPのスクリプトからアンドロイドアプリに値を受け取るためにokhttpを使用できますか?

私はそれが予期せず終了したアプリケーションを実行すると、何が問題になる可能性がある
@Override 
    protected Boolean doInBackground(Void... params) { 
     // TODO: attempt authentication against a network service. 

     Toast.makeText(getApplicationContext(),"Problem is in http", Toast.LENGTH_LONG).show(); 
     String result; 
     OkHttpClient client = new OkHttpClient(); 

     Request request = new Request.Builder() 
       .url("http:192.168.0.102/[email protected]&password=123456") 
       .build(); 

     Response response = null; 
     try { 
      response = client.newCall(request).execute(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     result=response.toString(); 
     Toast.makeText(getApplicationContext(),result, Toast.LENGTH_LONG).show(); 

     // TODO: register the new account here. 
     return true; 
    } 

?謝罪いくつかの重要な情報は、質問に関する欠落している場合。応答がnullにできるよう

+1

最新のokhttp3を更新しました リンク - > https://github.com/yash786agg/okhttp3 – yash786

答えて

0

これは、

try { 
     response = client.newCall(request).execute(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

あなたがキャッチし、エラーをログに記録するが、継続している確かに問題があります。

  • あなたはコールごとに新しいOkHttpインスタンスを作成しているコードと他の問題があります
  • あなたが実際にバックグラウンドスレッド
  • IIRC Toast.showでこれを実行している場合、それは不明だはずUIスレッドであることが必要ですが、okhttpコールはバックグラウンドである必要があります
関連する問題