Dojo mobile TweetView 系列教程之五 —— TweetView: Android,打包,回顾

mobileFirst 立即下载

作者:David Walsh

翻译:Siqi (siqi.zhong@gmail.com )

原文:TweetView: Android, Packaging, and Review

 

在前两篇教程Dojo mobile TweetView 系列教程之三 —— Tweets和Mentions视图 与 Dojo mobile TweetView 系列教程之四 —— 创建 Setting 视图 中,我们创建了TweetView 移动应用程序所需的HTML, CSS和JavaScript代码。本教程将重点介绍如何实现一套Android主题,并使用Dojo的打包系统来使应用程序更紧凑,之后我们将回顾一下整个基于dojox.mobile的应用程序。

 

版本:1.6

难度:中级

系列:TweetView

实现Android主题

在本系列教程中我们在app.html页面中硬编码了一套iPhone主题的CSS样式来美化整个应用程序。这使得我们可以更快地完成整个开发,并且在应用程序功能完备后再考虑Android主题样式。现在是时候开始为我们的应用程序设计Android风格的样式了!

 

制作Android风格样式的第一步是实现一段侦测客户端设备类型并相应使用Android或iPhone主题的代码(而不是写死iphone.css)。

 

 

!为了强制你的页面使用Android模式,你可以像我们之前使用iPhone主题一样写死Android主题。

 

现在你的应用程序可以在基于Android平台的设备上加载Android主题了;如果不是Android设备,将会使用iPhone主题。但是我们可能还需要一些针对Android定制的图片。首先,我们将djConfig中的parseOnLoad设置为false:

 

 

接下来,我们将添加dojo.ready代码块来改变图片路径并手动告诉Dojo开始进行页面解析。

 

 

!注意我们使用了document.getElementsByClassName并使用dojo.forEach对其结果进行了遍历——还记得么,我们为了缩小代码大小,要避免使用dojo.query,接下来我们还会看到此类情况。

 

 

太棒了!我们简单的应用程序可以同时应对Android和iOS设备了。

 

移除防缓存Meta标签

还记得我们在开发控件时为了防止缓存而使用的META标签么?

 

 

移除上面这些,使得我们的应用程序可以正常进行缓存。

 

dojox.mobile 和打包

通常我们可以在Dojo Toolkit的 util/build目录下发现打包脚本。 但是, dojox.mobile的打包脚本被放在了dojox.mobile/build目录下。在这些"build.sh"和"build.bat"脚本中,你可以看到以下注释:

 

 

在创建你自己的Dojo发布包时,你须要打这个补丁。在你完成之后,记得把它改回来。

 

!请仔细阅读上面的注释。记得我们如何使用一个自定义方法, _ViewMixin.getElements来取代dojo.query的么?如果我们仅仅需要getElementByClassName的话,我们根本不需要添加dojo.query作为依赖项。这会缩减我们应用程序发布包的大小。

 

dojox.mobile打包选项

 

在build.sh和build.bat文件中你还可以看到一些特殊的打包参数。

 

 

我们将选择使用separate委派。但是build文件中有一些硬编码的值是我们不想要的,所以让我们复制该文件中的内容并创建一个我们自己的build-tweetview.sh文件:

 

 

我们针对tweetview的需求,更新了profile和dir的配置。

 

TweetView Build Profile

让我们为TweetView创建一个基于mobile-all.profile的Build Profile:

 

 

Dojo Toolkit提供的mobile profile包含了我们所需的dojox.mobile.app类,所以我移除了它们。我还为该build添加了一个tweetview-app.js,它包含了TweetView,SeetingsView,和dojox.mobile.TabBar(一个默认情况下,dojox.mobile没有包含的类)。之后tweetview命名空间被添加到了prefixes数组。

 

执行Build

让我们切换到命令行并使用上面的build profile打包我们的widget:

 

 

在build完成之后,可以到js/tweetview-release/dojo/tweetview/directory查看结果:

 

打包完毕后的目录内容

 

使用Build

现在可以使用打包好的文件了,打开app.html,更新Dojo路径,并创建一个新的script节点来导入我们打包过的tweetview-app.js。

 

 

!我们可以使用dojo.require来导入tweetview所需的资源,但是有一些移动操作系统不支持同步XHR,这会导致dojo.require失效,因此在这种情况下,直接导入资源更加可靠。我们应用程序中的requires使用不会发生问题,因为我们已经将所有代码打包,所有需要的依赖项都已经加载进来了。

 

TweetView 回顾

TweetView完成了!我们已经为我们简单的移动应用程序创建了模板(HTML),样式表(CSS)和代码(JavaScript),并进行了打包!让我们回顾一下我们在创建TweetView中所学到的:

 

  • dojox.mobile下的基本控件
  • 如何为dojox.mobile.application定制iOS和Android风格的样式
  • 如何以标签形式声明dojox.mobile.widgets和如何使用代码创建这些控件
  • 如何使用dojo.io.script和dojo.DeferredList来从Twitter获取JSON格式的内容
  • 如何扩展dojox.mobile基本控件
  • JavaScript最佳实践背后的策略,同时保证代码紧凑,依赖项最少。
  • dojox.mobile应用程序所需的独特打包流程。

