java如何在安卓中运行main
大家好,我正在编写一个简单的应用程序来训练我的内容提供商技能。所以我写了一个契约类,它指定了所有数据的所有元数据
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项目。所以我的问题很简单,在这种情况下你建议怎么做,我的意思是,除了复制所有的类并将它们传递给其他项目之外,我很确定对于这些东西有一个标准的解决方案,一些单元测试或者其他什么
谢谢:)
# 1 楼答案
与纯java应用程序不同,Android应用程序不会调用main()作为起点,而是调用顶级活动的onCreate()方法。此活动需要通过定义该活动的清单部分中的
<action android:name="android.intent.action.MAIN" />
按名称指定为此,您将创建一个继承自activity的类,将当前main方法中的代码添加到onCreate()方法中,并从中访问当前拥有的类
此外,还有很多关于android如何处理活动的生命周期以及其中的方法调用的内容。我建议this link作为研究android代码如何运行的起点
# 2 楼答案
Android与main方法的等价物是活动中的onCreate()(以及几乎所有其他地方)