2016-12-29 7 views
1

ein Fehler aufgetreten. Ich möchte eine Anwendung für die Registrierung erstellen. Aber ich habe einen Fehler. java.lang.RuntimeException: Beim Ausführen von doInBackground() ist ein Fehler aufgetreten. Was ist falsch? das ist meine volle Klassejava.lang.RuntimeException: Beim Ausführen von doInBackground() ist beim Erstellen des Registrierungsformulars

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"); 
    } 

} 

ich diesen Fehler bin immer beim Laufen:

E/Android Runtime: FATAL AUSNAHME: AsyncTask # 3
Prozess: com.example.client18.dd, PID : 8356
java.lang.RuntimeException: Fehler beim doInBackground()
bei android.os.AsyncTask $ 3.done (AsyncTask.java:300)
bei Java ausgeführt werden. 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

Post Ihren Logcat – sasikumar

+0

Post voller Fehler, und welche Bibliothek Sie für Http verwenden? –

+0

@sasikumar natürlich –

Antwort

0

Das ist mein register.php

<?php 
$server = "localhost"; 
$user="root"; 
$password=""; 
$database = "contohdatabase"; 
$koneksi = mysql_connect($server, $user, $password, $database); 
if(isset($_POST['username']) && isset($_POST['password'])){ 
$nama = $_POST['username_reg']; 
$email = $_POST['email_reg']; 
$password = $_POST['password_reg']; 
$tanggal_lahir = $_POST['tanggal_reg']; 
$tambahdata = "INSERT INTO login(username, email, password, tanggal_lahir) VALUE($nama, $email, $password, $tanggal_lahir);"; 
if(mysql_query($koneksi,$tambahdata)){ 
echo "Data berhasil diinput "; 
} 
else { 
echo "Data tidak sukses terkirim"; 
} 
echo "$result"; 
} 
?> 
0

Ihr Fehler ist hier,

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

Sie haben initialisiere "response" nicht und verwende it.so, ersetze es durch "httpResponse".

Verwandte Themen