首先,我对任何类型的编码都是全新的。我开始尝试使用App Inventor制作应用程序,但它变得太大了,无法完全按照我想要的那样做。所以现在我试图从头开始。
我想我已经把事情搞清楚了,但我想检查一下,看看这是否有意义,然后才能完成整个事情。
我的目标是一个带有一堆按钮的主屏幕。每个按钮都会带您进入一组方向,这些方向是您可以翻阅的一系列图片和文字。
我在想的是为主屏幕制作一个活动,为每组方向制作一个活动。在主要的一个,我放了一个包含所有按钮的表格布局。每个方向集都是它自己的活动,有一个视图鳍状肢可以浏览所有的图片/文字。
这有意义吗?有没有更好的方法来做到这一点还是这样好?谢谢!
答案 0 :(得分:1)
听起来有两项活动。您使用按钮组的主要活动和显示一组说明和图像的第二个活动。只需构建您的活动,根据它从主应用程序启动的方式,它将读取要显示的信息。
编辑:详情
老实说,这是一个非常广泛的软件设计问题。您希望将显示的内容与显示它的 分开。
我将松散地将您的内容称为页面(文本和图像)。当我们谈论您的应用程序数据时,这是 what 。你想要做的是进一步将其定义为对象:
public class PageData implements Serializable {
String imageUrl;
String description;
}
public class Book implements Serializable {
ArrayList<PageData> swipeablePages;
}
当您调用Activity来显示一组页面时,您将把Book作为额外的内容传递给intent。然后,您的活动将被一般性地写入,以显示发送给它的任何书籍。这大大减少了你所拥有的不同活动的数量,因为现在,你不再需要让你的活动说'我是母鹅童谣'......而是只是说“我可以显示你向我扔的任何书”和您的主要活动现在可以有30本书的书架。主要活动创建书籍并显示索引,您的第二个活动显示并允许用户与书籍互动。
天空真是极限。让我们说你在android上创造了最有趣的书籍体验。您现在可以将您的意图发布为“content:mybookdisplayer”,并向其他开发人员解释应该是什么样的书。然后其他开发人员可以使用您的书籍阅读器,并为您的工作堆积赞美!你甚至可以在你的书籍阅读器上嵌入一个添加物并赚取数百万美元:)无论如何,这一切都始于将什么与如何分开。如果你得到这种分离,我认为你会发现你的代码更容易重用,更容易维护。
答案 1 :(得分:1)
您的方法很有意义,但可以改进。从初学者的角度来看,为每个不同的方向设置单独的活动似乎更容易。
将来你可以将其分解为两个活动。第一个如您所述,但第二个会有所不同。
第二个活动将包含翻阅数据的代码,但数据本身会有所不同。你可以使用一种名为extras的东西。见Common Tasks and How to Do Them in Android - Some Intent examples
您使用可用于识别用户按下哪个按钮的数据启动第二个意图/活动,并在第二个活动中读取此值。
您必须在每个方向集的第二个活动中创建数组,然后根据用户选择的选项,将这些数组中的数据应用于用户显示/视图。
然而,对于初学者来说,你的想法似乎很完美。习惯新环境和工具,然后开始研究更高级的方法。