有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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项目。所以我的问题很简单,在这种情况下你建议怎么做,我的意思是,除了复制所有的类并将它们传递给其他项目之外,我很确定对于这些东西有一个标准的解决方案,一些单元测试或者其他什么
谢谢:)


共 (2) 个答案

  1. # 1 楼答案

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

    为此,您将创建一个继承自activity的类,将当前main方法中的代码添加到onCreate()方法中,并从中访问当前拥有的类

    此外,还有很多关于android如何处理活动的生命周期以及其中的方法调用的内容。我建议this link作为研究android代码如何运行的起点

  2. # 2 楼答案

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