简体   繁体   中英

SQLite read data from a Database

I am trying to get all data from database and display. but it is not working. can anyone tell what is the problem with the code? thank you. here is the code

DataBase.java

//onlly the method

public List<Appo> getAllData(){

        List<Appo> appos = new ArrayList<>();

        String APPOINTMENT_TABLE_NAME_SELECT_QUERY =
                String.format("SELECT * FROM %s ",
                        APPOINTMENT_TABLE_NAME
                       );

        SQLiteDatabase db = getReadableDatabase();
        Cursor cursor = db.rawQuery(APPOINTMENT_TABLE_NAME_SELECT_QUERY, null);
        try {
            if (cursor.moveToFirst()) {
                do {
                    Appo.title = cursor.getString(cursor.getColumnIndex(APPOINTMENT_COLUMN_TITLE));
                    Appo.time = cursor.getString(cursor.getColumnIndex(APPOINTMENT_COLUMN_TITLE));
                    Appo.details = cursor.getString(cursor.getColumnIndex(APPOINTMENT_COLUMN_DETAILS));
                    Appo.day = cursor.getString(cursor.getColumnIndex(APPOINTMENT_COLUMN_DAY));
                } while(cursor.moveToNext());
            }
        } catch (Exception e) {

        } finally {
            if (cursor != null && !cursor.isClosed()) {
                cursor.close();
            }
        }
        return appos;
    }

Appo.java

public class Appo {

    public static int id;
    public static String title;
    public static String time;
    public static String details;
    public static String day;
}

ViewAndEdit.java

public class ViewAndEdit extends AppCompatActivity {

    private TextView list;
    private Button btnview;

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

        list =(TextView) findViewById(R.id.listappo);
        btnview =(Button)findViewById(R.id.btnview);

        final DataBase databaseHelper = DataBase.getInstance(this);

        btnview.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                final EditText title = new EditText(ViewAndEdit.this);
                new AlertDialog.Builder(ViewAndEdit.this)
                        .setTitle("Edit")
                        .setView(title)

                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // continue with delete
                            }
                        })
                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {

                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show();

                List<Appo> appos = databaseHelper.getAllData();
                for (Appo appo : appos) {
                    list.setText(appo.toString());
                }
            }
        });

    }
}
public List<Appo> getAllData() {
    List<Appo> appos = new ArrayList<Appo>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + APPOINTMENT_TABLE_NAME;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Appo appo = new Appo();
            appo.setTital(cursor.getString(0));
            appo.setTime(cursor.getString(1));
            appo.setDetails(cursor.getString(2));
            appo.setday(cursor.getString(3));

            //Adding contact to list
            appos.add(appo);
        } while (cursor.moveToNext());
    }
    // return all list
    return appos;
}

For more information check Android SQLite Database

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM