我如何正确地构建Android应用程序?

我如何正确地构建Android应用程序?,android,conventions,Android,Conventions,具体来说,在活动方面,一个人遵循什么样的惯例?如果我正在构建一个包含多个屏幕的程序,我是否为每个屏幕创建一个活动 如果我想在活动之间正确导航,我是否在每个活动中都坚持意图?我想让这段代码尽可能干净高效简言之:是的 尽管您可以通过在单个活动中动态更改UI来解决此问题,但android建议每个应用程序“活动”都应在单独的活动类中进行编码 请以android推荐的方式查看此内容 这种意图/活动设计模式有许多优点,其中一个优点是您可以覆盖它 并使用您自己的匹配意图过滤器扩展其他应用程序活动 我知道你很关

具体来说,在活动方面,一个人遵循什么样的惯例?如果我正在构建一个包含多个屏幕的程序,我是否为每个屏幕创建一个活动

如果我想在活动之间正确导航,我是否在每个活动中都坚持意图?我想让这段代码尽可能干净高效

简言之:是的

尽管您可以通过在单个活动中动态更改UI来解决此问题,但android建议每个应用程序“活动”都应在单独的活动类中进行编码

请以android推荐的方式查看此内容

这种意图/活动设计模式有许多优点,其中一个优点是您可以覆盖它 并使用您自己的匹配意图过滤器扩展其他应用程序活动


我知道你很关心效率。请确保android中的活动切换开销得到了高度优化(例如,Dalvik实例总是预先分配的,随时可以处理新的活动,而不会产生上下文切换开销)。

简短的回答是:这实际上取决于你想如何布置你的应用程序

例如,如果您想要有选项卡,可以使用,这将很容易为您在活动之间切换

如果您想自己启动活动,您可以启动带有意图的活动(正如您在问题中提到的)。例如,从按钮或列表视图启动意图。对于具有的ListView,您可能有以下内容:

(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);
    }
}
(您的ListView.setOnItemClickListener(新的AdapterView.OnItemClickListener()){
公共链接(AdapterView av、视图v、整数索引、,
长arg3){
Intent Intent=新的Intent(您希望重新启动的activityfrom.this、OtherActivityYouWishToLaunch.class);
星触觉(意向);
}
}
我提供的链接有很好的例子。当您希望结束从另一个活动启动的活动时,可以调用finish(),它应该从其他事件(如单击按钮)调用


还请记住,您可以启动活动,希望通过使用捆绑包的方式从已启动的活动接收数据。

哈哈,没问题。我知道它没有直接回答您的问题,但我认为它可能会让您在实施方面走上正确的轨道。