这为我的应用设置有意义吗?

Kar*_*ssa 5 android

首先,我对任何类型的编码都是全新的.我开始尝试使用App Inventor制作应用程序,但它变得太大了,无法完全按照我想要的那样做.所以现在我试图从头开始.

我想我已经弄明白了,但我想检查一下,看看这是否有意义,然后才能完成整个事情.

我的目标是一个带有一堆按钮的主屏幕.每个按钮都会带您进入一组方向,这些方向是您可以翻阅的一系列图片和文字.

我的想法是为主屏幕制作一个活动,为每组方向制作一个活动.在主要的一个,我放了一个包含所有按钮的表格布局.每个方向集都是它自己的活动,有一个视图鳍状肢可以浏览所有的图片/文字.

那有意义吗?有没有更好的方法来做到这一点还是这样好?谢谢!

Nic*_*ion 1

听起来好像有两个活动。您的主要活动包含一组按钮,第二个活动显示一组说明和图像。只需构建您的活动,以便根据它从主应用程序启动的方式读取要显示的信息。

编辑:详细信息

老实说,这是一个相当广泛的软件设计问题。您希望将显示内容与显示方式分开。

我将把您的内容宽松地称为页面(文本和图像)。这就是我们谈论您的应用程序数据时的内容。您想要做的是将其进一步定义为类似对象的东西:

public class PageData implements Serializable {
   String imageUrl;
   String description;
}

public class Book implements Serializable {
  ArrayList<PageData> swipeablePages;
}
Run Code Online (Sandbox Code Playgroud)

当您调用 Activity 来显示一组页面时,您会将 Book 作为附加内容传递给意图。然后,您的活动通常会被编写为仅显示发送给它的任何书籍。这大大减少了您拥有的不同活动的数量,因为现在,您不再需要让您的活动说“我是鹅妈妈童谣”……相反,它只是说“我可以展示您扔给我的任何书”并且您的主要活动现在可以有一个包含 30 本书的书架。主要活动创建书籍并显示索引,您的第二个活动显示并允许用户与书籍进行交互。

天空确实是极限。假设您在 Android 上创造了有史以来最有趣的读书体验。您现在可以将您的意图发布为“content:mybookdisplayer”,并向其他开发人员解释书籍应该是什么样子。然后其他开发人员可以使用您的图书查看器并对您的作品大加赞扬!您甚至可以在您的图书查看器中嵌入一个附加功能并赚取数百万美元:)无论如何,这一切都始于区分“内容”和“如何”。如果你把这种分离程度降低,我想你会发现你的代码更可重用并且更容易维护。