Мне нужна пошаговая процедура создания базы данных на Android.
Как создать базу данных в android?
Ответ 1
База данных важна в программировании. Многие из наших кодов всегда используют данные для обработки и сохранения. Как и в любой другой среде программирования, Android также поддерживает программирование базы данных. Вы можете использовать базу данных по умолчанию, поддерживаемую android, SQLiteDatabase
.
База данных в SQLiteDatabase может содержать более одной таблицы. Предположим, что у нас есть одна база данных PERSONALDB
и одна таблица BIODATA
. Структура BIODATA
такова:
_id integer
code string
name string
gender string
_id is for key increment,
code
, name
и gender
для описания person
.
Когда программа вызывается в первый раз, мы должны убедиться, что база данных и таблица открыты, если она существует. Если нет, тогда нам нужно создать базу данных и таблицу. В качестве примера из Android notepad sample
приведен класс PersonDbHelper
для управления таблицей BIODATA
.
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class PersonDbHelper {
class Row extends Object {
public long _Id;
public String code;
public String name;
public String gender;
}
private static final String DATABASE_CREATE =
"create table BIODATA(_id integer primary key autoincrement, "
+ "code text not null,"
+ "name text not null"
+");";
private static final String DATABASE_NAME = "PERSONALDB";
private static final String DATABASE_TABLE = "BIODATA";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase db;
public PersonDbHelper(Context ctx) {
try {
db = ctx.openDatabase(DATABASE_NAME, null);
} catch (FileNotFoundException e) {
try {
db =
ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0,
null);
db.execSQL(DATABASE_CREATE);
} catch (FileNotFoundException e1) {
db = null;
}
}
}
public void close() {
db.close();
}
public void createRow(String code, String name) {
ContentValues initialValues = new ContentValues();
initialValues.put("code", code);
initialValues.put("name", name);
db.insert(DATABASE_TABLE, null, initialValues);
}
public void deleteRow(long rowId) {
db.delete(DATABASE_TABLE, "_id=" + rowId, null);
}
public List<Row> fetchAllRows() {
ArrayList<Row> ret = new ArrayList<Row>();
try {
Cursor c =
db.query(DATABASE_TABLE, new String[] {
"_id", "code", "name"}, null, null, null, null, null);
int numRows = c.count();
c.first();
for (int i = 0; i < numRows; ++i) {
Row row = new Row();
row._Id = c.getLong(0);
row.code = c.getString(1);
row.name = c.getString(2);
ret.add(row);
c.next();
}
} catch (SQLException e) {
Log.e("Exception on query", e.toString());
}
return ret;
}
public Row fetchRow(long rowId) {
Row row = new Row();
Cursor c =
db.query(true, DATABASE_TABLE, new String[] {
"_id", "code", "name"}, "_id=" + rowId, null, null,
null, null);
if (c.count() > 0) {
c.first();
row._Id = c.getLong(0);
row.code = c.getString(1);
row.name = c.getString(2);
return row;
} else {
row.rowId = -1;
row.code = row.name= null;
}
return row;
}
public void updateRow(long rowId, String code, String name) {
ContentValues args = new ContentValues();
args.put("code", code);
args.put("name", name);
db.update(DATABASE_TABLE, args, "_id=" + rowId, null);
}
public Cursor GetAllRows() {
try {
return db.query(DATABASE_TABLE, new String[] {
"_id", "code", "name"}, null, null, null, null, null);
} catch (SQLException e) {
Log.e("Exception on query", e.toString());
return null;
}
}
}
В методе onCreate
вам просто нужно указать одну команду, приведенную ниже, для инициализации базы данных:
...
Db = new PersonDbHelper(this);
...
Сначала он попытается открыть "PersonalDB". Если он не существует, он создаст базу данных. В этом классе PersonDbHelper у вас есть методы для вставки, удаления, обновления и запроса таблицы.
Вот ссылка на приведенный выше учебник:
Создание моей первой базы данных Android
Вы также можете пройти:
http://www.devx.com/wireless/Article/40842
http://www.vogella.de/articles/AndroidSQLite/article.html
Надеюсь, что это поможет.
Ответ 2
Создать базу данных:
db= this.openOrCreateDatabase("db_hw3", MODE_PRIVATE, null);
Ответ 3
Это сделает трюк: http://www.devx.com/wireless/Article/40842/1954
Ответ 4
Эта ссылка может быть полезна: http://android10.org/index.php/articlesdatastorage/235-creating-and-using-databases-in-android-one, в ней объясняется, как создавать и управлять небольшой БД.
Ответ 5
Обратите внимание, что это хорошая практика для переноса всех ваших данных на ContentProviders