详解Ubuntu for Android:Thin Client

详解Ubuntu for Android:Thin Client

一、Ubuntu for Android的定义

在移动终端性能日益强大、多核处理器基本普及的现在,将通用的Ubuntu操作系统与Android系统进行亲密的整合,在适当的环境下灵巧的转换角色,充分发挥移动终端性能,满足个人或企业对于移动办公的需求,应用Thin Client。

二、Ubuntu for Android的简介

Ubuntu for Android 不是一个 Android 程序,无法直接以 APK 的方式安装到现有手机上。它需要和 Android ROM 深度集成,也就是为何它的主要面向对象是手机制造商,一般用户无法像 PC 版本那样只要下载某个压缩包就可以在 Android 手机上使用。另一方面,由于有对显卡硬件驱动的特殊要求,也不是一般下游 ROM 打包者(CyanogenMod 等)可以做到的。由于 Android 使用了自己特有的显示协议,不是所有的 Android 手机的 GPU 都具有满足 Unity 工作需求的 X Windows 驱动。Ubuntu for Android 的设计理念明显以“以手机为中心”,它由四个部分组合,一台显示器,一个键盘,一个鼠标,一个底座。只要将 Android 手机插上底座,那么 Ubuntu for Android 会显示出相应桌面界面,而且还能够通过内置的应用来对手机上的信息进行操作。Ubuntu for Android 能够不但连接手机摄像头,还能够直接操作手机打电话,接收发送短信等等。这是一个非常棒的把桌面系统与移动终端整合起来的应用,比所有的远程桌面类的解决方案都要干脆且直接有效。目前 Ubuntu for Android 内置了以下几种应用:

  • 网络浏览器 Chromium web;
  • 日历应用 Google Calendar;
  • 文档处理 Google Docs;
  • 电邮客户端 Thunderbird;
  • 社交通信软件 Gwibber;
  • 媒体播放 VLC;
  • 流媒体播放 PiTiVi;
  • 音乐播放器 Ubuntu Music Player;
  • 相册应用 Ubuntu Photo Gallery;
  • 桌面接听电话应用 Android dialler。


三、Ubuntu for Android的特点

  1. Canonical 和 Linaro 一起提供领先的 Linux ARM 支持,同时为Android与Ubuntu优化;
  2. 优化过的Ubuntu ARM版,更好的支持ARM,其余与Ubuntu桌面版几乎完全一样:包括Unity桌面、软件集等等,是一个全能的Ubuntu;
  3. 为与Android集成而优化的Ubuntu:支持存取Android的照片、视频、联系人,甚至直接在Ubuntu桌面调用并显示Android软件,接收Android的消息,可以容易的和当前正在开发的 Android 手机整合;
  4. 具备经 Adobe, Citrix, VMWare 授权的商业应用程序;
  5. Ubuntu 和 Android 运行同一个内核,同时运行并访问存储数据;
  6. 可以提升多核 CPU 和多核 GPU 手机的销售,加快对于 4G 网络的接纳程度;
  7. 目标是企业级瘦客户端;
  8. 更重要的一点:这是由Canonical官方及Linao组织及其他厂商一起推出的项目,有着良好的支持与前景。
注:Linaro---一个非营利性的开源软件公司。 Linaro在2010年的台北国际电脑展上首次亮相,它由ARM、IBM、飞思卡尔半导体、三星、索尼爱立信和德州仪器等业界领导企业共同组建,希望通过整合技术和投资来最优化这个开源项目,便于不同地方的原始设备制造商和设计提供商共同开发基于Linux操作系统的产品。 最新的开发工具、代码和优化方法已经被应用于研发以Android和Ubuntu为基础的Linaro测试版本之中,旨在让其他设备厂商更方便地运用Linaro的设计工程技术。

三、Ubuntu for Android的基本硬件要求

  • 运行 Android 2.3+ 系统。
  • 双核 1Ghz CPU。
  • 显卡具备支持 Open GL, ES/EGL 的 X Windows 驱动。
  • 2GB 的操作系统镜像空间。
  • 具备辅助视频缓存的 HDMI 输出。
  • 支持 USB Host 模式
  • 512M 内存

四、Ubuntu for Android的操作截图

进入Ubuntu模式后的Andriod手机,可以打开Shotwell来浏览Android上的图片,也可以直接在Unity的Dash里面搜索:图片、视频,并调用桌面软件打开。

在Unity里的App Lense里,可以搜索Android软件并调用。

至于Android软件是如何显示在Ubuntu里面呢?这是利用了一个叫Mobile View的软件,这个可以显示并操作Android上的App,估计把它当作一个Android Emulator来用吧——当然比起Andoird开发中的模拟器可是快得不少啊。

Ubuntu与Android的深度集成还表现在你能直接在Unity里搜索联系人、查看最近的通话纪录等等,如果你点击了其中一个联系人,就会调用Android的Contacts应用来做更详细的浏览。

