5

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

它将按如下方式工作。

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

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

问候, Kariyachan

4

2 回答 2

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)

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

于 2015-03-27T19:02:32.827 回答
0

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

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

我建议选项#2 来完成你的任务。

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

  • 首先构建基于 Web 的响应式应用程序意味着您可以使用一个程序(桌面 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/响应式网页设计指南/

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

安卓网页视图:

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

希望这可以帮助。

于 2015-03-27T18:51:00.337 回答