具体来说,人们遵循什么样的约定?如果我使用多个屏幕构建程序,是否为每个屏幕创建一个活动?如何正确构建Android应用程序?
如果我想在活动之间正确导航,我是否坚持每个活动的意图?我想尽可能使此代码干净和高效
具体来说,人们遵循什么样的约定?如果我使用多个屏幕构建程序,是否为每个屏幕创建一个活动?如何正确构建Android应用程序?
如果我想在活动之间正确导航,我是否坚持每个活动的意图?我想尽可能使此代码干净和高效
总之:是的。
尽管您可以通过在单个Activity内动态更改UI来解决此问题,但是android建议应将每个应用程序的“活动”编码到单独的Activity类中。
在android推荐的方式上看到这个quite good article。
这种意图/活动设计模式具有许多优点,其中一个优点是您可以覆盖 并使用匹配的意图过滤器自行扩展其他应用程序活动。
我发现你很关心效率。请确保Activity中的Activity切换开销在android中进行了高度优化(例如,Dalvik实例总是预先分配的,可以在没有上下文切换开销的情况下处理新活动)。
简短的回答:这真的取决于你想如何布局你的应用程序。
例如,如果您想要制表符,您可以使用tabhost,这将很容易在您的活动之间切换。
如果你想自己启动活动,你可以启动活动与意图(如你在你的问题中提到)。一个例子是从Button或ListView启动意图。对于一个ListView(与OnItemClickListener),你可能有类似:
(your ListView).setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int index,
long arg3) {
Intent intent = new Intent(TheActivityYou'reLaunchingFrom.this, OtherActivityYouWishToLaunch.class);
startActivity(intent);
}
}
我提供的链接有很好的例子。当你希望结束从其他活动启动的活动时,可以调用finish(),该活动应该从不同的事件中调用(如单击按钮)。
另外请记住,您可以启动活动,希望通过使用Bundle的startActivityForResult接收已启动活动的数据。
谢谢你,你是一个绅士和学者 – volk