【问题标题】:Architecture advice for multi-screens app多屏应用的架构建议
【发布时间】:2013-06-30 17:54:14
【问题描述】:

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

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

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

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

我已经练习过 Android 开发,但我从未有机会从事实际项目,尤其是有这么多屏幕的项目。

所以我的问题是:

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

提前致谢, 瓦伦丁

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

【问题讨论】:

    标签: android tablet


    【解决方案1】:

    首先,请确保您使用一屏一活动进行编码。这是最好的方式,因为 Android 优化的是活动,而不是视图。您的背部功能、未来的可支持性都取决于良好的 Android 编码。将您的 java 语法技能和模式用于非 Activity(就此而言,非 android 基本构造意图、广播侦听器......)。但是使用 Android 的基本规则和构造来利用所有优化和功能以及客户行为习惯。

    在关联可绘制对象时,请记住以下几点。

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

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

    编辑:

    在 Android 中切换屏幕时的动画非常简单。比如你想改变回滚activity的动画,你需要使用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);   
    }
    

    【讨论】:

    • 感谢您的准确回答!我只是编辑我的问题,因为我忘了提到我想在更改屏幕时显示动画。你说的方法可以吗?
    • 有点跑题了,但如果你想在换屏时看到很酷的动画,试试 News Republic 或 Flipboard 应用程序。
    • 感谢关于动画的编辑! :) 可以肯定的是,当您说当前屏幕/新屏幕时,您是指活动吗?
    【解决方案2】:

    我会使用 Fragments,并在屏幕之间滑动

    看看Effective Navigation

    【讨论】:

    • 谢谢,我去看看;)
    • 我也建议使用片段。牢记安卓的黄金法则。您的活动可以随时销毁和重新创建。确保你抓住所有这些情况。在一个 Activity 中使用多个 Fragment 时需要处理更多。
    猜你喜欢
    • 2012-08-04
    • 2012-04-10
    • 1970-01-01
    • 2012-03-01
    • 2011-06-01
    • 2016-03-19
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多