Создать список массивов или массив из значений базы данных - Android - PullRequest
0 голосов
/ 13 июля 2020

Во-первых, я полный новичок ie в сообществе переполнения стека и разработке android приложений. Я хотел спросить, есть ли способ добавить данные в Array или ArrayList, которые я получаю из базы данных, чтобы я мог позже использовать этот Arraylist в моем представлении ресайклера.

Я получаю данные, когда я звоню getAll () из класса myCoreDatabase в MainActivity, все, что я хотел знать, - это как назначить эти данные в ArrayList в моем MainActivity, чтобы я мог взять это и заполнить свой recyclerview. Есть ли способ или я здесь ошибаюсь. Пожалуйста, любые предложения и ответы будут действительно полезны.

Кстати, это простое приложение для создания заметок, основное действие которого имеет вид утилизации, а также действие для создания заметок, которое делает заметки и сохраняет их в базе данных. Все, что я хочу, это взять эти данные из базы данных и поместить их в массив, чтобы я мог заполнить свое представление Recycler на моем MainActivity. Надеюсь, я достаточно ясен.

или

Как могу ли я получить доступ к notesArray (класс myCoreDatabase), который является списком массивов из моего основного действия?

Спасибо.

MainActivity

RecyclerView r1;
myCoreDatabase mcd;
ArrayList<String> notesArray1 = new ArrayList<String>();
String nArray;

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

    r1=findViewById(R.id.myRecycler);

    mcd = new myCoreDatabase(this);
    notesArray1=mcd.getAll();
    System.out.println(nArray);

}




public void writeNote(View view) {

    Intent i1= new Intent(this, WriteNote.class);
    startActivity(i1);
}

Действия WriteNote

 TextView note;
myCoreDatabase mcd;

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

    mcd=new myCoreDatabase(this);
    note=(TextView)findViewById(R.id.note_data);
}

public void back(View view) {
    //If note data is null execute intent go back to main page
    String s1= note.getText().toString();
    if(s1.equals("")) {
        Intent i1 = new Intent(this, MainActivity.class);
        startActivity(i1);
        kill_activity();
    }else{


        // Perform database operations save data and get back to the main activity

        SQLiteDatabase sql= mcd.getWritableDatabase();

        ContentValues cv = new ContentValues();

        cv.put("note",s1);
        sql.insert("mynotes",null,cv);

        //then go back to main activity or home

        Intent i1 = new Intent(this, MainActivity.class);
        startActivity(i1);
        kill_activity();

    }
}
void kill_activity()
{
    finish();
}

MyCoreDatabase.class

public class myCoreDatabase extends SQLiteOpenHelper {

    SQLiteDatabase myDb;
    Context ctx;



    public myCoreDatabase(Context context) {
        super(context, "mynotes.db", null, 1);
        ctx=context;
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table mynotes(n_id integer primary key autoincrement, note text )");

    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL("drop table if exists mynotes");
        onCreate(sqLiteDatabase);

    }
public String getAll(){
        myDb= getReadableDatabase();
        Cursor cr=myDb.rawQuery("Select * from mynotes",null);
        StringBuilder str=new StringBuilder();
        while (cr.moveToNext()){
            String s1= cr.getString(1);
            String s2= cr.getString(1);
            str.append(s1+"               "+s2+"\n");


            ArrayList<String> notesArray = new ArrayList<String>();
            while (cr.moveToNext()){
                String s= cr.getString(1);
                notesArray.add(s);
              //  Log.i("Data:","Added");

            }

            for (int i = 0; i < notesArray.size(); i++) {
               System.out.println(notesArray.get(i));
            }

            Log.i("Strings:-",notesArray.toString());
           // Toast.makeText(ctx,str.toString(),Toast.LENGTH_SHORT).show();



    }

    return null;
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...