应用程序在点击按钮时崩溃,没有任何错误信息。

huangapple 未分类评论48阅读模式
英文:

App crashes without any error on a click of button

问题

以下是翻译好的代码部分:

public class Subscription_page extends AppCompatActivity {
    TextView label_name, label_user_name ,label_email, label_vendor_type, label_address, label_fb_link, label_insta_link, label_website_link;

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

        label_name = (EditText) findViewById(R.id.label_name);
        label_user_name = (EditText) findViewById(R.id.label_username);
        label_email = (EditText) findViewById(R.id.label_email);
        label_vendor_type = (EditText) findViewById(R.id.vendor_type);
        label_address = (EditText) findViewById(R.id.address);
        label_fb_link = (EditText) findViewById(R.id.fb_link);
        label_insta_link = (EditText) findViewById(R.id.insta_link);
        label_website_link = (EditText) findViewById(R.id.website_link);
    }

    public void subscription_register(View view) {
        String name = label_name.getText().toString();
        String user_name = label_user_name.getText().toString();
        String email = label_email.getText().toString();
        String vendor_type = label_vendor_type.getText().toString();
        String address = label_address.getText().toString();
        String fb_link = label_fb_link.getText().toString();
        String insta_link = label_insta_link.getText().toString();
        String website_link = label_website_link.getText().toString();

        String method = "register";

        vendor_register_background bg = new vendor_register_background(this);
        bg.execute(name, user_name, email, vendor_type, address, fb_link, insta_link, website_link);
    }
}

class vendor_register_background extends AsyncTask<String, Void, String> {
    Context ctx;

    vendor_register_background(Context ctx) {
        this.ctx = ctx;
    }

    @Override
    protected void onPostExecute(String result) {
        Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
    }

    @Override
    protected String doInBackground(String... params) {
        String register_url = "http://192.168.64.2/best/phpapi/register_vendor.php";
        String results = "";

        String name = params[0];
        String user_name = params[1];
        String email = params[2];
        String vendor_type = params[3];
        String address = params[4];
        String fb_link = params[5];
        String insta_link = params[6];
        String website_link = params[7];

        try {
            URL url = new URL(register_url);
            HttpURLConnection http = (HttpURLConnection) url.openConnection();
            http.setRequestMethod("POST");
            http.setDoInput(true);
            http.setDoOutput(true);

            // Rest of the code for sending data to server...

            return results;
        } catch (MalformedURLException e) {
            results = e.getMessage();
        } catch (IOException e) {
            results = e.getMessage();
        }

        return results;
    }
}

日志文件的部分内容:

--------- beginning of crash
2020-05-28 23:53:05.839 1904-1904/com.example.bestfiveinc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.bestfiveinc, PID: 1904
java.lang.IllegalStateException: Could not execute method for android:onClick
    at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
    at android.view.View.performClick(View.java:5610)
    at android.view.View$PerformClick.run(View.java:22265)
    // 更多日志信息...
Caused by: java.lang.reflect.InvocationTargetException
    // 更多日志信息...
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.TextView.getText()' on a null object reference
    // 更多日志信息...

如果您有更多问题或需要进一步帮助,请随时提问。

英文:

App crashes without giving any error. I have attached API with this page when i hit the register button it crashes instead of saving the data into the database. i got 2 java files

java file

public class Subscription_page extends AppCompatActivity {
    TextView label_name, label_user_name ,label_email, label_vendor_type, label_address, label_fb_link, label_insta_link, label_website_link;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_subscription_page);
    label_name= (EditText) findViewById(R.id.label_name);
    label_user_name= (EditText) findViewById(R.id.label_username);
    label_email= (EditText) findViewById(R.id.label_email);
    label_vendor_type = (EditText) findViewById(R.id.vendor_type);
    label_address = (EditText) findViewById(R.id.address);
    label_fb_link = (EditText) findViewById(R.id.fb_link);
    label_insta_link = (EditText) findViewById(R.id.insta_link);
    label_website_link= (EditText) findViewById(R.id.website_link);

}

public void subscription_register(View view) {

    String name  = label_name.getText().toString();
    String user_name = label_user_name.getText().toString();
    String email = label_email.getText().toString();
    String vendor_type = label_vendor_type.getText().toString();
    String address = label_address.getText().toString();
    String fb_link = label_fb_link.getText().toString();
    String insta_link = label_insta_link.getText().toString();
    String website_link = label_website_link.getText().toString();

    String method = &quot;register&quot;;

    vendor_register_background bg = new vendor_register_background(this);
    bg.execute(name,user_name,email,vendor_type,address,fb_link,insta_link,website_link);
    //finish();

}
}

other file

class vendor_register_background extends AsyncTask &lt;String,Void,String&gt;
{

Context ctx;
vendor_register_background(Context ctx)
{
    this.ctx = ctx;
}

@Override
protected void onPostExecute(String result)
{
    Toast.makeText(ctx,result, Toast.LENGTH_LONG).show();
}


@Override
protected String doInBackground(String... params)
{

    String register_url = &quot;http://192.168.64.2/best/phpapi/register_vendor.php&quot;;
    String results=&quot;&quot;;


        String name = params[0];
        String user_name = params[1];
        String email = params[2];
        String vendor_type = params[3];
        String address = params[4];
        String fb_link = params[5];
        String insta_link = params[6];
        String website_link = params[7];


        try {
            URL url = new URL(register_url);
            HttpURLConnection http = (HttpURLConnection) url.openConnection();
            http.setRequestMethod(&quot;POST&quot;);
            http.setDoInput(true);
            http.setDoOutput(true);

            OutputStream ops = http.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(ops, &quot;UTF-8&quot;));

            String data = URLEncoder.encode(&quot;name&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(name, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;user_name&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(user_name, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;email&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(email, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;vendor_type&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(vendor_type, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;address&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(address, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;fb_link&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(fb_link, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;insta_link&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(insta_link, &quot;UTF-8&quot;) + &quot;&amp;&quot; +
                    URLEncoder.encode(&quot;website_link&quot;, &quot;UTF-8&quot;) + &quot;=&quot; + URLEncoder.encode(website_link, &quot;UTF-8&quot;);

            writer.write(data);
            writer.flush();
            writer.close();
            ops.close();


            InputStream ips = http.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(ips, &quot;ISO-8859-1&quot;));
            String line = &quot;&quot;;
            while ((line = reader.readLine()) != null) {
                results += line;
            }
            
            reader.close();
            ips.close();
            http.disconnect();
            return results;


        } catch (MalformedURLException e) {
            results = e.getMessage();
        } catch (IOException e) {
            results = e.getMessage();
        }


        return results;
    }
}

the logcat file

--------- beginning of crash

2020-05-28 23:53:05.839 1904-1904/com.example.bestfiveinc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.bestfiveinc, PID: 1904
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:5610) 
at android.view.View$PerformClick.run(View.java:22265) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6077) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.TextView.getText()' on a null object reference
at com.example.bestfiveinc.Subscription_page.subscription_register(Subscription_page.java:30)
at java.lang.reflect.Method.invoke(Native Method) 
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
at android.view.View.performClick(View.java:5610) 
at android.view.View$PerformClick.run(View.java:22265) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6077) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

huangapple
  • 本文由 发表于 2020年5月29日 09:59:10
  • 转载请务必保留本文链接:https://java.coder-hub.com/62077460.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定