手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多。
手机可分为智能手机开发和feather phone手机。开发平台可分为开放式平台和封闭式平台,开放式平台包括symbian、windows mobile、linux、iPhone、Android、BlackBerry、j2me、brew等,支持手机应用程序通过OTA下载和安装;封闭式平台包括MTK、展讯、TI、飞利浦等。下面分别介绍。
1. Symbian:
Symbian平台为目前智能手机市场的老大,智能手机全球市场占70%以上,在欧洲和亚洲占绝对优势,只是在美国市场份额少得可怜,希望今年nokia在美国发力,赶上其它智能手机。根据UI风格的不同,Symbian分为s60和UIQ两个平台,其中nokia使用s60平台,索爱和moto采用UIQ平台。Symbian平台由于发展时间较长,又是市场老大,目前中文资料也较多,不像几年前刚接触时只有英文资料。以下书籍值得推荐:
《SYMBIAN OS软件开发开发--应用C++开发智能手机应用程序入门》(其中UI部分为UIQ平台),
《Series 60 应用程序开发》(以s60平台为主,重点推荐)
《Symbian OS C++手机应用开发 (第2卷)》
另外今年将出来一本有关uiq3.0的新书,值得期待。
关于symbian的开发网站和论坛:
诺基亚论坛:最好的symbian论坛,
http://discussion.forum.nokia.com/forum/forumdisplay.php?f=6,其中还有中文论坛。
UIQ官方论坛:http://developer.uiq.com/
Symbian公司中文论坛:http://developer.symbian.com/forum/forum.jspa?forumID=37
NewLC网站:http://www.newlc.com/
索爱uiq官方论坛:http://developer.sonyericsson.com/category.jspa?categoryID=3
索爱uiq中文论坛http://developer.sonyericsson.com/forum.jspa?forumID=133
2.windows mobile:
智能手机全球市场中windows mobile占12%左右市场份额。开发与windows平台类似,所以熟悉windows开发的能很快上手。目前没有较好的针对windows mobile的书,经典书籍《Windows 程序设计(第5版)》对于开发win32程序依然是最好的,经典的书就是牛啊!虽然pocket pc支持MFC,但smartphone不支持,所以为了更好的移植,用win32开发较好。由本书做基础,再参考windows mobile的sdk以及示例代码,应该能很快上手。
关于windows mobile的开发网站和论坛:
Windows mobile中文社区:http://www.winbile.net/BBS/
Pocket pc forum:http://www.windowsmobiledn.com/forum/
微软官方网站:http://www.microsoft.com/windowsmobile/developers/default.mspx
3. linux:
智能手机全球市场中linux手机仅占可怜的4.4%市场份额。原来moto还出过不少linux手机,如A768、A1200、E680、E2、E6、V8等,07年8月份还信誓旦旦预测60%手机采用Linux OS,但moto后来回购了UIQ的股份,又与微软合作,还加入了google的开放手机联盟,看来要抛弃自己的linux平台了。另外,moto的策略是linux+j2me的模式,虽然采用linux os,但并不对外开放linux的sdk,只有和moto合作的厂家才能获得native linux sdk,所以导致目前linux手机开发的资料和论坛较少。虽然有民间linux高手破解了moto的linux的sdk,可以开发native linux的程序,但native linux的程序不能直接安装在moto的linux手机上,还必须安装一个插件,这对普通用户又是难以跨越的一个门槛。所以个人觉得native linux手机的开发将走向末路。大部分linux手机的ui开发都是基于QT,关于QT开发,可参考《C++ GUI Qt3编程》、《精通Qt4编程》,如果有moto官方的sdk,参考API文档以及一些示例代码,将可以较快上手,如果没有官方的sdk,那就要话很长时间hack了。目前没有很好的关于linux手机开发的论坛,个人推荐陈罡的博客http://www.cublog.cn/u/26691/,内有moto a1200开发随笔,对于熟悉和了解手机native linux开发有很大帮助。
4. MTK:
MTK最近几年异军突起,近70%的国产手机采用MTK的芯片和平台,黑手机更几乎是MTK的代名词。国内厂家只有夏新没有采用MTK的方案。MTK的模式名为“Turn-key”的全面解决方案,厂商采用了这个方案,只需要加一个手机外壳即可成品——这能大大降低了出货时间,一般厂家只修改界面、铃声以及增加一些应用软件。有关MTK平台的介绍,见环球企业家杂志的文章“国产手机操纵者联发科的秘密”http://www.cnbeta.com/articles/45580.htm。
MTK是私有平台,目前没有书籍介绍MTK平台,所以只能从网上查找MTK的资料。以下资料大家可以从网上获得,对于了解MTK很有帮助:《mtk 训练课程.pdf》、《MMI Platform Source Code Training.pdf》主要是MMI界面开发介绍、《MMI Resource & Customization Tool.pdf》MMI资源工具介绍。
最近,MTK平台MMI设计牛人FUGUI自己编写了一本有关mtk平台MMI开发的实例教程,书名为《MMI实例培训教程》(本书大家通过Google下载到),此书深入浅出,全面的介绍了MTK平台MMI开发的各个方面,通过本书,开发人员将能很快进入MTK平台开发领域,实为MTK平台MMI开发的圣经!MTK平台的操作系统为nucleus,有关nucleus的介绍网上有一篇文章《Nucleus实时操作系统分析报告》。MTK平台主要用C语言开发,所以要熟悉MTK开发,首先必须熟悉掌握C语言,MTK的sdk与vc6集成,MMI的各控件和窗口之间通过回调函数实现通讯。
关于MTK的开发网站和论坛:
我爱研发网:http://www.52rd.com/ 上面几篇文章和书籍都能从本网站找到。
手机研发论坛:http://www.1mp.cc/bbs/index.asp
5. 展讯:
展讯平台07年也发展很快,利用MTK下半年PA放大器缺货的机会,趁势而入,抢走mtk很多市场份额。展讯的开发模式和MTK的很类似,基本也是给厂家提供整体解决方案,与MTK的差别见此链接http://www.chinabyte.com/telecom/267/2507267.shtml。国内主要是夏新、联想、文泰等采用展讯平台。展讯平台采用的嵌入式操作系统是threadx,关于threadx的有一本中文书《嵌入式实时操作系统的多线程计算:基于ThreadX和ARM》。同MTK平台一样,为封闭平台,开发语言为C,开发环境为vc6, MMI的各控件和窗口之间与windows类似通过消息进制实现通讯。另外也没有书籍介绍展讯平台,以下资料值得推荐:
《Spreadtrum_SAP.ppt》
《MMK_Kernel软件API接口说明书.doc》
《MMK_Window_Table开发说明书.doc》
《展讯平台MMI窗口开发说明书.pdf》
《展讯手机平台软件简介.pdf》
关于展讯的开发网站和论坛:
我爱研发网:http://www.52rd.com/ 上面几篇文章都能从本网站找到。
手机研发论坛:http://www.1mp.cc/bbs/index.asp
6. J2ME:
J2ME平台为手机上运用最广泛的开放式平台,绝大部分手机均已经支持J2ME了。关于J2ME的书籍数不胜数,个人推荐以下书籍:
《j2me技术手册》
《J2ME开发大全》
《J2ME移动应用程序开发》
关于J2ME的开发网站和论坛:
J2ME开发网:http://www.j2medev.com/Index.html
中国Java手机网:http://www.cnjm.net/
以及各手机厂商的官方java论坛
7. Brew
Brew 的全称是无线二进制运行时环境。Brew平台是高通公司开发的,从无线应用程序开发、设备配置、应用程序分发以及计费和支付的完整端到端解决方案中的无线应用程序开发部分。目前绝大部分CDMA手机都支持Brew平台。学习Brew平台,首先需要熟悉c语言。学习步骤和方法可参考” BREW高手之路-解析BREW学习过程”。
学习书籍:
《深入BREW手机游戏开发》
《BREW 技术开发与应用》
这些书虽然不够深入,但对于入门还是可以参考的。
关于Brew的开发网站和论坛:
Brew官方论坛:http://brewforums.qualcomm.com/index.php
8. iPhone
Windows平台iPhone开发环境搭建方法见笔者的文章《Windows平台上iPhone基于cygwin开发环境的搭建方法》
http://canco.javaeye.com/admin/blogs/199106
开发入门介绍见笔者的文章《iPhone手机开发平台入门介绍和教程》
http://canco.javaeye.com/admin/blogs/199144
9. Blackberry,Android
黑莓公司BlackBerry手机和Google的Android手机均只支持java开发。BlackBerry的开发网站和论坛:
BlackBerry开发者指南:http://www.cnblogs.com/confach/category/36451.htmlBlackBerry官方网站:http://na.blackberry.com/eng/developers/community.jsphttp://bbs.maxpda.com/forum-184-1.html
Android的开发网站和论坛:
http://www.androiddev.net.cn/bbs/
http://www.androidin.com/http://www.androidcn.net/
http://bbs.maxpda.com/forum-190-1.html
10. 其它Feather phone平台
其它feather phone平台,如TI、飞利浦、英飞凌(Infineon)、飞思卡尔(Freescale)、Broadcom、Skyworks等平台,由于平台私有,并且不提供第三方sdk,所以也没有相关资料和文档,希望有了解的朋友介绍一下。
相关推荐
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM.pdf
实时操作系统ThreadX全中文手册上线了
关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号|嵌入式专栏对于很多初学者来说,学习一门技术非常头疼的一件事,就是面对英文资料和手册。不但初学者,对于有一...
ThreadX操作系统
ThreadX是优秀的硬实时操作系统(RTOS),适用于深嵌入式应用中,具有规模小、实时性强、可靠性高、无产品版权费、易于使用等特点,并且支持大量的处理器和SoC,包括ARM、PowerPC、SH 4、MIPS、ADI DSP、TI DPS、Nios II等,因此广泛应用于消费电子、汽车电子、工业自动化、网络解决方案、军事与航空航天等领域中。
旧手机当开发板
现在手机更新换代实在是太快了,不断有旧手机淘汰下来。这些淘汰下来的手机配合相关APP有很多用处,比如当wifi摄像头,行车记录仪等。还可以当开发板来用,网上也有很多教程,有简单的比如安装Termux可以编程,也有高深的比如定制ROM等。下面记录我的捣鼓过程。 首先手机指的是来源的Android手机,苹果的系统是闭源的,不好折腾。其次,既然是开发板就要外设打交道,手机主板没有引出的IO口,那就只有利用USB、WIFI和蓝牙了。这里选择USB口。 既然是开发板,那我们就和树莓派做比较。 一、主板 树莓派2GB裸
ThreadX 嵌入多线程编程书籍
Real-Time Embedded Multithreading Using ThreadX 多线程编程英文书
深入解析PCIe Retimer:工作原理与典型应用场景
本文深入解析了PCIe Retimer的工作原理与核心价值。作为高速信号的中继再生器,Retimer通过时钟数据恢复和信号再生技术,有效解决长距离或复杂通道中的信号衰减与完整性问题,从而极大地扩展了PCIe链路的有效传输距离。文章详细阐述了其内部架构、自动与手动两种工作模式,并重点介绍了在长距离板间互连、复杂背板设计等典型应用场景中的关键作用。
你知道用手机也能写软件吗?手机编程开发
手机编程开发 除了我们常见的php,java,c,前后端等等等用电脑来编写程序的,还有可以用手机编写软件的 用手机来开发软件 既然是在手机上开发编写软件那么肯定也少不了工具,这篇文章就给大家分享几个手机编程开发的工具 1. iApp iApp是一款手机端开发工具,在你任何空余时间,打开iApp应用即可动手设计你的应用程序!iApp采用了可视化设计界面,让你设计应用界面的时候一目了然,不用繁琐的看着代码伤脑筋了!iApp是一款让你的手机展现放光彩的应用。轻松的操作就可以设计出,你想要的应用界面iApp不是一
别再花屏了!手把手教你用STM32CubeIDE搞定LVGL 8.3移植(附完整源码)
本文详细介绍了如何在STM32CubeIDE环境下成功移植LVGL 8.3,解决常见的花屏问题。从环境配置、显示驱动优化到编译警告处理,提供完整的实战方案和源码示例,帮助开发者快速实现流畅的嵌入式GUI界面。特别针对STM32平台的DMA2D加速和内存管理进行了深度优化。
手机就是开发板
从今天(2019-11-27)开始捣鼓手机,主要是想把手机当作开发板来用,当作一个上位机来编程,用手机去控制别的设备,我觉得这是个很有创意且可行的想法。首先,闲置的旧手机很好找,不用花钱买,而且手机上的器件比开发板全,相关资料也比较好找。 第一步,搭建一个合适的开发平台,可行方案:Qt 5.13.2 + Qt 5.9.0 说明:安装Qt 5.9.0是为了能能在...
【Matlab深度学习】GPU加速实战:从环境配置到性能优化
本文详细介绍了如何在Matlab中为深度学习任务配置GPU加速环境并进行性能优化。文章从GPU加速的必要性讲起,手把手指导安装NVIDIA驱动、CUDA和cuDNN核心三件套,并验证环境。重点讲解了如何利用gpuArray将数据和模型迁移至GPU,以及通过内存优化、计算优化和多GPU并行等策略充分释放GPU算力,大幅缩短深度学习模型的训练时间。
华为防火墙双ISP出口实战:如何用策略路由实现电信联通流量自动切换(附配置截图)
本文详细解析了华为防火墙在双ISP环境下的智能选路技术,通过策略路由与健康检测的深度应用,实现电信联通流量的自动切换。文章包含实战配置截图,帮助企业解决切换延迟、路径劣化等核心挑战,提升业务连续性。
手机也有生产力,手把手教你用手机开发APP
安装APP 开发环境搭建用到2个APP,您可能根据名称在各大应用商店下载。或者直接下载我提供的APK安装。 链接: https://pan.baidu.com/s/14dbzxYbXSUPTqlvFaAQLdA 提取码: cctv 官方下载地址 下载地址: https://f-droid.org/packages/com.termux/ https://expo.dev/client 安装脚本 Termux安装node.js开发必备软件 bash -c "$(curl -fsSL https://git
Robocup3d
一、 比赛介绍 RoboCup 仿真比赛是一个能为多智能体系统和模拟智能进行研究、教育的工具。比赛是在一个标准的计算机环境中进行的,提供了一个完全分布式控制、实时异步多智能体环境。通过这个平台,可以测试各种理论、算法和Agent体系结构。在实时异步、有噪声的对抗环境中,研究多智能体的合作对抗问题。当然,仿真组的比赛使用的机器人并非是真的机器人。一个机器人是一个Agent, 它拥有自己的大脑,
手机游戏开发
概念 手机游戏开发指专门制作和开发手机游戏。因为移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。 现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。除了语音数据以外,它们还可以发送和接收其它类型的数据。所以这样的网络游戏也可以在手机上实现。 简介 当然就处理能力和性能而言,当前阶段的支持Java的手机很接近第二代控制台游戏
Open3D 计算点云基本特征
在 Open3D 中,可以通过 PCA(主成分分析)来求得点云的特征值和特征向量。然后基于这些特征值,进一步计算各种几何特征,如线性、平面性、球度等。
Linux 内核参数:meminfo
内存管理是一个相对复杂的内核模块,错综复杂的数据结构和管理逻辑。Linux 内核为了帮助开发者从宏观上把握内存的使用情况,在几大核心数据结构中都有相应的计数统计,如物理页面使用情况、伙伴系统分配情况、内存管理区的页面使用情况、内存回收扫描回收情况、内存规整触发情况等等。本文要分析的节点meminfo是Linux 操作系统中查看系统内存最准确(meminfo 中有内存黑洞)的方法,它包含当前时刻系统的所有物理页面的信息。
【手机开发岗位职责|手机开发是做什么的】-看准网
背景资料3G时代的到来,使得手机应用日渐热门,由于手机携带方便,并且是生活必带随身用品,而且信号覆盖广,操作便捷,使得人们对其给予了越来越高的期望。大家期待各种常见的或是重要的信息化系统、互联网应用可以被移植到手机上同步使用,使用户无论在何时何地,都可以连线精彩的网络世界,登录信息系统。为此,如何进行手机开发,如何在手机上催生各种多姿多彩的精彩应用,日渐成为整个ICT产业关注的焦点。移动终端的开发...
项目篇:移动平台机械臂视觉定位抓取实施(基于ROS架构)
ROS包内容: 这篇日志的目的是快速项目实施,所以详细的部分会不断补充。 1、相机采集包(创建抓取图像服务,单张) Realsense Camera(微软深度摄像头,官方提供ros包) Pylon Camera(basler相机,官方提供ros包) 2、定位算法包(抓取图像,定位标志物) Aruco_ros (二维码定位,官方提供ros包) Apriltag (二维码定位,官方提供ros包)...
用手机编程可以开发哪些项目?
思考完成好的,我现在需要回答用户关于使用手机编程可以开发的项目类型及示例的问题。首先,我得理清楚用户的需求,他们可能想知道在手机上进行编程可以做什么样的项目,以及具体的例子是什么。根据用户提供的引用,特别是引用[3]提到了Android手机端的编程开发软件,比如JAVA编辑器高级版,支持代码预测和实时代码分析,还能运行Java程序,甚至支持Maven项目。这说明在手机上是可以进行Java开发的,可能包括简单的应用程序或者使用库的项目。
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
【开发者手机开箱】开源!OpenHarmony手机 CPU信息应用
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
手机应用,移动开发
移动开发也称为手机开发,或叫做移动互联网开发。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也称作为无线开发。 移动应用开发是为小型、无线计算设备编写软件的流程和程序的集合,像智能手机或者平板电脑。移动应用开发类似于Web应用开发,起源于更为传统的软件开发。但关键的不同在于移动应用通常利用一个具体移动设备提供的独特性能编写...
手机运行lua_手机上的安卓开发
你们好我是子墨大人从这一期我开始制作手机上的安卓开发,为了解决一些创业团队初期开发制作等麻烦问题,也可以从0基础真正的学会安卓开发,以下是目录列表。1............界面熟悉以下是一些介绍:一,之前提到了麻烦一词,那么本教程就是致力于解决这样的开发中的麻烦:1,学习Java或者kotlin太麻烦?用简洁方便的lua语言解决。2,电脑上安装android studio或者ecl...
怎么开发手机网站手机网站开发手机网站建设
怎么开发手机网站手机网站开发教程 传统的互联网,一般都有PC版本的web页面,有些也有手机版的wap页面。手机网站是指用WML(无线标记语言)编写的专门用于手机浏览的网站,通常以文字信息和简单的图片信息为主。于手机的屏幕尺寸和CPU处理能力有限,专门为手机进行优化的网站更为方便用户浏览。这也为网站设计提出了新的要求:网站要适应手机浏览。 手机网站发展趋势,现在手机用户日益增多,
小米手机开发者选项在哪?小米手机怎么打开开发者选项
小米手机开发者选项在哪?为什么我们会问起这个呢?因为普通的设置我们都很容易就能找到,但开发者模式是需要用特殊的操作才能将其唤醒。小米手机怎么打开开发者选项?点进来学习一下吧!
基于开发者空间鸿蒙云手机体验鸿蒙开发
本文详细介绍了如何从零搭建鸿蒙手机开发环境并连接鸿蒙云手机进行应用开发。主要内容包括:获取AK/SK密钥、下载DevEco开发工具、创建和操作鸿蒙云手机实例、通过CLI建立远程连接隧道、配置DevEco Studio开发环境,以及最终在云手机上成功运行调试"Hello World"应用的全过程。文中还提供了常见命令说明和注意事项,帮助开发者快速上手鸿蒙云手机开发。目前该服务处于公测阶段,提供180小时免费使用时长。
1万+



被折叠的 条评论
为什么被折叠?