我希望在完成这个项目时,你也能对dojox.mobile有同样的感受:dojox.mobile是一个出色的移动应用程序框架,它提供了与移动设备风格吻合的控件和样式主题。dojox.mobile易学、揖扩展,并可以动态加载内容。TweetView,一个基础的具有三个视图的应用程序,通过使用dojox.mobile便能很容易的创建出来!


dojox.mobile 将会变得更好!

dojox.mobile 在Dojo 开发团队的推动下正以惊人的速度成长着,它将为我们提供最佳的移动解决方案。在不久的将来,dojox.mobile会有更多、更高效的控件以及针对设备的各种新功能。希望大家可以花一些时间亲自尝试一下dojox.mobile下的内容,并与整个Dojo社区分享您的经验!

 

点击这里 查看完整的应用程序!

 

TweetView系列中文教程

Dojo mobile TweetView 系列教程之一 —— dojox.mobile入门

Dojo mobile TweetView 系列教程之二 —— TweetView 启程

Dojo mobile TweetView 系列教程之三 —— Tweets和Mentions视图

Dojo mobile TweetView 系列教程之四 —— 创建Setting视图

Android-Tweet-uiTweetMediaView组件库 Tweet-ui TweetMediaView组件库 立即下载

相关推荐

Zabbix7.4监控系统在Rocky Linux10.0上的完整部署流程(含MariaDB配置)

本文详细介绍了在Rocky Linux 10.0操作系统上部署企业级监控系统Zabbix 7.4的完整流程,并重点阐述了与MariaDB数据库的深度集成与性能优化配置。内容涵盖从系统环境准备、数据库安装与安全加固、Zabbix核心组件部署,到服务配置、Web界面初始化以及生产环境高级调优的全方位实战指南,旨在帮助用户构建稳定高效的监控平台。

weixin_29200741的博客 328

Dojo Mobile:iPhone/Android的Web应用开发利器

Dojo Mobile框架是一套移动终端的Web应用开发框架,是最新发布的dojo1.5 中的一个子项目。Dojo Mobile主要面向手持设备上的Web富客服端应用开发,提供了iPhone和android两套主题,使得基于iPhone或者Android的Web应用具有手机本地应用的外观和效果,而同时也给了开发者更多的主导权

Dojo中文博客 1万+

无人机VS地面机器人:用AirSim和Gazebo玩转ROS2仿真的5个实战场景对比

本文深度对比了ROS2生态中两大仿真工具AirSim和Gazebo在无人机与地面机器人应用中的表现。通过电力巡检、仓库调度、SLAM建图等5个实战场景,分析了两者在视觉保真度、物理精度、开发效率等方面的差异,并提供了跨平台协作的实用技巧,帮助开发者根据项目需求选择合适的仿真工具。

flink9streamer的博客 900

第一部份:开始Dojo Mobile

Part 1 - Getting Started with Dojo MobileContent on the web is evolving at a rapid pace, and the path is quickly moving towards mobile devices. As with many other problems on the web, the D...

weixin_34384915的博客 245

C++ 类

本文介绍了C++中类的核心概念和使用方法。

weixin_54859557的博客 1016

自定义css属性实现渐变边框动画

自定义cs属性实现渐变边框动画

lemon的博客 1875

手机Web开发框架集

HTML5 开发框架 jQuery Mobile jQuery Mobile(jQueryMobile) 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴...更多j

yuan_jie 1万+

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4732

ADP5350与PIC18F86K90嵌入式电源管理方案详解

电源管理IC(PMIC)是现代嵌入式系统的核心组件,通过集成多路DC-DC转换器、电池充电管理和系统监控功能,显著提升设备可靠性。ADP5350作为ADI公司的高效PMIC,配合Microchip经典8位MCU PIC18F86K90,可构建智能电源管理系统。该方案利用I²C接口实现动态电源配置,支持锂电池充放电管理、多路电压输出和低功耗模式切换,特别适合物联网终端、便携式医疗设备等场景。其中关键设计包括输入电容选型、NTC温度监测电路优化,以及通过寄存器配置实现充电参数动态调整,有效解决实际工程中的电源波

cuxiong8996的博客 482

10X Visium空间转录组学入门:从芯片结构到数据分析全流程解析(附避坑指南)

本文全面解析10X Visium空间转录组学技术,从芯片物理结构、探针化学原理到湿实验全流程操作与避坑指南,并详细介绍了从FASTQ数据到空间可视化的核心分析流程。文章旨在帮助科研人员跨越从理论到实操的鸿沟,掌握从样本准备、文库构建到使用Space Ranger和Seurat进行数据分析与可视化的完整路径,为组织生物学研究提供清晰的实践指引。

weixin_29306011的博客 163

数字IC后端笔记-libcell命名规则与标准单元库介绍

ND3D1BWP13T40P140HVTND3D1BWP13T40P140HVTTSMC两种工艺,Metalization Stack的截面示意图:还有一层AP用来走RDL,RDL这层是最厚的一层,一般用于连接IO的bump,信号线基本上不会用这层绕线。

