簡體   English   中英

如何比較用戶在EditText中輸入的數據並從android studio 2.0中的sqlite數據庫中檢索EditText中的結果數據

[英]How to compare data which is entered by user in EditText and retrieve result data in the EditText from sqlite database in android studio 2.0

我正在學習android。 我正在嘗試創建一個在EditText中從用戶獲取數據的應用程序。 將該數據比較到SQLite數據庫中,然后在另一個EditText中返回數據。

運行我的代碼后,應用程序即關閉ieForce。 即不幸的是您的應用程序已關閉。 請幫助我比較和檢索sqlite數據庫中的數據,並將其顯示在EditText中。

    My Code is:
DatabaseHelper Class:
     public Cursor getData() {
            SQLiteDatabase db = this.getWritableDatabase();
            String english = et1.getText().toString();

//查詢查詢數據庫中的數據

Cursor cursor = db.rawQuery("select MSICTm_AutoTarget_Word from" + TABLE_NAME + "where MDICTm_Source_Word="+english, null);
            et2.setText("");
            if (cursor!=null) {
                cursor.moveToFirst();
                do {
                    String MSICTm_AutoTarget_Word = cursor.getString(cursor.getColumnIndex("MSICTm_AutoTarget_Word"));
                    et2.append("MSICTm_AutoTarget_Word"+cursor.getString(2)+cursor);
                } while (cursor.moveToNext());
            }
     return cursor;
            }         

主要活動類別:

public void viewData() {
        b1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Cursor cursor = mydb.getData();
                if (cursor != null) {
                    if (cursor.moveToFirst()) {
                        do {
                            String MSICTm_AutoTarget_Word = cursor.getString(cursor.getColumnIndex("MSICTm_AutoTarget_Word"));
                            et2.append("MSICTm_AutoTarget_Word" + MSICTm_AutoTarget_Word + cursor);
                        }
                        while (cursor.moveToNext());
                    }
                }
            }
 });
    }

// Logcat

04-27 14:10:34.698 2420-2420/com.example.mcsipl_hplaptop240_1.language I/art: Not late-enabling -Xcheck:jni (already on)
04-27 14:10:34.826 2420-2420/com.example.mcsipl_hplaptop240_1.language W/System: ClassLoader referenced unknown path: /data/app/com.example.mcsipl_hplaptop240_1.language-1/lib/x86
04-27 14:10:44.248 2420-2420/com.example.mcsipl_hplaptop240_1.language W/System: ClassLoader referenced unknown path: /data/app/com.example.mcsipl_hplaptop240_1.language-1/lib/x86
04-27 14:10:45.466 2420-2420/com.example.mcsipl_hplaptop240_1.language W/art: Verification of android.support.v7.view.ActionMode android.support.v7.app.AppCompatDelegateImplV7.startSupportActionModeFromWindow(android.support.v7.view.ActionMode$Callback) took 369.473ms
04-27 14:10:45.677 2420-2426/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 104.833ms
04-27 14:10:46.390 2420-2430/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 525.430ms
04-27 14:10:46.398 2420-2430/com.example.mcsipl_hplaptop240_1.language I/art: Background sticky concurrent mark sweep GC freed 15945(1793KB) AllocSpace objects, 8(176KB) LOS objects, 66% free, 1257KB/3MB, paused 526.247ms total 537.371ms
04-27 14:10:46.713 2420-2426/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 137.656ms
04-27 14:10:47.051 2420-2420/com.example.mcsipl_hplaptop240_1.language W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
04-27 14:10:47.300 2420-2426/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 223.122ms
04-27 14:10:48.227 2420-2426/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 149.071ms
04-27 14:10:48.748 2420-2426/com.example.mcsipl_hplaptop240_1.language W/art: Suspending all threads took: 166.289ms
04-27 14:10:48.913 2420-2420/com.example.mcsipl_hplaptop240_1.language W/FileUtils: Failed to chmod(/data/user/0/com.example.mcsipl_hplaptop240_1.language/databases/LNGTRNS.db): android.system.ErrnoException: chmod failed: EPERM (Operation not permitted)
04-27 14:10:48.914 2420-2420/com.example.mcsipl_hplaptop240_1.language D/AndroidRuntime: Shutting down VM


                                                                                         --------- beginning of crash
04-27 14:10:48.914 2420-2420/com.example.mcsipl_hplaptop240_1.language E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                         Process: com.example.mcsipl_hplaptop240_1.language, PID: 2420
                                                                                         java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mcsipl_hplaptop240_1.language/com.example.mcsipl_hplaptop240_1.language.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
                                                                                             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                                             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                                             at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                             at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                             at android.os.Looper.loop(Looper.java:148)
                                                                                             at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                             at java.lang.reflect.Method.invoke(Native Method)
                                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                                          Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
                                                                                             at com.example.mcsipl_hplaptop240_1.language.MainActivity.viewData(MainActivity.java:87)
                                                                                             at com.example.mcsipl_hplaptop240_1.language.MainActivity.onCreate(MainActivity.java:34)
                                                                                             at android.app.Activity.performCreate(Activity.java:6237)
                                                                                             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                                             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                                             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                             at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                             at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                             at android.os.Looper.loop(Looper.java:148) 
                                                                                             at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                             at java.lang.reflect.Method.invoke(Native Method) 
                                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

您是否已在主要活動中初始化dbhelper類?

dbclass mydb=new dbclass();

您的錯誤似乎是

原因:java.lang.NullPointerException:嘗試在空對象引用上調用虛擬方法'void android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)'

在viewData()方法中設置onClickListener時,按鈕b1尚未初始化。

初始化按鈕b1

b1 = (Button) findViewbyId(R.id.your_button_id);

設置點擊監聽器之前

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM