2016-04-06 13 views
-1

Ich versuche, eine App zu machen, die mit Online-Datenbanken funktioniert, habe ich alle php überprüft funktionieren gut, so kein Fehler von der Server-Seite, aber immer wenn dieser Teil meiner Aktivität startet die App abstürzt und geht wieder auf die vorherige Seite.meine App stürzt ab, wenn diese Aktivität startet

package hp.bunk.com.bunk; 

import android.content.Intent; 
import android.content.SharedPreferences; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.RelativeLayout; 
import android.widget.TextView; 
import android.widget.Toast; 

import com.android.volley.AuthFailureError; 
import com.android.volley.Request; 
import com.android.volley.RequestQueue; 
import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.StringRequest; 
import com.android.volley.toolbox.Volley; 

import org.json.JSONException; 
import org.json.JSONObject; 

import java.util.HashMap; 
import java.util.Map; 

public class displaybunk extends AppCompatActivity implements View.OnClickListener { 
    String y, n, m, t; 
    Button b1, b2, b3; 
    String url = "URL OF PHP"; 
    TextView y1 = (TextView) findViewById(R.id.yes); 
    TextView m1 = (TextView) findViewById(R.id.majority); 
    TextView n1 = (TextView) findViewById(R.id.no); 
    TextView t1 = (TextView) findViewById(R.id.details); 
    Bundle extras = getIntent().getExtras(); 
    String id; 
    Boolean vie; 
    String url1= "URL OF PHP"; 
    String url2 = "URL OF PHP"; 
    String url3 = "URL OF PHP"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_displaybunk); 
     b1 = (Button) findViewById(R.id.button6); 
     b2 = (Button) findViewById(R.id.button7); 
     b3 = (Button) findViewById(R.id.button8); 
     b1.setOnClickListener(this); 
     b2.setOnClickListener(this); 
     b3.setOnClickListener(this); 
     if (extras != null) { 
      id = extras.getString("new_variable_name"); 
     } 
     RelativeLayout re = (RelativeLayout) findViewById(R.id.relative); 
     SharedPreferences sha1 = getSharedPreferences("bunks.com.android",MODE_PRIVATE); 
     vie = sha1.getBoolean(id,false); 

     if (vie == true){ 

      re.setVisibility(View.GONE); 
      Toast.makeText(getApplicationContext(),"you have already voted ",Toast.LENGTH_LONG).show(); 
     } 
     StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       try { 
        JSONObject object = new JSONObject(response); 
        y = object.getString("yes"); 
        m = object.getString("depend"); 
        n = object.getString("no"); 
        t = object.getString("yes"); 
        t1.setText(t); 
        n1.setText(n); 
        m1.setText(m); 
        y1.setText(y); 

       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 

      } 
     }) { 
      @Override 
      protected Map<String, String> getParams() throws AuthFailureError { 
       return super.getParams(); 
      } 
     }; 

    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 

      case R.id.button6: 
       Intent intent = getIntent(); 

       SharedPreferences sha = getSharedPreferences("bunks.com.android", MODE_PRIVATE); 
       SharedPreferences.Editor edit = sha.edit(); 
       edit.putBoolean(id, true); 
       edit.commit(); 
       RequestQueue requestqueue = new Volley().newRequestQueue(getApplicationContext()); 

       StringRequest request = new StringRequest(Request.Method.POST, url1, new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 

         try { 
          JSONObject jsonObject = new JSONObject(response); 
          if (jsonObject.names().get(0).equals("Sucess")) { 
           Toast.makeText(getApplicationContext(),"Your Vote has been Counted",Toast.LENGTH_LONG); 

          } 

         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 
       }, new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 

        } 
       }) { 
        @Override 
        protected Map<String, String> getParams() throws AuthFailureError { 
         HashMap<String, String> re = new HashMap<String, String>(); 
         re.put("id", id); 

         return re; 
        } 
       }; 
       requestqueue.add(request); 
       finish(); 
       startActivity(intent); 
       break; 
      case R.id.button7: 
       Intent intent1 = getIntent(); 
       SharedPreferences sha1 = getSharedPreferences("bunks.com.android", MODE_PRIVATE); 
       SharedPreferences.Editor edit1 = sha1.edit(); 
       edit1.putBoolean(id, true); 
       edit1.commit(); 
       RequestQueue requestqueue1 = new Volley().newRequestQueue(getApplicationContext()); 

       StringRequest request1 = new StringRequest(Request.Method.POST, url2, new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 

         try { 
          JSONObject jsonObject = new JSONObject(response); 
          if (jsonObject.names().get(0).equals("Sucess")) { 
           Toast.makeText(getApplicationContext(), "Your Vote has been Counted", Toast.LENGTH_LONG); 

          } 

         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 
       }, new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 

        } 
       }) { 
        @Override 
        protected Map<String, String> getParams() throws AuthFailureError { 
         HashMap<String, String> re = new HashMap<String, String>(); 
         re.put("id", id); 

         return re; 
        } 
       }; 
       requestqueue1.add(request1); 

       finish(); 
       startActivity(intent1); 
       break; 
      case R.id.button8: 
       Intent intent2 = getIntent(); 
       SharedPreferences sha2 = getSharedPreferences("bunks.com.android",MODE_PRIVATE); 
       SharedPreferences.Editor edit2 = sha2.edit(); 
       edit2.putBoolean(id,true); 
       edit2.commit(); 
       RequestQueue requestqueue2 = new Volley().newRequestQueue(getApplicationContext()); 

       StringRequest request2 = new StringRequest(Request.Method.POST, url3, new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 

         try { 
          JSONObject jsonObject = new JSONObject(response); 
          if (jsonObject.names().get(0).equals("Sucess")) { 
           Toast.makeText(getApplicationContext(), "Your Vote has been Counted", Toast.LENGTH_LONG); 

          } 
         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 
       }, new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 

        } 
       }) { 
        @Override 
        protected Map<String, String> getParams() throws AuthFailureError { 
         HashMap<String, String> re = new HashMap<String, String>(); 
         re.put("id", id); 

         return re; 
        } 
       }; 
       requestqueue2.add(request2); 


       finish(); 
       startActivity(intent2); 
       break; 
     } 
    } 
} 

