-3

我问这个是因为在阅读之后,android 依赖于组件,这就是他们从中删除方法的原因,但是我们是否可以通过在一个地方main()添加而不是在我们需要互联网时创建程序。main()

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

4

2 回答 2

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);或没有内容视图。

于 2013-02-28T08:46:55.203 回答
0

main() 方法只是许多语言的入口点,就像 java android 需要一些入口点来启动应用程序(第一个屏幕),在 android 中,我们将使用 Intent Filter 在 android 清单文件中指定必须启动哪个活动

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

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

于 2013-02-28T09:00:42.037 回答