如何为平板电脑和移动设备创建应用程序

时间:2011-04-30 03:52:40

标签: android user-interface tablet

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

它的工作原理如下。

  1. 对于移动设备,此应用程序将使用小UI
  2. 对于使用蜂巢以外的平板电脑使用不同的UI,使用更大的屏幕
  3. 由Honeycomb驱动的平板电脑将具有支持其特殊功能的不同UI
  4. 我怎么能这样做。如果我错了,请更正我。

    此致 Kariyachan

2 个答案:

答案 0 :(得分:1)

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

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

第二次尝试是创建不同的布局。不同的foldernames有一个很好的备忘单:

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)

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

答案 1 :(得分:0)

有几种方法可以实现这一目标。从根本上说,基本上有两种方法可以启动应用程序:

  1. 使用操作系统语言构建本机应用程序(iOS =目标C, Android = Java等)(或)
  2. 构建一个基于Web的应用程序,该应用程序使用适合任何设备大小的响应式前端,并将其作为Webview提交到应用商店(利用PhoneGap等技术)
  3. 我建议选项#2来完成你的任务。

    只有一个问题 - 如果您不是传统的网络开发人员,那么选择可能并不容易。我的背景是构建应用程序的UI /设计方面,我的大部分经验都在Web应用程序中。这就是为什么我建议选项#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 Webview:

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

    iOS Webview:

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

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

    希望这有帮助。