如何在Android中结合使用PhoneGap和Dojo Mobile

 我来答
茶达人
2016-02-01 · TA获得超过3048个赞
知道大有可为答主
回答量:3838
采纳率:66%
帮助的人:244万
展开全部
  在编写本文时,Dojo 的最新的稳定版本是 1.6.1。要立即开始使用 Dojo Mobile 1.7,则需要从一个 Subversion
存储库中下载 Dojo Toolkit 最新的版本。svn 命令行工具通常已预先安装在 Mac OS X 和 Linux® 操作系统上。如果使用
Windows®,那么您可能需要先下载和安装这些工具。有关的更多信息,请访问 Subversion 站点。

  假设您已经安装了 Subversion,并且正在使用基于命令行的工具,那么您可使用以下命令迁出最新的 Dojo 版本。该命令会下载完整的 Dojo
Toolkit 源代码,所以预计会花一段时间。

  ?1svn checkout http://svn.dojotoolkit.org/src/view/anon/all/trunk
dojo-toolkit-readonly

  当完成迁出后,您将在一个名为 dojo-toolkit-readonly 的新目录中拥有 Dojo Toolkit
的完整源代码。将此目录复制或移动到您 Web 服务器上的一个位置,以便您能够在 HTML 文档中使用它。将它重命名为更短的名称,比如
dojo-toolkit,然后就可以开始使用 Dojo 了。

  如果愿意的话,可以仅下载您想要的 Dojo Toolkit 部分。一些人发现首先下载完整版本,然后丢弃不需要的部分更容易一些。Dojo
的源代码没有压缩且比较大,所以不建议在生产应用程序中使用它。

  清单 1 给出了 Dojo 应用程序的基本结构。Dojo Mobile 1.7
中新增了deviceTheme类,它将自动确定要为您使用的设备加载的准确主题。您无需检测用户的浏览器并提供相关的 CSS 文件。

  当完成迁出后,您将在一个名为 dojo-toolkit-readonly 的新目录中拥有 Dojo Toolkit
的完整源代码。将此目录复制或移动到您 Web 服务器上的一个位置,以便您能够在 HTML 文档中使用它。将它重命名为更短的名称,比如
dojo-toolkit,然后就可以开始使用 Dojo 了。 如果愿意的话,可以仅下载您想要的 Dojo Toolkit
部分。一些人发现首先下载完整版本,然后丢弃不需要的部分更容易一些。Dojo 的源代码没有压缩且比较大,所以不建议在生产应用程序中使用它。请参阅
参考资料,了解有关创建自定义 Dojo 构建版本来提升 Dojo 应用程序性能的信息。

  清单 1 给出了 Dojo 应用程序的基本结构。

  如果将清单 1 中的代码保存到文件中,在 Web
浏览器中打开此文件,将会看到一个灰色背景,再没有任何内容。这没什么用,所以让我们在应用程序中添加一些内容。本文中的示例使用了非标准的 Dojo Mobile
类,所以需要用dojo.require加载它们。在dojo.require("dojox.mobile");行的后面,添加清单 2 所示的代码。

  人工加载 Dojo Mobile 类

  6dojo.require("dojox.mobile.ScrollableView");

  dojo.require("dojox.mobile.SwapView");

  dojo.require("dojox.mobile.IconContainer");

  dojo.require("dojox.mobile.Button");

  dojo.require("dojox.mobile.SpinWheelDatePicker");

  dojo.require("dojox.mobile.SpinWheelTimePicker");

  现在,可以添加 "Hello World" 应用程序的主要代码。本文中的示例使用了 Dojo Mobile 的声明式语法,这意味着要使用带特殊
Dojo Mobile 属性的常规 HTML 标记,在运行时解析 Dojo Mobile 属性。在代码的部分中,添加清单 3 中的代码。

  Hello, World!

  First Section

  This is a nice standard rounded rectangular label.

  Second Section

  List Item 1

  List Item 2

  List Item 3

  List Item 4

  List Item 5

  上述代码定义了一个ScrollableView,它构成主要的应用程序界面。标准的View类与ScrollableView类之间的主要差异是:标准的View使用标准的浏览器机制来滚动页面。ScrollableView类有自己的滚动机制,可以像原生应用程序一样固定应用程序中的页眉和页脚,滚动它们之间的内容。

  在ScrollableView中有一个Heading,它是包含文本 “Hello, World”
