如何创建一个数据库并从android中的活动插入其中?

时间:2011-06-17 10:45:16

标签: java android sqlite

我在android上有一个数据库问题。

在我的应用程序的初始启动时,我从我的服务器调用一个JSON文件,然后返回给我,从这个JSON文件我可以使用GSON重新创建一个对象的数组列表。

Gson gson = new Gson();

ArrayList<Spot> spots = gson.fromJson(sb.toString(),new TypeToken<List<Spot>>() {}.getType());

现在我有这个arraylist,我想将所有这些输入到数据库中。以上所有内容都是在我的启动活动中实现的。

我需要的是创建数据库的一些帮助,然后是如何将数据输入到数据库中,在线示例非常令人困惑且完全不同

2 个答案:

答案 0 :(得分:0)

Android开发者网站上的Android Notepad教程将帮助您解决问题。你所需要的只是耐心。 http://developer.android.com/resources/tutorials/notepad/index.html

答案 1 :(得分:0)

我认为帮助类可以帮助你

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import android.util.Log;

public class EventDataSQLHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "events.db";
    private static final int DATABASE_VERSION = 1;
    // Table name
    public static final String TABLE = "events";
    // Columns
    public static final String TIME = "time";
    public static final String TITLE = "title";

    public EventDataSQLHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "create table " + TABLE + "( " + BaseColumns._ID
                + " integer primary key autoincrement, " + TIME + " integer, "
                + TITLE + " text not null);";
        Log.d("EventsData", "onCreate: " + sql);
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (oldVersion >= newVersion)
            return;
        String sql = null;
        if (oldVersion == 1)
            sql = "alter table " + TABLE + " add note text;";
        if (oldVersion == 2)
            sql = "";
        Log.d("EventsData", "onUpgrade  : " + sql);
        if (sql != null)
            db.execSQL(sql);
    }
}