【问题标题】:How to Create an application for both tablet and mobile如何为平板电脑和移动设备创建应用程序
【发布时间】:2011-04-30 03:52:39
【问题描述】:

我想创建一个支持移动和平板电脑版本的 android 设备的应用程序。我喜欢将一个 apk 文件上传到 android 市场来实现。

它的工作原理如下。

  1. 对于移动设备,此应用程序适用于小型 UI
  2. 对于使用蜂巢以外的平板电脑,使用不同的 UI,使用更大的屏幕
  3. 由 Honeycomb 提供支持的平板电脑将具有支持其特殊功能的不同 UI

我该怎么做。如果我错了,请纠正我。

问候, 刽子手

【问题讨论】:

  • 嗨,你知道怎么做吗?你能把我链接到一些帮助你实现的教程吗?

标签: android user-interface tablet


【解决方案1】:

有几种方法可以做到这一点。

首先您可以创建不同的值文件夹。每个文件夹可能具有用于多种尺寸的尺寸。

第二次尝试是创建不同的布局。对于不同的文件夹名称,有一个很好的备忘单:

http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/

然后您可以为不同的屏幕尺寸添加多个可绘制文件。

另一种有用的方法是使用片段。例如,一部手机将有 2 个带有列表和内容的活动,而平板电脑只有一个显示列表和内容的活动。

您可以在以下位置查看所有可能的文件夹 http://developer.android.com/guide/practices/screens_support.html

另一种方法是创建多个定义哪些设备(分辨率)可以使用您的应用。

您可以在清单中定义它:

<compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>

<supports-screens android:smallScreens="false"
                  android:normalScreens="false"
                  android:largeScreens="true"
                  android:xlargeScreens="true"
                  android:requiresSmallestWidthDp="600" />

这是一个使用片段的好示例:

http://developer.android.com/guide/components/fragments.html

下面列出了所有可能的文件夹定义

http://developer.android.com/guide/topics/resources/providing-resources.html

例如:

 layout-sw320p
 values-h720dp (screen must be higher then 720dp)

然后创建一个具有不同分辨率、颜色等的维度文件。

【讨论】:

    【解决方案2】:

    有几种方法可以做到这一点。从根本上说,启动应用的方式基本上有两种:

    1. 使用 OS 语言(iOS = 目标 C, Android = Java 等)(或)
    2. 构建一个基于 Web 的应用程序,该应用程序使用可适应任何设备尺寸的响应式前端,并将其作为 Web 视图提交到应用商店(利用 PhoneGap 等技术)

    我建议使用选项 #2 来完成您的任务。

    只有一个问题 - 如果您不是传统的网络开发人员,那么选择它可能不是那么容易。我的背景是构建应用程序的 UI/设计方面,我的大部分经验都在网络应用程序中。这就是我建议选项 #2 的原因:

    • 构建基于 Web 的响应式应用程序首先意味着您可以使用一个程序在所有平台上启动(桌面网络、平板电脑、iOS (Webview)、Android (Webview) ) 等。
    • 您一开始只需要维护一个平台(相对于每个原生平台)
    • 您可以使用分析程序来了解哪个平台在应用程序中的吸引力最大,然后决定为本地构建哪个平台(即 Google Analytics(免费)http://google.com/analytics、Kiss Metrics(付费)http://kissmetrics.com 等)
    • 您甚至可以使用 PhoneGap (http://phonegap.com/) 之类的程序在 Webview 应用程序中使用本机电话功能

    如果您不熟悉响应式设计,这里有一些资源: http://johnpolacek.github.io/scrolldeck.js/decks/responsive/ http://www.smashingmagazine.com/2011/01/12/guidelines-for-responsive-web-design/

    以下是有关 Android 版 Webview 应用程序的一些信息:

    Android 网页视图:

    网络应用程序:http://developer.android.com/guide/webapps/index.html 在 Webview 中构建 Web 应用程序:http://developer.android.com/guide/webapps/webview.html

    iOS 网页视图:

    Apple 允许 Webview 应用,但必须能够离线使用:https://forum.jquery.com/topic/apple-store-reject-webview-based-jquery-mobile-aplication

    现在,Webview 应用程序并不总是适用于每种类型的应用程序的可行/最佳选择。例如,如果您想制作一个点对点消息传递应用程序,这可能会起作用,因为它们(通常)是相当轻量级的程序,不需要设备和服务器之间的太多带宽。但是对于像照片共享应用程序这样的东西,几乎不可能通过网络传递图像大小的文件(以及数千个文件)以显示在设备上。在这种情况下,利用本地存储的原生应用可能是更好的选择。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 2014-06-26
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多