Browsed by
Tag: android

小米的葫芦里究竟卖什么药?

小米的葫芦里究竟卖什么药?

周五据说又是一轮新的购买,不过与以往不同的是,这次号称不是在小米官网卖,换地了。

我猜测应该是在天猫上卖吧?这样有几个好处:

(1)天猫的处理能力比较强,应该不会出现小米官网那种连页面都打不开的情况。

(2)第三方平台的最终销售记录,能让过去的一些怀疑论者都闭嘴。

(3)可能借助天猫的关系,打通物流环节,提高出货量。

明天就知道这葫芦里到底卖什么药了。就个人而言,我非常希望小米能成长起来,毕竟是国内标志性企业。

updated: 谜底揭开了, 原来只是和新浪微博联合搞个噱头, shit.

Nokia居然选择了WindowPhone

Nokia居然选择了WindowPhone

这实在是一件让人费解的事情!作为一个老牌的手机开发商,居然放弃了最核心的手机操作系统部分!媒体拿moto作例子,moto不就是果断选择android才能重新崛起么?话是这么说,可是moto毕竟不像Nokia一样,moto手机部门是整个moto的一部分而已,而手机对Nokia来说,基本相当于命脉。积攒了这么多年的开发和人力,居然无法做出一个与iOS和Android竞争的系统,实在让人无语!

Nokia没有全力发展Maemo是一个错误,与Intel联盟发展MeeGo是另一个错误,转而与微软结盟可能是第三个错误。

当然,这些都是不明真相群众的围观看戏而已。让人忧虑的是QT未来的发展。

毫无疑问,Nokia这次的决定让QT处于非常尴尬的位置。坦率地说,这两年QT在Nokia的支持下发展非常好,4.x版本给人留下了非常好的印象。而现在Nokia据说只会给QT最小限度的支持,QT开发组裁员估计是不可避免的。现在国外各QT/KDE论坛都在热烈讨论是否有必要fork一个版本出来(感谢Nokia在4.x是发布了QT的LGPL版本),可见这个消息给QT开发社区造成了相当大的冲击。

作为商业开发,选择一个开发工具或者开发套件是一件非常慎重的事情。负责任的开发公司对已有的工具都进行了大量的投资(包括人力培训、产品积累、产品管理等),不可能像普通开发人员的个人兴趣那样随时转换工具,这期间涉及大量的版本迁移、客户支持、开发演进等各方面的重大变更。

而我们也恰恰选择了QT作为基础开发套件之一,并在QT上花费了巨大的人力、物力和财力!

即时最终QT社区fork出一个新的QT,在技术支持、开发质量等方面是否能保持目前的水准,也是个很大的问题。面对QT未来发展的不确定性,实在不得不深深地忧虑。

Android开发指导随译(1)

Android开发指导随译(1)

基于http://androidappdocs.appspot.com/guide/basics/what-is-android.html的翻译稿.

随译的意思是指: 随手进行的翻译. 因此语法未必严格, 内容不仅不和原稿严格匹配, 而且会有删减(只保留我感兴趣的东西).

什么是Android?
Android是一套为移动设备定制的软件套件. 它包括:一个操作系统, 中间件以及关键应用程序.
Android SDK提供了为Android平台开发应用所必须的工具和API集.
Android SDK采用Java编程语言.

Android包括以下关键特性:
1. 程序框架
2. Dalvik虚拟机(针对移动设备进行了优化)
3. 集成的浏览器(基于WebKit)
4. 优化后的图形库(2D, 3D)
5. SQLite (数据存储)
6. 多媒体支持(语音, 视频, 以及多种图像格式等,MPEG4,H264等)
7. GSM 电话技术(依赖硬件支持)
8. 蓝牙, EDGE, 3G以及WiFi(依赖硬件支持)
9. 摄像头, GPS, 指南针, 加速器(?是指重力感应吗)
10. 丰富的开发环境, 包括模拟器, 调试工具,性能优化以及基于Eclipse IDE的PlugIn.

Android架构
Android分成四层:
1. 应用程序层. 所有的应用程序都用Java语言进行编写.
2. 程序框架层.
3. 库以及Runtime;
4. Linux核心.

笔注: 应用层用Java编写, 库以及runtime是采用C/C++编写, 是谁来完成Java对C/C++的封装,供上层应用调用? JNI?

程序框架
程序框架包含一系列的功能(管理)集, 例如Windows的管理, View管理, 位置管理等, 有两个Manager需要注意:
1. Content Providers(内容提供)
它使应用程序能访问其他程序的数据, 或者共享它们自己的数据(给其他程序)

2. Activity Manager(生命周期管理)
管理程序的生命周期, 同时也提供一个通用的”navigation backstack”(这是什么? 历史堆栈的回顾?)


媒体库基于PacketVideo的OpenCORE库;
SQLite提供关系数据的存储;

Android runtime
每一个Android应用程序都有自己独立的进程, 并且有一个独立的Dalvik虚拟机实例.
Dalvik允许设备中run多个VM实例. Dalvik VM采用Dlavik Executable(.dex)格式运行执行文件.