的标题栏。通过在这个对象上设置属性fixed="top",Dojo Mobile
会将这个标题一直留在屏幕顶部,滚动它下面的其他内容。RoundRectCategory对象为圆形的列表或单一列表项定义了一个组标题。第一个类别后面是一个RoundRect框,其中包含一些静态文本。然后是另一个类别标题和RoundRectList对象,该对象包含一系列ListItem对象。
匿名用户
2015-03-24
展开全部
  无论您走到哪里,都能看到人们使用移动设备与亲朋进行联系,比如照张照片发布到社交网站上,查找饭店地址,或者查看最新的新闻标题。移动设备的外形和款式各式各样。移动电话可以运行各种不同的操作系统,比如 Apple 的 iOS、Google 的 Android 以及 Research In Motion 的 Blackberry。有些移动设备拥有较大的显示屏和物理键盘,可运行于 3G、4G 或 WiFi 网络之上。移动电话可能还有加速、位置甚至付款传感器。有些设备甚至不是电话;它们可能是拥有大显示屏并且只能传输数据的网络连接的平板电脑。
  尽管外形上千差万别,但各种移动设备有一个共同点:它们都可以运行移动应用程序。移动应用程序可以划分为两种类型:
  原生应用程序
  原生应用程序是一些二进制可执行程序,它们安装在设备上,通过软件开发工具包 (SDK) 创建,由应用程序商店分发。每个移动操作系统都有一个 SDK,遗憾的是,每个操作系统的 SDK 都不相同。
  例如,要为 iOS 创建一个应用程序,则必须下载并安装 iOS SDK 和开发工具,必须使用 Objective-C 编程语言进行应用程序编码。Android 应用程序通过 Android SDK 开发,使用 Java 语言编写。因此,要创建一个移动应用程序,则必须了解每个 SDK 并使用支持的编程语言编写应用程序。每个平台的 SDK 都有一个陡峭的学习曲线,因此移动应用程序开发非常复杂。
  Web 应用程序
  Web 应用程序用于载入移动 Web 浏览器,它们与原生应用程序的区别在于:无论设备采用哪种操作系统,它们都通过 Web 技术(HTML、JavaScript 和 CSS)进行编码。没有必要针对每个设备学习不同的编程语言。Web 开发人员对 HTML 和 JavaScript 应该很熟悉,因为经常使用它们创建加载到桌面浏览器中的网页。多数情况下,移动浏览器能呈现相同的网页,但(由于移动设备屏幕较小,网络连接较慢)网站通常提供一个移动版本,该版本内容较少,加载速度更快。
  要 “运行” 一个 Web 应用程序,用户可以在移动 Web 浏览器中输入一个 URL。这将载入一个网页,该网页是一个 Web 应用程序的入口点。Web 应用程序不通过应用程序商店分发;它们只是一些链接,可以包含在其他网页、电子邮件甚至硬拷贝中。
  原生应用程序和 Web 应用程序都有各自的优缺点,关于哪个更好用的争论很多。为了解决这种争执,开发了一种新的混合 应用程序,试图用它来结合原生应用程序和 Web 应用程序的优点。
  与 Web 应用程序一样,混合应用程序通过 Web 技术编写,但被打包为原生应用程序。混合应用程序可以通过许多开发人员都熟悉的编程语言编写,只需编写一次即可用于多种设备操作系统。由于混合应用程序确实是原生应用程序,因此用户能从 Web 应用程序当前不可用的 JavaScript 访问设备功能。与原生应用程序一样,混合应用程序也能通过应用程序商店分发和安装。
  PhoneGap 是一个流行的混合应用程序构建工具包。它是一个开源移动框架,包含一个 JavaScript API,用于访问加速仪和相机等设备功能。
  本文将展示如何使用 PhoneGap 和 Dojo Mobile 工具包开发一个混合移动 Android 应用程序。了解如何使用 Android 模拟器和工具来测试应用程序,查看如何在 Android 设备或平板电脑上运行您的应用程序。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b5e2cc70
2016-01-21 · 知道合伙人生活技巧行家
百度网友b5e2cc70
知道合伙人生活技巧行家
采纳数:276 获赞数:2113
2015年5月在一家木地板公司实习,在实习期间给公司带来了很不错的业绩,目前每月营业额高达20万。

向TA提问 私信TA
展开全部
这个问题有两个解决办法,第一用android在mainActiviy中写一段,第二用phonegap的自带接口 一、核心是方法System.exit(0);,因为finish()啥的都不能用 public class MainActivity extends DroidGap {@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setIntegerProperty(loadUrlTimeoutValue, 60000); super.loadUrl(file:///android_asset/www/index.html);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { promptExit(this); return true;}return super.onKeyDown(keyCode, event);}public static void promptExit(final Context con) { LayoutInflater li = LayoutInflater.from(con); View exitV = li.inflate(R.layout.exitdialog, null); AlertDialog.Builder ab = new AlertDialog.Builder(con); ab.setView(exitV);// 设定对话框显示的View对象 ab.setPositiveButton(退出, new OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub System.exit(0);}});ab.setNegativeButton(取消, null); // 显示对话框ab.show();}}二 在js中写 //添加回退按钮事件 document.addEventListener(backbutton,onBackKeyDown,false); //BackButton按钮 function onBackKeyDown(){ if($.mobile.activePage.is('#homepage')){
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
挠心a
2015-12-28
知道答主
回答量:19
采纳率:0%
帮助的人:12.9万
展开全部
不涉及系统API和phonegap特定api的可以直接在PC中的chrome下调试,比较方便,调试成功后使用phonegap打包再到Android环境下测试.涉及到chrome不提供的api的,建议编写一些简单的桩模块来模拟,毕竟直接调试Android程序比调试html&js要麻烦很多.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式