【问题标题】:How can I call the Database (from another class) through the main activity class?如何通过主活动类调用数据库(从另一个类)?
【发布时间】:2011-09-17 09:45:10
【问题描述】:

我想让我的代码简洁明了,所以我想创建数据库,但我想通过主要活动从另一个类调用它...我尝试这样做,但它不起作用...所以,它应该如何工作??

注意:我是 android 开发的新手。所以,对不起这种类型的问题......

这是主要活动:

package com.DataStorage.Excercise;

import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

public class DataStorageActivity extends Activity {

    private Context context;
    public SQLiteDatabase db_1=null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       AccessingDB acc= new AccessingDB(context);
       acc.onCreate(db_1);


    }
}

具有数据库代码的其他类..:

package com.DataStorage.Excercise;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class AccessingDB extends SQLiteOpenHelper {

    public AccessingDB(Context context) {
        super(context, "Test_1", null, 1);
        // TODO Auto-generated constructor stub
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub

        db.execSQL(CreateTable());
        db.execSQL(Insert_1());

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

    /*
    public String CreateDB_1(){

        String s1= "create database Test_1;";
            return s1;
    }
    */

    private String CreateTable(){

        String s2="create table Customer(id_1 INTEGER,fn TEXT,ln TEXt);";
        return s2;
    }

    private String Insert_1(){

        String s3="insert into Customer values(1,'aaa','bbb');";
        return s3;

    }

}

非常感谢...

【问题讨论】:

标签: android sql database


【解决方案1】:

如果您在 MainActivity 中调用数据库,您不能只在其他 Activity 中调用 MainActivity,然后使用 Main 调用数据库吗?像这样:

在您的 MainActivity 中:

Database db;

在您的其他活动中:

MainActivity main;

main.db.somequery; //call the method you want

还是我理解错了,你需要别的东西?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2011-10-18
    • 1970-01-01
    • 2012-06-28
    • 2012-04-26
    • 1970-01-01
    相关资源
    最近更新 更多