1

大家好,我正在编写简单的应用程序来训练我的 ContentProvider 技能。所以我编写了 Contract 类,它为她的所有故事指定了所有元数据

public class StoreContract {

public static String AUTHORITY = "com.ura.store.intentProvider";
public static String DATABASE_NAME = "Store.db";

public static class Customer{
    public static final String TABLE_NAME ="tblCustomers";
    public static final String COLUMN_AUTO_ID = "_id";
    public static final String COLUMN_NAME="First Name";
    public static final String COLUMN_LAST_NAME = "Last name";
    public static final String COLUMN_PHONE_NUMBER = "Phone number";

    public static final String CREAT_STRING = "create table "+TABLE_NAME+
            " ( "+COLUMN_AUTO_ID+" INTEGER PRIMARY KEY AUTOINCREMENT , "
            +COLUMN_NAME+" TEXT , "
            +COLUMN_LAST_NAME+" TEXT , "
            +COLUMN_PHONE_NUMBER+" TEXT);"; 
}

static class Seller{
    public static final String TABLE_NAME = "tblEmployes";
    public static final String COLUMN_AUTO_ID = "_id";
    public static final String COLUMN_NAME="First Name";
    public static final String COLUMN_LAST_NAME = "Last name";
    public static final String COLUMN_EMPLOY_TYPE = "Type";
    public static final String CREAT_STRING = "create table "+TABLE_NAME+
            " ( "+COLUMN_AUTO_ID+" INTEGER PRIMARY KEY AUTOINCREMENT , "
            +COLUMN_NAME+" TEXT , "
            +COLUMN_LAST_NAME+" TEXT , "
            +COLUMN_EMPLOY_TYPE+" TEXT);"; 

}

static class Buy{
    public static final String TABLE_NAME = "tblBuys";
    public static final String COLUMN_AUTO_ID = "_id";
    public static final String COLUMN_CUSTOMER_ID = "Customer";
    public static final String COLUMN_SELLER_ID = "Seller";
    public static final String COLUMN_INFO = "Info";
    public static final String COLUMN_PRICE = "Price";
    public static final String CREAT_STRING = "create table "+TABLE_NAME+
            " ( "+COLUMN_AUTO_ID+" INTEGER PRIMARY KEY AUTOINCREMENT , "
            +COLUMN_CUSTOMER_ID+" TEXT, "
            +COLUMN_SELLER_ID+" TEXT , "
            +COLUMN_INFO+" TEXT "
            +COLUMN_PRICE+" REAL"
            +"FOREIGN KEY("+COLUMN_CUSTOMER_ID+") REFERENCES "+Customer.TABLE_NAME+"("+Customer.COLUMN_AUTO_ID+")"
            +"FOREIGN_KEY("+COLUMN_SELLER_ID+") REFERENCES "+Seller.COLUMN_AUTO_ID+"("+Seller.COLUMN_AUTO_ID+")";
}

public static void main(String []args){
    System.out.println(StoreContract.Customer.CREAT_STRING);
}

请注意我写它的主要方法,看看我的表创建字符串的样子当然该方法不起作用可能是因为它是 Android 项目。所以我的问题很简单,在这种情况下你建议做什么我的意思是一个例外将所有类复制并传递到其他项目中,我很确定这些东西有一个标准的解决方案,一些单元测试或其他东西。
感谢 :)

4

2 回答 2

4

与 Android 等效的 main 方法是活动中的onCreate()(以及几乎所有其他地方)

于 2012-08-03T16:16:45.900 回答
3

与纯 java 应用程序不同,Android 应用程序不会调用 main() 作为它们的起点,而是调用其顶级活动的 onCreate() 方法。该活动需要<action android:name="android.intent.action.MAIN" />在定义该活动的清单部分中按名称指定。

为此,您将创建一个从活动继承的类,在 onCreate() 方法中添加当前 main 方法的代码,然后从那里访问您当前拥有的类。

此外,还有更多关于 android 如何处理活动的生命周期以及其中的方法调用。我推荐这个链接作为研究 android 代码如何运行的起点。

于 2012-08-03T16:21:19.427 回答