集成最棒的要数这个了:当你的Android手机收到了条短信的时候,Ubuntu的桌面通知功能将告诉你新短信来了,这个切换过程可谓天衣无缝。接下去你也猜到了,用手机去回短信多慢啊,这时可以用Ubuntu去调用Android短信工具去收取并回复。用电脑键盘就会快的多。

这张图则显示了Ubuntu的Message Menu是如何与Android的消息应用深度集成的,直接看到两条未读短信。

然后调用Android App去浏览这两条短信。

另外一个值得一提的比较有意思的东西是,Android是手机,Ubuntu可以用来办公、编程、上网等,休息时间,还能把它们变成Ubuntu TV,好好的娱乐一下吧。

五、Ubuntu for Android诞生的理由

Android为移动而设计,基于触屏操作的思路。桌面操作系统则基于鼠标操作。有人试过做一些基于Android的桌面系统,他们都失败了,因为Android仅仅为触控而设计。完整的桌面解决方案需要一套桌面应用。目前,移动OS都没有引入什么桌面应用,而Ubuntu这个平台则提供了上千桌面应用,其中大部分都是free(免费+自由)的。另一个解决方案是基于Web,不过目前的市场并不看好纯Web环境。桌面环境是生产环境,这与多媒体消费环境或浏览环境是不同的。简而言之,就是要让Android能够跑Linux程序。
其实这个思路跟苹果的iOS+OS X合并,微软的Windows Phone+Windows合并,其目的是一样的。所谓大一统环境,就是让用户无论在任何终端上都可以使用同样的服务。乍看之下似乎是简单的移植能搞定的事,实际上却很难做到,正是因为触屏操作和键鼠操作的区别。
而解决思路就是:把移动设备当作一个PC盒子,再外接屏幕、键盘、鼠标。当然,麦克风、摄像头、音箱这些配件,默认都集成在手机里面了。想想看,以后企业不再需要购置一堆PC,而只需要买显示屏+键盘鼠标,外加一堆放手机的托(即Dock)。员工可以用自己的手机进行办公,只要咔嗒一下把手机插到Dock上,立刻就是自己的专属工作环境。这就是天生的移动办公环境。

六、Ubuntu for Android的一些缺陷和

不过目前该应用的外接硬件是个问题,同时只能通过HDMI输出也限制了其应用范围。另外还对手机本身的处理能力(双核 1GHz + 512M 内存)提出更高的要求。目前来讲 ARM 处理器的性能甚至和 X86 架构的 Atom 处理器相比还是孱弱,面对 WebGL 游戏和复杂的 JavaScript 应用依然力不从心。当下糟糕的 SoC GPU X 驱动支持和性能将影响 Ubuntu for Android 的部署。但是如果巨头都能参与其中,或是运营得当,或许这也将开辟出一片新的市场。
目前该系统暂不支持消费者直接安装,更多详情可到Ubuntu官方页面了解。

参考文献

http://linuxtoy.org/archives/ubuntu-for-android.html

http://www.cnbeta.com/articles/173806.htm
http://os.51cto.com/art/201202/319100.htm

http://os.51cto.com/art/201202/319100.htm

http://imtx.me/archives/1697.html

http://mobile.51cto.com/comment-319344.htm

http://mobile.51cto.com/hot-319048.htm

http://www.ubuntu.com/devices/android

http://www.markshuttleworth.com/archives/1011

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
QtAndroid::startActivity是一个Qt提供的Android平台相关功能的接口,用于在Qt应用程序中启动一个Android活动(Activity),即启动一个新的Android界面或打开一个已有的应用程序。它的主要作用是实现Qt应用与Android系统之间的交互。 使用QtAndroid::startActivity需要包含QtAndroidExtras模块,它提供了一些与Android平台相关的功能。 接口定义如下: ```c++ bool QtAndroid::startActivity(const QAndroidJniObject &intent, int requestCode = 0) ``` 其中,参数intent是一个QAndroidJniObject类型的对象,表示要启动的活动的意图(Intent),可以通过类似下面的代码创建: ```c++ QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;)V", "android.intent.action.VIEW"); ``` 这里创建了一个意图,用于启动一个界面,实际上是启动了系统中已有的“浏览器”应用程序,其中"android.intent.action.VIEW"是启动浏览器应用程序的动作。 参数requestCode表示请求代码,用于标识启动活动的请求,可选参数,默认为0。如果启动活动时需要返回结果,则可以使用该参数,并在onActivityResult方法中根据requestCode进行处理。 需要注意的是,在使用QtAndroid::startActivity之前,需要先获取Activity的Java对象,例如: ```c++ QAndroidJniObject activity = QtAndroid::androidActivity(); ``` 然后再调用QtAndroid::startActivity方法启动活动。 总之,QtAndroid::startActivity是一个非常有用的接口,可以帮助我们在Qt应用中实现与Android系统的交互,如打开系统应用、调用系统服务、启动其他应用程序等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值