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

java.lang.OutOfMemoryError:SqliteAndroidからデータを読み取っているときに[メモリが使い果たされました]

    各反復でmoveToFirst()を使用してカーソルのインデックスを最初の行に設定するため、ループが終了することはありません。 次の行に進まないでください。
    moveToNext()を使用してください のみ:

    public void ReadSqliteData(Context context){
        ArrayList<Model> list = new ArrayList<>();
        Adpter adpter = new Adpter(list,context);
        SQLiteDatabase database = getWritableDatabase();
        Cursor cursor = database.rawQuery("Select name, image from orders",null);
        while (cursor.moveToNext()){
            Model model = new Model();
            model.setImage(cursor.getString(0));            
            model.setName(cursor.getString(1));    
            list.add(model);
        }
        adpter.notifyDataSetChanged();
        cursor.close();
        database.close();
    }
    


    1. 包括的ではない間のSQL

    2. リクエストはHTTPステータス401で失敗しました:Unauthorized IN SSRS

    3. 文字列の制約をチェックして、数字のみを含めます。 (Oracle SQL)

    4. SQLiteとカスタムオーダー