移动互联网的新宠:Android之缤纷世界

简介:

文为原创,如需转载,请注明作者和出处,谢谢! 

       Android这个词已强占我们的眼球有一段时间了。在此之前,提到Android,没人会和移动互联网以及Google这两个当今最火辣的词联系起来。然而,自从Google推出自己的移动操作系统Android以来,AndroidGoogle和移动互联网就好像10年前的Windows、微软和PC操作系统一样,成为了当今最吸引眼球的组合。

     说到Android,现在一点都不会引起歧义,她就是Google最值得骄傲的移动操作系统。虽然Android并不是第一个智能手机操作系统,当然,也不会是最后一个智能手机操作系统。但她却仅在出生不到两年时间里成为了有望超越一切的移动操作系统。甚至在美国2010年第2季度的Android手机销量已经超越被认为是销售之王的IPhone。成为了当今销量增长最快的系统。取得这些成绩,当然,Android取得今天这些成绩除了出身名门外,还有就是Android的免费开源。任何人、任何组织都可以免费使用Android,而无需付给Google一分钱。由于这些好处,使用支持Android的手机厂商越来越多。甚至被誉为“山寨之王”的联发科也在研制支持Android的芯片,如果成功,Android手机的价格有望降到1000元以下,如果大多数Android手机真到了这个价格,那将会成为Android的另一个杀手锏。

Android除了其客观的优势外,主要面向移动互联网也是Android成功的一个主要因素。大笔者写作本文时,Android的最新版本是2.2。经过试用,感觉Android 2.2的浏览器速度较以前的版本有了非常大的提高,Android 2.2的浏览器被称为世界上最快的移动浏览顺口 。在Android 2.2中还加入了新的Just-In-Time(JIT)技术,使用在Android 2.2中运行的程序的运行速度较以前的版本快了2.5倍。

Android 的浏览器速度的提升也会为我们的应用程序提供更多的选择 . 传统的 Android 应用程序的 UI 都由 Android 组件来实现。而我们有了更快的浏览器,可以将在 PC 领域风起云涌的 AJAX 与移动浏览器结合来向用户展现更绚丽的界面。说起 AJAX ,可能从事 Web 开发的程序员并不会陌生。在最近几年国内外也出现了很多流行的 AJAX 框架。其中 Ext JS 就是其中的佼佼者。 Ext JS 主要用于设计 Web 界面,其中大量使用了 JavaScript Ext JS 技术,但使用起来却很容易。例如, Ext JS 可以很容易地模拟 Windows XP 的界面,当然,这个界面是基于 Web 的。在《人人都玩开心网: Ext JS + Android + SSH 整合开发 web 与移动 SNS 》一书中通篇来完成一个利用 Ext JS 技术实现的 SNS 系统,界面就模仿了 Windows XP 的风格,见图 1 所示。




    显然,加入了 Ext JS Web 程序要比传统的 Web 程序绚丽得多。既然 PC 可以如此,那么手机为什么不呢?经过笔者的测试, Ext JS 也同样可以在 Android 内嵌的手机浏览器中使用,让我们看看如图 2 所示的实际效果。

如果本文的读者是开发人员,那么就需要使用Android SDKWebView组件来显示我们需要的内容。在《人人都玩开心网:Ext JS + Android + SSH整合开发web与移动SNS》一书中除了提供了提供了一个完整的基于Web版的SNS,还开发了一个基于AndroidSNS。在这个Android版的SNS中,利用了WebView组件来显示服务端返回的HTML格式的内容。当然,如果读者也可以向其中嵌入AJAXExt JS等高级特性。

Android WebView 固然强大,不过很多时候还要依赖于 Android 组件。这些组件的常规的使用方法这里就不必说了,而在这些组件中还有很多比较有趣的使用方法。例如,使用过 QQ for Android 的开发人员可能会发现,在输入聊天记录时,可以直接将表情图像放到 EditText 组件中(如图 3 所示)。也许会多初学者会感觉实现这个功能比较困难,但实际上实现这个功能再简单不过了。


    我们一般通过EditTextsetText方法来设置EditText中的文本,例如如下的代码向EditText添加了一个字符串。

