2016-12-29 163 views
1

我想創建註冊應用程序。但我有一個錯誤。 java.lang.RuntimeException:執行doInBackground()時發生錯誤 什麼錯了?這是我的滿級java.lang.RuntimeException:創建註冊表單時執行doInBackground()時發生錯誤

public class signup_activity extends AppCompatActivity { 
    EditText username_reg; 
    EditText email_reg; 
    EditText password_reg; 
    Button signup_reg; 

    String url_server = "http://192.168.1.215/register.php"; 

    TextView tanggal_reg; 
    Boolean cekinput; 
    String aksi; 
    String tanggal_kirim; 
    HttpResponse response; 
    String GetUsername, GetEmail, GetPassword, GetTanggal; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_signup); 
     username_reg = (EditText)findViewById(usernameup); 
     email_reg = (EditText)findViewById(emailup); 
     password_reg = (EditText)findViewById(passwordup); 
     signup_reg = (Button)findViewById(signup); 
     tanggal_reg = (TextView)findViewById(tanggalup); 


     signup_reg.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Getcekinputkosong(); 
       if(cekinput){ 
        kirimdata(GetUsername, GetEmail, GetPassword, GetTanggal); 
       } 
       else { 
        Toast.makeText(signup_activity.this, "Data yang anda isikan belum lengkap", Toast.LENGTH_LONG). show(); 
       } 
      } 
     }); 
    } 

    public void Getcekinputkosong(){ 
     GetUsername = username_reg.getText().toString(); 
     GetEmail = email_reg.getText().toString(); 
     GetPassword = password_reg.getText().toString(); 
     GetTanggal=tanggal_reg.getText().toString(); 
     if (TextUtils.isEmpty(GetUsername) || TextUtils.isEmpty(GetEmail) || TextUtils.isEmpty(GetPassword) || TextUtils.isEmpty(GetTanggal)) { 
      cekinput = false; 
     } 
     else { 
      cekinput = true; 
     } 
    } 
    public void kirimdata(final String username_reg, final String email_reg, final String password_reg, final String tanggal_reg) { 
     class SendPostReqAsyncTask extends AsyncTask<String, Void, String> { 
      @Override 
      protected String doInBackground(String... params) { 
       String username_kirim = username_reg; 
       String email_kirim = email_reg; 
       String password_kirim = password_reg; 
       String tanggal_kirim = tanggal_reg; 

       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
       nameValuePairs.add(new BasicNameValuePair("username_reg", username_kirim)); 
       nameValuePairs.add(new BasicNameValuePair("email_reg", email_kirim)); 
       nameValuePairs.add(new BasicNameValuePair("password_reg", password_kirim)); 
       nameValuePairs.add(new BasicNameValuePair("tanggal_reg", tanggal_kirim)); 
       try { 
        HttpClient httpClient = new DefaultHttpClient(); 
        HttpPost httpPost = new HttpPost(url_server); 
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
        HttpResponse httpResponse = httpClient.execute(httpPost); 
        HttpEntity entity = response.getEntity(); 
       } catch (ClientProtocolException e) { 
       } catch (IOException e) { 
       } 
       return "Data Berhasil Terkirim"; 
      } 

      @Override 
      protected void onPostExecute(String result) { 
       super.onPostExecute(result); 
       Toast.makeText(signup_activity.this, "Data Berhasil Terkirim", Toast.LENGTH_SHORT).show(); 
      } 
     } 
     SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask(); 
     sendPostReqAsyncTask.execute(username_reg, email_reg, password_reg); 
    } 

    public void kembali_login(View arg0){ 
     Intent kembali = new Intent(signup_activity.this, register_activity.class); 
     startActivity(kembali); 
     signup_activity.this.finish(); 
    } 


    public void showDatePickerDialog(View v) { 
     DialogFragment newFragment = new datepickerlah(); 
     newFragment.show(getSupportFragmentManager(), "datePicker"); 
    } 

} 

我收到此錯誤運行時:

E/AndroidRuntime: 致命異常:#的AsyncTask 3
過程:com.example.client18.dd,PID :8356
了java.lang.RuntimeException:執行 doInBackground發生錯誤()
在android.os.AsyncTask $ 3.done(AsyncTask.java:300)
是java。 util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)

at java.util.concurrent.FutureTask.setException(FutureTask.java:222)  

at java.util.concurrent.FutureTask.run(FutureTask.java:242)                    
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)                   
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 

at java.lang.Thread.run(Thread.java:841) Caused by: java.lang.NullPointerException           

at com.example.client18.dd.signup_activity$1SendPostReqAsyncTask.doInBackground(signup_activity.java:128) 

at com.example.client18.dd.signup_activity$1SendPostReqAsyncTask.doInBackground(signup_activity.java:112) 

at android.os.AsyncTask$2.call(AsyncTask.java:288)                   
at java.util.concurrent.FutureTask.run(FutureTask.java:237)                    
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)                     
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)  

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  

at java.lang.Thread.run(Thread.java:841) 
+4

發佈您的logcat – sasikumar

+0

發佈完整的錯誤,以及您正在使用Http的庫? –

+0

@sasikumar當然 –

回答

0

這是我register.php

​​
0

你的錯誤是在這裏,

HttpResponse httpResponse = httpClient.execute(httpPost); 
HttpEntity entity = response.getEntity(); 

你有不初始化「響應」並使用它,因此,將其替換爲「httpResponse」。

相關問題