Файл базы данных SQLite не найден на Android - PullRequest
0 голосов
/ 08 марта 2019

Я не могу найти файл БД, в котором для адаптера базы данных созданы БД и таблица.Но я мог видеть, что данные сохраняются, но я не могу найти свой файл БД в моих каталогах.Но я могу сохранить записи и просматривать на моем экране.Вот мой класс DBAdapter, где я создаю базу данных.

public class DBAdapter {

    private static final String DB_NAME = "clientList.db";
    private static final int DB_VERSION = 1;
    private static final String TABLE_CLIENT = "CLIENT";
    private static final String COLUMN_CLIENT_ID = "CLIENT_ID";
    private static final String  COLUMN_CLIENT_NAME = "CLIENT_NAME";


    private static final String query = "create table test_1 " + " (COLUMN_CLIENT_ID integer primary key, COLUMN_CLIENT_NAME text)";


    private Context context;
    private SQLiteDatabase sqliteDatabase;
    private static DBAdapater dbAdapaterInstance;


    private DBAdapater(Context context){
        this.context = context;
        sqliteDatabase = new DatabaseHelper(this.context,DB_NAME,null,DB_VERSION).getWritableDatabase();
    }

    public static DBAdapater getDbAdapaterInstance(Context context){
        if(dbAdapaterInstance == null){
            dbAdapaterInstance = new DBAdapater(context);
        }
        return dbAdapaterInstance;
    }


    public boolean insert(int clientId , String name ){
        ContentValues contentValues = new ContentValues();
        contentValues.put(COLUMN_CLIENT_ID,clientId);
        contentValues.put(COLUMN_CLIENT_NAME,name);
        return sqliteDatabase.insert(TABLE_CLIENT,null,contentValues)>0;
    }

    public boolean delete(int ClientID){
        return sqliteDatabase.delete(TABLE_CLIENT, COLUMN_CLIENT_ID + "=" + ClientID,null)>0;
    }

    public boolean modify(int ClientID , String newClient){
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_CLIENT_NAME,newClient);
    return sqliteDatabase.update(TABLE_CLIENT,contentValues,COLUMN_CLIENT_ID + "=" + ClientID,null)>0;

    }

    public List<DataBean> getClient(){
        List<DataBean> clientInfo = new ArrayList<DataBean>();
        Cursor cursor = sqliteDatabase.query(TABLE_CLIENT , new String[]{COLUMN_CLIENT_ID,COLUMN_CLIENT_NAME},null,null,null,null,null,null);
        if(cursor != null && cursor.getCount()>0){
            while (cursor.moveToNext()) {
                DataBean clientBean = new DataBean(cursor.getLong(0), cursor.getString(1));
                clientInfo.add(clientBean);
            }
        }
        return clientInfo;
    }

    //purpose of this class is to help outer class
    public class DatabaseHelper extends SQLiteOpenHelper{


        public DatabaseHelper(Context context , String databaseName , SQLiteDatabase.CursorFactory factory , int dbVersion){
            super(context, databaseName , factory , dbVersion);
        }



        @Override
        public void onCreate(SQLiteDatabase db) {

            db.execSQL(query);

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }
    }

}

Вот мой класс бобов

public class DataBean {

    private long id;
    private String clientName;
    private String address;


    public DataBean(){
        super();
    }

    public DataBean(long id , String clientName){
        this.id = id;
        this.clientName = clientName;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }
}

1 Ответ

0 голосов
/ 08 марта 2019

Если вы не укажете какой-либо путь, он будет сохранен в папке databases каталога вашего приложения.

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