EditText edittext = (EditText)findByView(R.id.edittext);
Edittext.setText(“测试数据”);

   我们只需要对上面的代码稍微做一下手脚,就可以实现将图像插入到EditText中的目的。如果读者看过《Android/OPhone开发完全讲义》,会发现书中在很多情况下使用了文本标记(类似于HTML语言的标签,但只包含了十分有限的HTML语言的功能)。在这些标记中有一个<img>标记。通过这个标记,可以很容易地实现将图像插入到EditText的功能。不过使用<img>标签要比使用其他的标签多一个步骤,这就是要实现一个ImageGetter接口,通过这个接口,可以获得一个Drawable对象。先看看如下的代码:
 ImageGetter imageGetter = new ImageGetter()
    {

        @Override
        public Drawable getDrawable(String source)
        {
            int id = Integer.parseInt(source);
            Drawable d = getResources().getDrawable(id);
            d
                    .setBounds(0, 0, d.getIntrinsicWidth(), d
                            .getIntrinsicHeight());
            return d;
        }
    };

上面的代码通过ImageGetter接口的getDrawable方法返回了一个Drawable对象,其中source参数的值就是<img>标签的src属性的值。我们需要通过如下的代码来使用<img>标签。

    editText.append(Html.fromHtml("<img src='"

            + faces[new Random().nextInt(6)] + "'/>", imageGetter, null));

    其中faces是一个int类型数组,保存了相应的drawable资源的ID值。在使用<img>标签之前需要使用Html.fromHtml方法来封装这些标签,如果使用的是<img>标签,需要使用fromHtml方法的第2个参数指定ImageGetter对象,以便通过<img>标签的src属性获得相应的Drawable对象。通过EditText.append方法插入<img>标签后,系统会自动将<img>标签转换成相应的图像显示在EditText中。下面来看看我们的成果(如图4所示)。



    在本文向读者展示了Android中的浏览器、Ext JS、EditText图文混排的功能,读者从中也看到了Android中的缤纷世界。其实Android的功能还远不只这些。那么剩下的就留给读者来挖掘吧。

本文转自银河使者博客园博客,原文链接http://www.cnblogs.com/nokiaguy/archive/2010/08/19/1803950.html如需转载请自行联系原作者


银河使者

相关文章
|
存储 传感器 定位技术
《移动互联网技术》 第四章 移动应用开发: Android Studio开发环境的使用方法:建立工程,编写源程序,编译链接,安装模拟器,通过模拟器运行和调试程序
《移动互联网技术》 第四章 移动应用开发: Android Studio开发环境的使用方法:建立工程,编写源程序,编译链接,安装模拟器,通过模拟器运行和调试程序
185 0
|
测试技术 开发工具 数据库
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
131 0
|
设计模式 网络协议 Java
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
113 0
|
物联网 程序员 Android开发
Android程序员如何应对移动互联网“寒冬”
随着“5G”(第五代移动通信技术)商用进程越来越快,各个芯片和终端厂商们都已经开始布局准备,想必智能手机会是消费者最先能够接触到5G的重要终端,而和其相辅相生的移动互联网也势必会有新的发展。 但是和行业本身的发展不相称的是, Android 开发者的市场需求仿佛处于寒冬。
|
PHP Android开发
《Android和PHP开发最佳实践》一1.1 移动互联网时代的来临
本节书摘来自华章出版社《Android和PHP开发最佳实践》一书中的第1章,第1.1节,作者 黄隽实,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1350 0
|
Web App开发 JavaScript 前端开发
移动互联网的新宠:Android之缤纷世界
文为原创,如需转载,请注明作者和出处,谢谢!        Android这个词已强占我们的眼球有一段时间了。在此之前,提到Android,没人会和移动互联网以及Google这两个当今最火辣的词联系起来。
844 0
|
8天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。
|
7天前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
19 5
|
5天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
6天前
|
缓存 数据库 Android开发
安卓开发中的性能优化技巧
【10月更文挑战第29天】在移动应用的海洋中,性能是船只能否破浪前行的关键。本文将深入探讨安卓开发中的性能优化策略,从代码层面到系统层面,揭示如何让应用运行得更快、更流畅。我们将以实际案例和最佳实践为灯塔,引领开发者避开性能瓶颈的暗礁。
22 3