首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android重用代码和布局的最佳实践

Android重用代码和布局的最佳实践
EN

Stack Overflow用户
提问于 2017-03-31 18:38:02
回答 1查看 1.2K关注 0票数 0

我一直在阅读xml上的包含标记、智能手机和平板电脑布局中使用的片段,但我比找到解决问题的方法更让人困惑。

我的应用程序有4个屏幕。

1-您登录并从json下载信息。

2,3,4 -从登录,活动2加载(带有自定义适配器的列表),您可以单击其中的2个图像之一跳转到第3和第4活动。

现在,我需要在解析不同JSON的情况下再次创建活动1、2和3,其中1和2具有与现有JSON相同的布局,3具有不同的布局。

对于这些活动,我需要的代码(或者可以是相同的代码)(使用AsyncTask下载任务、按钮单击侦听器等等)是相同的。

例如,我认为复制基本相同的getView方法并粘贴到新类上不是goot,对吗?例如,按钮不能在第二个屏幕上工作。

那么,我应该采取什么方法,而不是复制和粘贴代码并手动更改呢?

对新手的问题很抱歉。

如果需要的话我可以提供代码。

PS 1:我已经做过包含xml和复制代码的测试,但这看起来并不专业

PS 2:碎片是只适用于不同的屏幕,如平板电脑,还是我可以用它做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-31 19:38:11

这是几个问题,以下是几个答案,包括一些未问到的问题:

  • 尽最大可能从您的活动、片段等中删除尽可能多的代码。如果它与Android生命周期无关,或者实际上在屏幕上放置一些东西(例如解析JSON),则将其放入“普通的旧java”类中。此外,通过这种方式,您可以在活动之间共享功能。
  • IMHO,您不应该使用AsyncTask,无论什么原因。它们与活动或片段一起使用,但不尊重片段或活动生命周期,因此通常是导致难以诊断的崩溃的原因。使用与生命周期同步的东西,比如装载机。或者使用RxJava路由,在该路径中,可以在活动/片段生命周期的适当点取消订阅者。
  • 片段可以用于代码重用,但它们的生命周期与活动略有不同,因此很难使用它们,所以要谨慎使用它们。如果您这样做只是为了重用一些UI (但不是行为),那么布局"include“可能会更好。对于行为,自定义视图类可以很好地替代片段。
  • 不要自己进行HTTP / REST访问,使用像HTTPUrlConnection这样的原语。有很多弯道的案子会给你带来麻烦。使用为此目的构建的几个非常好的开源库中的一个。我强烈建议你重新装修。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43147516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档