sql >> データベース >  >> RDS >> SQLite

ネイティブメソッドのUnsatisfiedLinkError

    を追加することで、この問題を自分で解決しました。
    System.loadLibrary("sqliteX");
    

    それらが作成される各メソッドへ

    このように:

    public HashMap<String, ArrayList<String>> word_quiz(String qry) {
        System.loadLibrary("sqliteX");
        ArrayList<String> list1 = new ArrayList<String>();
        ArrayList<String> list2 = new ArrayList<String>();
        SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH+ "/sk1.db", null);
        Cursor mcursor = db.rawQuery(qry, null);
        try {
            mcursor.moveToFirst();
            do {
                list1.add(mcursor.getString(0));
                list2.add(mcursor.getString(1));
            } while (mcursor.moveToNext());
    
        } catch (IndexOutOfBoundsException e) {
            if (MainActivity.logcat_status) {
                Log.e("Error", e + "");
            }
        }
        mcursor.close();
        mcursor = null;
        HashMap<String, ArrayList<String>> final_list = new HashMap<String, ArrayList<String>>();
        final_list.put("list1", list1);
        final_list.put("list2", list2);
        db.close();
        return final_list;
    
    }
    

    これで正常に動作します

    コンストラクターを使用してライブラリ「sqliteX」をロードすることもできると思います

    私の質問を検討してくれてありがとう:)



    1. SQLとは何ですか?SQLを使い始める方法は?

    2. MySqlエラー:1364フィールド'display_name'にデフォルト値がありません

    3. sp_prepare/sp_prepexecのユースケース

    4. SQLServer-UPDATEステートメントを許可する自動インクリメント