如何在android中运行main

时间:2012-08-03 16:13:50

标签: java android

大家好我正在写一个简单的应用程序来训练我的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项目。所以我的问题很简单你在这种情况下建议做什么我意思是除了复制并将所有课程传递到其他项目之外我很确定这个东西有一个标准的解决方案,可以进行一些单元测试。 谢谢:))

2 个答案:

答案 0 :(得分:4)

主要方法的Android等价物是活动中的onCreate()(几乎在其他任何地方)

答案 1 :(得分:3)

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

要解决这个问题,你可以创建一个继承自activity的类,在onCreate()方法中添加当前main方法中的代码,然后从那里访问你当前的类。

此外,android如何处理活动的生命周期以及方法调用它们还有很多。我建议以this link为起点来研究android代码的运行方式。