und auch hier ist meine Log-Datei:

04-07 01:23:01.329 11852-11852/hp.bunk.com.bunk D/OpenGLRenderer: Enabling debug mode 0 
04-07 01:23:03.229 11852-11852/hp.bunk.com.bunk E/ViewRootImpl: sendUserActionEvent() mView == null 
04-07 01:28:11.289 11852-11852/hp.bunk.com.bunk E/ViewRootImpl: sendUserActionEvent() mView == null 
04-07 01:28:16.869 11852-11852/hp.bunk.com.bunk D/AndroidRuntime: Shutting down VM 
04-07 01:28:16.869 11852-11852/hp.bunk.com.bunk W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x418b8da0) 
04-07 01:28:16.879 11852-11852/hp.bunk.com.bunk E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: hp.bunk.com.bunk, PID: 11852 
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{hp.bunk.com.bunk/hp.bunk.com.bunk.displaybunk}: java.lang.NullPointerException 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2313) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500) 
     at android.app.ActivityThread.access$900(ActivityThread.java:171) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5679) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
     at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException 
     at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:68) 
     at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:145) 
     at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28) 
     at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:42) 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:186) 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:168) 
     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:508) 
     at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:180) 
     at hp.bunk.com.bunk.displaybunk.<init>(displaybunk.java:31) 
     at java.lang.Class.newInstanceImpl(Native Method) 
     at java.lang.Class.newInstance(Class.java:1208) 
     at android.app.Instrumentation.newActivity(Instrumentation.java:1067) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2500)  
     at android.app.ActivityThread.access$900(ActivityThread.java:171)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)  
     at android.os.Handler.dispatchMessage(Handler.java:102)  
     at android.os.Looper.loop(Looper.java:146)  
     at android.app.ActivityThread.main(ActivityThread.java:5679)  
     at java.lang.reflect.Method.invokeNative(Native Method)  
     at java.lang.reflect.Method.invoke(Method.java:515)  
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)  
     at dalvik.system.NativeStart.main(Native Method)  
+0

[Bitte ein minimales, vollständiges und überprüfbares Beispiel liefern] (http://Stackoverflow.com/help/mcve) – JAL

Antwort

0

Sie können nicht getFindById in der Klasse Konstruktor aufrufen, wie Sie jetzt gerade sind:

TextView y1 = (TextView) findViewById(R.id.yes); 
TextView m1 = (TextView) findViewById(R.id.majority); 
TextView n1 = (TextView) findViewById(R.id.no); 
TextView t1 = (TextView) findViewById(R.id.details); 

Sie haben bis warten Nachdem die Ansichten während onCreate() aufgebläht wurden, verschieben Sie diese Aufrufe, umViewById() zu diesem Punkt zu finden.

+0

danke für die Antwort ... Ich ändere den Code .. es stürzt immer noch .. !! :) –

+0

Bitte aktualisieren Sie Ihre Frage mit der von @Doug Stevenson vorgeschlagenen Änderung –

0

Ich fand eine Lösung ... Bündel Extras; sie sollten nach onCreate() initialisiert werden. btw danke @Doug Stevenson

Verwandte Themen