Рассмотрим:Переменные базы данных ContentProvider, куда их поместить?
public static final String NOTE_ID = "_id";
public static final String TITLE = "title";
public static final String TEXT = "text";
3 столбцов в моей базе данных SQLite, указанные выше для использования в контент-провайдера, где я помещаю их в коде ниже? где лучшее место?
и что я должен поместить в класс NoteItems, который расширяет BaseColumns?
немного смущенно о том, где положить что.
public class ProviderExample extends ContentProvider {
private static final String DATABASE_NAME = "notes.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "notes";
public static final String AUTHORITY = "package com.example.contentproviderexample.providerexample";
public static final UriMatcher sUriMatcher;
private static final int NOTES = 1;
private static final int NOTES_ID = 2;
public static final Uri CONTENT_URI = Uri.parse("content://"
+ AUTHORITY + "/notes");
static final String SINGLE_RECORD = "vnd.android.cursor.item/vnd.example.providerexample";
static final String MULTIPLE_RECORDS = "vnd.android.cursor.dir/vnd.example.providerexample";
static {
sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
sUriMatcher.addURI(AUTHORITY, TABLE_NAME, NOTES);
sUriMatcher.addURI(AUTHORITY, TABLE_NAME + "/#", NOTES_ID);
}
public static interface NoteItems extends BaseColumns { }
private static class DatabaseHelper extends SQLiteOpenHelper{
DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
} // DatabaseHelper
EDIT:
я сузил выбор. Это выглядит как 2 места, которые лучше всего поставить на этот код. Один из них внутри ProviderExample расширяет класс ContentProvider вместе с другими переменными, а другая позиция внутри DatabaseHelper расширяет класс SQLiteOpenHelper, оба возможны, но я не знаю, какое из двух мест является более правильным. Я нашел примеры обоих способов использования.
Пожалуйста, не добавляйте Android в заголовок вопроса, тег на дне достаточно. – Luksprog