创建SQLite数据库时发生Android Studio 1.3.1错误

Android Studio 1.3.1 error while Creating SQLite database

本文关键字:Studio 错误 Android SQLite 数据库 创建      更新时间:2023-09-26

MainActivity.java的26行出现错误。显示JavaNULLPOINTER异常。请告诉我该怎么做才能把它取下来。我的代码在GitHub上。https://github.com/happyshravan/SQLite

LogCat错误(最新)

2-25 21:10:58.729  15661-15661/abcd.shravankr.sqlite D/memalloc﹕ /dev/pmemMapped buffer base:0x530b2000 size:10047488 offset:8511488 fd:66
12-25 21:11:06.679  15661-15661/abcd.shravankr.sqlite D/AndroidRuntime﹕  Shutting down VM
12-25 21:11:06.679  15661-15661/abcd.shravankr.sqlite W/dalvikvm﹕ threadid=1:   thread exiting with uncaught exception (group=0x40c15a68)
12-25 21:11:06.699  15661-15661/abcd.shravankr.sqlite E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method for android:onClick
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:275)
        at android.view.View.performClick(View.java:3571)
        at android.view.View$PerformClick.run(View.java:14247)
        at android.os.Handler.handleCallback(Handler.java:605)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4517)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at 

我在MainActivity.java 的26行中出错

第26行参考public void addButtonClicked(View view)

您在xml中添加了两个按钮,id为addButtondeleteButton,但在MainActivity中没有使用它们。

显示JavaNULLPOINTER异常

这是因为您希望在不初始化它们的情况下使用这两个按钮。

解决方案:

尝试将其添加到onCreate

Button addBtn=(Button)findViewById(R.id.addButton);
Button deleteBtn=(Button)findViewById(R.id.deleteButton);

已编辑

main_activity中删除android:onClick="addButtonClicked"android:onClick="deleteButtonClicked",并在MainActivity中删除addButtonClickeddeleteButtonClicked。使用以下代码。

主要活动

 addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { //   add button is clicked
            Toast.makeText(getApplicationContext(),"Shravan",Toast.LENGTH_LONG).show();
            Products product = new Products(shravansInput.getText().toString());
            dbHandler.addProduct(product);
            printDatabase();
            }
        });

  deleteBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { //   delete button is clicked
            String inputText=shravansInput.getText().toString();
            dbHandler.deleteProduct(inputText);
            printDatabase();
        });

把这两个放在onCreate方法中。

我希望这会有所帮助。