针对多屏应用的架构建议

时间:2013-06-30 17:54:15

标签: android tablet

我想获得一些关于架构选择的建议,以开发一个显示多个屏幕的Android应用程序。

该应用程序的目标是以图形方式呈现辅助表单输入。该应用将用于平板电脑。

例如,将有第一个屏幕欢迎用户并要求开始填写表单。然后,将显示另一个屏幕以辅助方式输入日期。接下来,另一个屏幕显示其他信息,等等。

总共会有十几个屏幕,最后,所有信息都将在服务器上发送,用户可以随时返回上一屏幕编辑他的答案。

我已经练习过Android开发,但我从来没有机会参与实际项目,特别是在那么多屏幕上。

所以我的问题是:

  • 我是否需要通过屏幕使用一项活动?不然,什么 我应该使用结构/架构吗?
  • 使用SQLite是个好主意 在填写表格时保存信息?

先谢谢了, 的Valentin

[编辑] - 我还想在更换屏幕时显示动画

2 个答案:

答案 0 :(得分:1)

首先,确保您使用一个屏幕编码一个活动。这是自Android优化活动以来而不是视图的最佳方式。您的后台功能,未来的可支持性都取决于良好的Android编码。使用你的java语法技能和非活动模式(对于非机器人的基本构造意图,广播监听器.....)。但是使用Android的基本规则和结构来利用所有优化和功能以及客户行为习惯。

关联drawable时,请记住以下几点。

  • 您拥有的可绘制文件夹越多,您将拥有更多的噩梦。只需保留2个drawable和drawable-hdpi。
  • 如果从mdpi的设备加载,android会使用位图和大量内存来调整drawable的大小。如果你陷入这个OOM陷阱,只需将所有可绘制文件复制到ldpi,mdpi。并将所有hpdi复制到xhpdi文件夹。这将避免任何Android自动调整大小
  • 尽可能使用SharedPreferences而不是sqlite。

这是一个很长的答案。简短的回答是,坚持使用基础知识,并保持简单。

编辑:

在Android中更改屏幕时的动画非常简单。例如,您想要在回滚活动时更改动画,您需要使用overridePendingTransition,带有2个参数,1表示当前屏幕的动画,2表示新屏幕的动画。因此,当前屏幕可能会从0 x向右移动到100 x,新屏幕将从-100 x移动到0 x。使用相同的延迟给它一种拉力感。希望这能回答这个问题。如有任何疑问,请创建一个新问题。感谢。

@Override
public void onBackPressed() {
    finish();
    //go back to the previous Activity
    overridePendingTransition(R.anim.comming_in, R.anim.comming_out);   
}

答案 1 :(得分:0)

我使用碎片,然后在屏幕之间滑动

查看Effective Navigation