Если я хочу создать другую функцию, например, crud, я должен также поместить запросы в класс sqlitehelper?
Да, вы можете сделать.
Могу ли я просто увидеть это как sql, используя navicat или sqlyog?
Вы не можете просто видеть данные напрямую, поскольку нет встроенного инструмента.
Я хочучтобы увидеть данные, которые я только что ввел в реестр.Где я могу увидеть эти данные?
Для тестирования одним из самых простых способов может быть включение метода в класс SQLiteHelper в соответствии с: -
public void DisplayTableData(String table) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor csr = db.query(table, null, null, null, null, null, null);
DatabaseUtils.dumpCursor(csr); //<<<<<<<<<< will dump the Cursor to the Log
csr.close();
}
- Согласнокомментирует, выводит курсор в журнал, используя утилиту, поставляемую с Android SDK.Курсор создается с использованием метода query SQliteDatabase и извлекает все столбцы из таблицы в соответствии с параметром, переданным методу.
AnПример использования вышеуказанного из действия: -
public class MainActivity extends AppCompatActivity {
DBHelper mDBHlpr;
Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
mDBHlpr = new DBHelper(this); //<<<<<<<<<< instantiate the SQLiteHelper
mDBHlpr.logTable(DBHelper.TBL_RETAILER); //<<<<<<<<<< invoke the logTable method
}
}
Результат, ничего такого, таблица retailer (согласно public static final String TBL_RETAILER = "retailer";
) существует и с некоторыми добавленными данными, будетбыть в соответствии с: -
2019-02-24 16:23:00.925 31737-31737/mjt.pvcheck I/System.out: >>>>> Dumping cursor android.database.sqlite.SQLiteCursor@57a9fc5
2019-02-24 16:23:00.925 31737-31737/mjt.pvcheck I/System.out: 0 {
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: _id=1
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: retailerName=Retailer1
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: }
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: 1 {
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: _id=2
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: retailerName=Retailer2
2019-02-24 16:23:00.926 31737-31737/mjt.pvcheck I/System.out: }
2019-02-24 16:23:00.927 31737-31737/mjt.pvcheck I/System.out: <<<<<
- Это показывает, что в таблице есть 2 строки, которые были определены как имеющие 2 столбца, а именно:
- _id (значение первой строки 1 , значение второй строки 2 ) и
- retailerName (значение первых строк Retailer1 , значение второй строки: Reatiler2 )
- Результаты относятся к приложению, в котором оно использовалось, вы можете ожидать разные результаты.
Конечно, это только очень элементарная проверка / отображение данных.
где my .db файл?
Если вы не указали конкретное местоположение для базы данных, оно будет в / data / data / the_package_name / database /
- где the_package_name будет соответствовать пакету, частью которого является класс SQLiteHelper.
например, в приведенном выше пакете есть mjt.pvcheck, использование проводника устройства будет выглядеть примерно так:

- Первое выделение - это папка пакета (mjt.pvcheck) в / data / data
- Второе выделениеэто папка с базами данных
- pvcheck - это фактический файл базы данных в вышеупомянутом приложении (нет необходимости в конкретном расширении файла, НО имя файла и имя базы данных ДОЛЖНЫ совпадать).
- Наличие файлов с добавками -shm и -wal , которые в остальном совпадают с именем файла базы данных, связано с тем, что база данных SQLite использует Write Ahead Logging (WAL).Если нет, может быть файл -journal, если используется более старый режим журнала.(Из Android Pie значение по умолчанию было изменено на WAL).