как посмотреть данные, которые я ввожу на Android SQLite - PullRequest
0 голосов
/ 24 февраля 2019

Я только что создал login и register в своем приложении.

Я хочу увидеть data, что я просто input на register.Где я могу увидеть это data?Могу ли я просто увидеть это как sql, используя navicat или sqlyog?

Если я хочу создать другую функцию, такую ​​как crud, должен ли я поместить queries в класс sqlitehelper?

пожалуйста, скажите мне, если я ошибаюсь, и где находится мой файл .db?

1 Ответ

0 голосов
/ 24 февраля 2019

Если я хочу создать другую функцию, например, 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, использование проводника устройства будет выглядеть примерно так:

enter image description here

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