我问这个是因为在阅读之后,android依赖于组件,这就是为什么他们已经删除了main()
方法,但是我们不能通过在一个地方添加main()
来创建一个程序需要上网。
我们可以放置另一个 Internet的main()方法并暂停以前的主要方法吗?
答案 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)方法...活动生命周期方法