为什么android中没有main()方法

时间:2013-02-28 08:36:14

标签: android

我问这个是因为在阅读之后,android依赖于组件,这就是为什么他们已经删除了main()方法,但是我们不能通过在一个地方添加main()来创建一个程序需要上网。

我们可以放置另一个 Internet的main()方法并暂停以前的主要方法吗?

2 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml中,你需要一个LAUNCHER活动,还有2个用于网络,没有网络,如:

    <activity
        android:name="your.package.StartActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name="your.package.NetworkActivity" >
    </activity>

    <activity
        android:name="your.package.NoNetworkActivity" >
    </activity>

在StartActivity.java上检查连接,然后选择要启动的活动:

 public class StartActivity extends Activity {
     //...


     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

         // here do the job!!!
         boolean iAmConnected = checkNetwork(); // you need to implement that
         if(iAmConnected) {
           // start network activity
           Intent intent = new Intent(this, NetworkActivity.class);
           startActivity(intent);

         } else  {
           // start no network activity
           Intent intent = new Intent(this, NoNetworkActivity.class);
           startActivity(intent);
         }

     }

    //...
 }

StartActivity可以有setContentView(R.layout.a_splash_screen);或没有内容视图。

答案 1 :(得分:0)

main()方法只是许多语言的入口点,同样像java android期望一些入口点启动Application(第一个屏幕),在android中我们将使用Intent Filter指定哪些活动必须在android manifest文件中启动             

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter> 

当活动开始时(第一个屏幕对用户可见),它将调用onCreate(Bundle b)方法...活动生命周期方法