2017-01-25 11 views
1

私はregister apiを呼び出していますが、エミュレータで実行すると成功を示しますが、データはデータベースに挿入されません。完璧なやり方を教えてください。また、サーバー側からどうやって返事を受けるのか...そのことを私にも教えてください。データはデータベースに挿入されていませんが、エミュレータで成功メッセージが表示されます

は、ここに私のコードです:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     name = (EditText)findViewById(R.id.e_username); 
     email = (EditText)findViewById(R.id.e_email); 
     password = (EditText)findViewById(R.id.e_password); 
     register = (Button)findViewById(R.id.btn) ; 

     register.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       GetCheckEditTextIsEmptyOrNot(); 

       if (CheckEditText) { 

        SendDataToServer(Getname, GetEmail, GetPassword); 

       } else { 

        Toast.makeText(MainActivity.this, "Please fill all form fields.", Toast.LENGTH_LONG).show(); 

       } 
      } 
     }); 

    } 
    public void GetCheckEditTextIsEmptyOrNot(){ 

     Getname = name.getText().toString(); 
     GetEmail = email.getText().toString(); 
     GetPassword = password.getText().toString(); 

     if(TextUtils.isEmpty(Getname) || TextUtils.isEmpty(GetEmail) || TextUtils.isEmpty(GetPassword)) 
     { 

      CheckEditText = false; 

     } 
     else { 

      CheckEditText = true ; 
     } 

    } 
    public void SendDataToServer(final String patient_firstname, final String patient_email, final String patient_password){ 
     class SendPostReqAsyncTask extends AsyncTask<String, Void, String> { 
      @Override 
      protected String doInBackground(String... params) { 

       String QuickName = patient_firstname ; 
       String QuickEmail = patient_email ; 
       String QuickPassword = patient_password; 

       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 

       nameValuePairs.add(new BasicNameValuePair("name", QuickName)); 
       nameValuePairs.add(new BasicNameValuePair("email", QuickEmail)); 
       nameValuePairs.add(new BasicNameValuePair("password", QuickPassword)); 

       try { 
        HttpClient httpClient = new DefaultHttpClient(); 

        HttpPost httpPost = new HttpPost(DataParseUrl); 

        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

        HttpResponse response = httpClient.execute(httpPost); 
        // Log.d("reponse","error : "+d.toString); 

        HttpEntity entity = response.getEntity(); 


       } catch (ClientProtocolException e) { 
        Log.e("log_tag","error : "+e.toString()); 
       } catch (IOException e) { 
        Log.e("log_tag","error : "+e.toString()); 
       } 
       // return "Data Submit Successfully"; 

       try { 
        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); 
        StringBuilder sb = new StringBuilder(); 
        String line = null; 
        while ((line = reader.readLine()) != null) { 
         sb.append(line + "\n"); 
        } 
        is.close(); 
        json = sb.toString(); 
        Log.d("JSON String",json); 
       } catch (Exception e) { 
        Log.e("Buffer Error", "Error converting result " + e.toString()); 
       } 
       return "Data Submit Successfully"; 
      } 

      @Override 
      protected void onPostExecute(String result) { 
       super.onPostExecute(result); 

       Toast.makeText(MainActivity.this, "Data Submit Successfully", Toast.LENGTH_LONG).show(); 

      } 
     } 
     SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask(); 
     sendPostReqAsyncTask.execute(patient_firstname, patient_email, patient_password); 
    } 
} 

そして、私はあまりにもlogcatのいずれかのエラーを取得しておりません。

+0

郵便配達またはその他のレストサービスアプリケーションをチェックしますか? – Mrinmoy

+0

yes.from postman私はステータスがtrue – elenaVamp

+0

となっており、郵便配達員から登録apiを押したときにあなたのデータベースに挿入されたデータですか? – Mrinmoy

答えて

0

あなたとは違うあなたの投稿を使って投稿するメッセージで実行するそれは常にバックグラウンドで表示されます終了します。最初に、apsonがすべてのパラメータを持つすべてのブローカヒットAPIを使用していることがわかります。データがjsonキャッチjsoneとparsh jsonデータとメッセージを応答して格納している場合、jsonが成功マッサージを送信したときにメッセージを返します。

関連する問題