sinat_41774721的博客 2465

phonegap_Android上的PhoneGap和Dojo Mobile

人们无所不在,人们正在使用移动设备与家人和朋友保持联系,拍照以发布在社交网站上,查找餐厅的位置或查看最新新闻标题。 移动设备有许多不同的形状和样式。 手机运行各种不同的操作系统,例如Apple的iOS,Google的Android和Research In Motion的Blackberry。 有些具有大型显示器和物理键盘,并且可以在3G,4G或WiFi网络上运行。 移动电话可能还具有用于加速度...

cuyi7076的博客 549

真题库系列之 CCF GESP 2025年12月认证 Python 1级真题含正确答案与解析

学生通过计算机基础知识的学习,了解计算机的构成与操作,以及计算机的发 展历程。通过编程基础知识以及语句的掌握,可以独立完成简单功能的顺序结构、 分支结构、循环结构的程序。

iCloudEnd的博客 319

dojo/_base/window模块

该模块用于访问当前的文档和body元素,对当前的页面文档操作提供了许多方法和变量。 1.body()方法,用于返回元素的节点对象,与js中全局变量window.document.body属性是等同的。

遇见最好的自己,才能遇见最好的人! 477

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

dojo mobile 学习1

近来学习dojo mobile,贴些学习资料。 Dojo Mobile功能结构介绍 以功能性来说,Dojo Mobile开发框架包含以下内容: 一个非常轻量级的控件解释器,仅针对mobile控件. 在以WebKit为内核的浏览器上,大量使用CSS3实现与iPhone和Android本地程序类似的特效;同时也支持非WebKit内核的手机浏览器,使用dojo自带的dojo.animate...

一路追寻的专栏 209

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Dojo Mobile 1.8 中的新功能

Dojo Mobile 1.8 中的新功能,第 1 部分: 新的小部件使用这些新小部件增强您的移动应用程序Dojo Mobile (dojox.mobile) 是一个 Dojo Toolkit 包,用于创建轻量级移动 Web 应用程序。Dojo 1.8(于 2012 年 8 月发布)包含许多新的 Dojo Mobile 小部件、小部件增强和其他新功能。本文是由三部分组成的系列...

weixin_34101229的博客 436

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

(翻译)手机应用开发 第三节:PhoneGap and Dojo Mobile on Android(使用Dojo扩展)

  原文地址:Mobile application development, Part 1: PhoneGap and Dojo Mobile on Android   ps:由于原文发布于2011-9-13。时间较早。而大部分软件,框架都有很大更新和变化。我会将原文中发生变化的部分修改成最新的。   在上一篇中我们做到了模拟器调试,接下来是真机调试。   如果你手头上有androi...

Stay hungry,stay foolish。 260

Dojo Mobile 1.7入门

最新版的移动 Web 开发框架 Dojo Mobile 1.7,是 Dojo Toolkit 的一个扩展。本文将使您了解如何从主干网址下载 Dojo 1.7,以及如何在您的应用程序中使用 Dojo Mobile。您还将探索它提供的各种小部件和组件,学习如何使用 PhoneGap 将 Web 应用程序包装在原生应用程序中。 简介移动 Web 使用量正呈指数型增长。随着更多的人习...

weixin_33716557的博客 218

Android tips(八)-->Android Studio打包apk,aar,jar包

文本我们将讲解android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别

一片枫叶的专栏 3万+

DOJO 基本原理 之 dojo/_base/declare<7>

在Dojo 工具箱中, dojo/_base/declare模块是创建类的基础。 declare允许开发者实现类多继承,从而创建有弹性的(灵活的)代码, 避免写重复的代码。 Dojo, Digit, Dojox模块都使用了declare.  在这个指南中,你将知道你为什么也需要它。 开始 在开始之前你需要先看看 modules 指南 . Dojo类创建的基础 declare 函

robin xiong的专栏 3063

使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用

日期:2012-8-14 来源:GBin1.com 在线演示 本地下载 随着科技的进步,越来越多的javascript类库开发出了面对移动设备的类库,例如,jQuery Mobile,Secha touch等, 随着Dojo最新版本1.7的发布,同样的也带来了Dojo版本的移动开发框架Dojox/mobile。这套框架使用基于controller和CSS3主题的架构,帮助你

goitcast的专栏 1627

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 291

Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存

二十多个模块业务高度相似却各有差异,核心矛盾在于“统一与灵活”的平衡。通过角色接口组合(如IProjectAware、IVoiceAware)实现能力按需注入,新增功能零侵入;用模板方法锁定生命周期流程,确保顺序一致;结合@CallSuper与工厂方法,既约束关键逻辑,又保留子类自由。最终实现:骨架统一、填空自由,管得住业务,又不侵入业务。

mmsx990的博客 397
上一篇: Dojo mobile TweetView 系列教程之四 —— 创建Setting视图
下一篇: Dojo 1.6 官方教程翻译:创建基于模板的小部件(Widget)
dojotoolkit
博客等级 码龄16年 1205粉丝 61原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值