社区
移动开发其他问题
帖子详情
宏观讨论手机软件设计问题
燕山月
2004-08-04 01:13:56
各位大人好:
如何从宏观上去把握,去设计手机软件。
小弟的看法是,首先是操作系统层,其次是中间层,然后是上层的GUI描画,DB的保存等,小弟对这个了解很少,没有看到过完整的文档,欢迎各位达人指教
...全文
294
7
打赏
收藏
宏观讨论手机软件设计问题
各位大人好: 如何从宏观上去把握,去设计手机软件。 小弟的看法是,首先是操作系统层,其次是中间层,然后是上层的GUI描画,DB的保存等,小弟对这个了解很少,没有看到过完整的文档,欢迎各位达人指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xh0001
2004-08-30
打赏
举报
回复
这个论坛中好像有很多这样的帖子,自己搜索一下吧,我不像一个问题回复N遍。有一个帖子中对收集软硬件框架结构的描述很好。大家也做过讨论,还请参考。
flinx
2004-08-29
打赏
举报
回复
手机软件大概可以分为3层 layer1 2 3在家底层驱动 MMI 所谓的操作系统 协议 那是人做好的 就是让你去做也很难开花出来
youcanrun
2004-08-09
打赏
举报
回复
顶
flyhuang
2004-08-07
打赏
举报
回复
现在其实国内大部分的还是在给定解决方案的情况下,通过对自己使用解决方案的熟悉来进行二次开发,目前国内TI的平台使用的最多.
国内的公司大部分都是在做这种二次开发.我已经在这个行业做了三年.总是感觉很多加入到这个行业的工程师,心态都很急,都是要求做什么协议,硬件驱动等等所谓的底层.对做运用总是不屑.
还是觉得做人应该实际些,所谓越是底下的东西对你对整个系统了解的要求越高.
就我个人认为目前手机上的开发由两部分组成
与网络相关和与网络无关的.
与网络无关的部分就是普通的嵌入式系统所要面临的部分
与网络相关的部分则是普遍国内工程师欠缺的.
nj_draker
2004-08-05
打赏
举报
回复
中高移动互联应用平台 http://www.active-web.net
本系统旨在帮助SmartPhone手机、PocketPC、PDA等移动终端设备用户通过GPRS或者CDMA连接到INTERNET后,可以直接访问本地局域网络的所有资源,包括数据库查询、文件浏览、文件上传和下载。
系统可以检索本地网络中大多的数据格式,可以无缝挂接到已经存在的各种数据库应用系统,无需二次开发,即可以轻松检索各种数据库资料,将本地数据库应用延伸到掌上。
系统与具体业务数据无关,支持各种类常用类型的数据库和文件管理功能,能快速的将已有的本地网络应用延伸到无线设备平台,系统走GPRS和CDMA,无需具有SP资格,灵活自主使用,无需任何第三方系统支持和许可。
1、数据查询:
对于已经存在的本地数据库系统,可以连接到本系统中,支持MsSQLServer.Access.Oracle等各种常用的数据库。
2、数据输入:
如果需要手机用户及时输入信息提交到公司数据库,可以利用本平台随时定义出输入表单,让手机用户输入,输入后按照定义要求保存到本地数据库、电子表格等。
3、文字文件:
可以浏览本地网络中文本文件、本地PC用户可以直接将文本内容放到服务器上供手机查阅。
4、电子表格:
可以查阅电子表格中的数据,逐行查阅显示,屏幕可以移动位置和大小,以便显示更多内容。
5、各种图片:
可以查阅各种图片、PDF文件。
6、文件上传:
支持文件上传到服务器、和从服务器下载文件,浏览网络共享。
7、摄像头:
可以启动摄像头,捕获瞬间图片,进行查看。
LLM
2004-08-05
打赏
举报
回复
强烈要求各位大侠现身说法,我也想知道:)
sclarkca810619
2004-08-04
打赏
举报
回复
i think you are thinking about a big mobile phone software. but acctually, if you are in a small company, the envionment will bind up your ability mostly.
there are no DB at all you can use:)
android系统原理及开发要点详解
本书内容 本书的各个章节及其组织方式如下所示。 第1章“Android系统概述”,概述Android系统方面的内容,包括智能
手机
平台的发展历程、Android系统的特点、Android的3种开发工作,以及Android的2种不同的开发方式。 第2章“Android系统开发综述”,介绍Android系统开发的综述性内容,包括工具使用、获得代码、编译系统、仿真器运行、SDK使用等。 第3章“Android的Linux内核与驱动程序”,介绍Android内核的特点、Android中使用的专用驱动程序、Android系统可能使用的标准设备驱动。 第4章“Android的底层库和程序”,介绍Android系统的基础程序,以本地程序为主。 第5章“Android的Java虚拟机和Java环境”,这是介于本地和Java层之间的相关内容,主要介绍Android的Java虚拟机Dalvik的基本概念、Android Java程序的环境、JNI的使用方法,以及Java框架的启动流程等。 第6章“Android的GUI系统”,包括Android GUI系统架构、底层的pixelflinger和libui库、Surface系统、Skia和2D图形系统、Android的OpenGL和3D图形系统等内容。 第7章“Android的Audio系统”,主要是音频的输入输出环节,音频系统从驱动程序、本地框架到Java框架都具有内容。 第8章“Android的Video输入输出系统”,介绍Android的Video输入输出系统,包括Overlay系统和Camera系统两个部分,前者只有本地的内容,后者各个层次均有内容。 第9章“Android的多媒体系统”,介绍Android的多媒体系统的核心部分,包括Android中多媒体系统的业务、结构、多媒体系统的核心框架、OpenCore系统结构和使用等内容。 第10章“Android的电话部分”,介绍Android系统在电话方面的功能,Android是智能
手机
系统,电话是其核心部分。 第11章“Android的连接部分”,主要包括WiFi、蓝牙及定位系统等,这些Android的连接部分也具有从驱动层到Java应用层的结构。 第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构,相比其他系统,传感器系统的各个层次都比较简单。 第6~12章分模块介绍Android的几个核心系统,主要是本地框架和Java框架方面的内容,兼顾应用程序和驱动层,这是本书的重点。 第13章“Android应用程序概述及框架”,介绍Android应用程序层的基本概念和应用程序框架,这部分内容是Android自下而上的第4个层次,可以基于源代码或者SDK开发,它们之间的差别非常小。 第14章“Android应用程序的主要方面”,介绍Android应用程序层开发的各个方面,基本上是横向内容,包括应用程序的基本控制、各种UI元素的使用、图形API使用3个方面的内容。 第15章“Android应用程序的设计思想”,本章的内容是基于通用的应用程序和GUI程序的通用设计思想,结合Android系统自身的特点,提出一些值得注意的
问题
和设计方法。 本书读者 本书适应广大的读者群,力求在Android的系统移植、应用程序开发、系统框架改进方面给读者全面的支持。不同的读者在学习本书时,应该使用不同的方法。 Android初级开发者:在本书指引下阅读代码,搭建系统开发环境,对于Android应用程序的开发者,重点关注后3章的内容。 Android中、高级开发者:通过本书的引导,学习系统架构,关注开发要点,并尽量使用
手机
系统的通用设计思想、软件工程思想、系统工程思想来指导Android系统学习。 嵌入式Linux系统学习者:将Android作为一个集Linux核心和应用层程序于一体的系统进行学习,并可以利用Android的仿真环境运行和调试程序。 读者在学习本书的过程中,应尽量对照本书的框图和手头的Android源代码,这样可以达到事半功倍的效果。本书在重点代码中加上大量的注释,帮助读者阅读,对于非重点的代码,不占用本书的篇幅,读者可以参考开放的源代码。可以采用顺序读和重点读相结合的方式学习本书,顺序读关注系统框架,重点读关注开发要点。 本书作者 本书在编写过程中提炼和综合Android早期开发者的经验、中国大陆Androidin社区的开发成果,以及各位专家的经验和技术,这是本书出版的知识源泉。本书主要由Androidin社区的两名核心技术专家韩超和梁泉领衔规划和编著,韩超统稿。总部设在南加州、专注于Android平台并提供其移动应用开发及解决方案的迈奔无线(mAPPn Inc.)也投入技术和人力参与了本书的工作。 参与本书编写的还有于仕林、张宇、张超等人,赵家维、黄亮、沈桢、徐威特、杨钰等参与了审校工作。 由于时间仓促,可能依然存在一些错误和
问题
,请读者见谅,欢迎读者
讨论
和指点。 编辑本段 目 录 第1章 Android系统概述 1 1.1 基础知识 1 1.1.1 Android开发系统的由来 1 1.1.2 移动电话系统开发模式 2 1.1.3 未来移动电话的功能及Android的优势 4 1.2 Android的开发工作 6 1.2.1 Android移植开发 6 1.2.2 Android应用开发 8 1.2.3 Android系统开发 9 1.3 Android的SDK与源代码 10 1.3.1 基于SDK的Android开发 10 1.3.2 基于源代码SDK Android开发 11 第2章 Android系统开发综述 13 2.1 Android的系统架构 13 2.1.1 软件结构 13 2.1.2 Android的工具 16 2.2 Android源代码的开发环境 18 2.2.1 Android源代码的获取和提交 18 2.2.2 Android源代码结构 21 2.2.3 编译 24 2.2.4 系统的运行 25 2.3 Android SDK的开发环境 32 2.3.1 SDK的结构 32 2.3.2 Windows环境SDK开发 33 2.3.3 Linux环境SDK开发 42 第3章 Android的Linux内核与驱动程序 44 3.1 Linux核心与驱动 44 3.2 Android专用驱动 45 3.2.1 Ashmem 45 3.2.2 Binder 45 3.2.3 Logger 46 3.3 Android使用的设备驱动 46 3.3.1 Framebuffer显示驱动 46 3.3.2 Event输入设备驱动 48 3.3.3 v4l2摄像头——视频驱动 50 3.3.4 OSS音频驱动 53 3.3.5 ALSA音频驱动 54 3.3.6 MTD驱动 56 3.3.7 蓝牙驱动 57 3.3.8 Wlan驱动 58 第4章 Android的底层库和程序 60 4.1 底层库和程序的结构 60 4.1.1 本地实现的基本结构 60 4.1.2 增加本地程序和库的方法 61 4.2 标准C/C++库bionic 64 4.3 C语言工具库libcutils 65 4.4 init可执行程序 66 4.5 Shell工具 72 4.6 C++工具库libutils 75 4.6.1 libutils的基本内容 75 4.6.2 Binder 76 4.6.3 libutils中的其他内容 82 4.7 Android的系统进程 85 4.7.1 servicemanager 85 4.7.2 zygote 87 第5章 Android的Java虚拟机和Java环境 88 5.1 Dalvik虚拟机和核心库 88 5.1.1 dex工具库和虚拟机的实现 89 5.1.2 核心库 90 5.1.3 nativehelper库 91 5.2 Android的Java程序环境 91 5.2.1 Java类的层次结构 91 5.2.2 Android Java类的代码 92 5.2.3 Android系统API 92 5.3 JNI的使用 96 5.3.1 JNI的架构和实现方式 97 5.3.2 JNI的实现方式 97 5.3.3 在应用程序中使用JNI 99 5.4 系统服务的Java部分 101 5.4.1 Binder 102 5.4.2 ServiceManager 103 5.4.3 系统进程 103 第6章 Android的GUI系统 106 6.1 Android GUI系统综述 106 6.2 pixelflinger和libui库 108 6.2.1 pixelflinger 108 6.2.2 libui 108 6.2.3 输出/输入与硬件的接口 109 6.3 Surface系统 113 6.3.1 Surface系统本地接口 113 6.3.2 SurfaceFlinger本地代码 115 6.3.3 Surface的Java和JNI代码 119 6.4 Skia和2D图形系统 121 6.4.1 Skia底层库 121 6.4.2 Android图形系统的JNI接口 124 6.4.3 Android的图形包(graphics) 125 6.5 Android的OpenGL系统与3D图形系统 125 6.5.1 OpenGL的本地代码 125 6.5.2 OpenGL的JNI代码 130 6.5.3 OpenGL的Java类 130 第7章 Android的Audio系统 132 7.1 Audio系统综述 132 7.2 Audio系统和上层接口 134 7.2.1 Audio系统的各个层次 134 7.2.2 media库中的Audio框架部分 135 7.2.3 AudioFlinger本地代码 138 7.2.4 Audio系统的JNI代码 140 7.2.5 Audio系统的Java代码 142 7.3 Audio的硬件抽象层 142 7.3.1 Audio硬件抽象层的接口定义 142 7.3.2 AudioFlinger中自带Audio硬件抽象层实现 144 7.3.3 Audio硬件抽象层的真正实现 150 第8章 Android的Video输入输出系统 151 8.1 Video输入输出系统综述 151 8.1.1 Android的Overlay系统结构 152 8.1.2 Android的Camera系统结构 153 8.2 Overlay系统 155 8.2.1 Overlay系统的框架部分定义 156 8.2.2 SurfaceFlinger系统的Overlay部分 158 8.3 Overlay的硬件抽象层 161 8.3.1 Overlay系统硬件抽象层的接口 161 8.3.2 Overlay系统硬件实现框架 164 8.3.3 Overlay系统硬件实现的注意事项 166 8.4 Camera系统与上层接口 169 8.4.1 Camera本地代码框架 169 8.4.2 CameraService 176 8.4.3 Camera的JNI代码 179 8.4.4 Camera的Java代码 182 8.5 Camera的硬件抽象层 182 8.5.1 Camera硬件抽象层的接口定义 182 8.5.2 Camera硬件抽象层的桩实现 184 8.5.3 Camera硬件抽象层的硬件实现 188 第9章 Android的多媒体系统 190 9.1 Android多媒体系统的结构和业务 190 9.1.1 多媒体系统的
宏观
结构 190 9.1.2 多媒体的各种业务 192 9.2 多媒体系统的各个层次 199 9.2.1 libmedia的框架部分 199 9.2.2 多媒体服务 208 9.2.3 多媒体部分的JNI代码 213 9.2.4 多媒体部分的Java框架代码 215 9.2.5 android.widget.VideoView类 216 9.3 多媒体实现的核心部分OpenCore 216 9.3.1 OpenCore概述 216 9.3.2 OpenCore的层次结构 217 9.3.3 OpenCore的OSCL部分 219 9.3.4 OpenCore的文件格式和编解码部分 221 9.3.5 OpenCore 的Node 222 9.3.6 OpenCore 的功能扩展 223 9.3.7 OpenCore的 Player 226 9.3.8 OpenCore 的Author 236 第10章 Android的电话部分 243 10.1 Android电话部分综述 243 10.2 Modem驱动 243 10.3 本地的RIL代码 245 10.3.1 简介 245 10.3.2 RILD守护进程 246 10.3.3 libril库 247 10.3.4 RIL的实现库Reference RIL 247 10.3.5 Request(请求)流程 248 10.3.6 Response(响应)流程 249 10.3.7 RIL的移植工作 251 10.4 Java框架及应用 251 10.4.1 基本架构 252 10.4.2 呼叫 255 10.4.3 短信 256 10.4.4 数据连接 257 10.4.5 其他框架部分及其他应用 258 第11章 Android的连接部分 259 11.1 WiFi部分 259 11.1.1 WiFi基本架构 259 11.1.2 WiFi本地实现 260 11.1.3 WiFi的Java和JNI 263 11.1.4 Settings中的WiFi设置 265 11.1.5 WiFi工作流程实例 265 11.2 蓝牙部分 267 11.2.1 蓝牙基本架构 268 11.2.2 蓝牙用户空间库bluez 269 11.2.3 bluez适配层 272 11.2.4 蓝牙的JNI和Java部分 272 11.3 GPS和定位部分 280 11.3.1 定位系统基本架构 281 11.3.2 定位系统驱动层 281 11.3.3 GPS本地实现 282 11.3.4 GPS JNI实现 283 11.3.5 定位系统Java实现 284 第12章 Android的传感器系统 286 12.1 传感器系统综述 286 12.2 传感器系统层次结构 288 12.2.1 传感器系统的各个层次 288 12.2.2 传感器系统的JNI 288 12.2.3 传感器系统的Java代码 290 12.3 传感器系统的硬件抽象层 291 12.3.1 传感器系统硬件抽象层的接口定义 291 12.3.2 传感器系统硬件抽象层的示例实现 293 12.3.3 传感器系统硬件抽象层的实现要点 296 12.4 Sensor的使用 296
嵌入式
软件设计
方式与方法
思从深而行从简软件开发,难的不是编写软件,而是编写功能正常的软件。软件工程化才能保证软件质量和项目进度,而设计模式使代码开发真正工程化,设计模式是软件工程的基石。所谓设计模式就是对常见
问题
的通解,合理地运用设计模式可以很好地解决很多
问题
,每种模式针对一个通用
问题
,以及该
问题
的核心解决方案,这也是设计模式能被广泛应用的原因。真正的高手能云淡风轻地用最简单的方法解决最复杂的
问题
,这也是高级程序员与新手的本质区别之一。
Java软件架构总览
总结分析了Java平台开发的多种软件架构体系,供大家参考。本套视频只做架构的
宏观
介绍,不做细致分析
软件设计
实践
1)什么是优秀的设计? 2)优秀设计从分析需求开始 3)软件系统不是木桶型的 4)
软件设计
的“大道理” 5)规划系统的骨架——架构设计 6)打造系统的底蕴——数据库设计 7)细节决定成败——详细设计 8)用户感觉好才是真的好——用户体验设计 1)什么是优秀的设计? 1.1. 什么是优秀的设计? 某项目的设计文档评审会上,各路技术大牛
绝对好文:嵌入式系统的软件架构设计!
要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站。1. 前言嵌入式是
软件设计
领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些
问题
又具有相当的通用性,可以推广到其他的领...
移动开发其他问题
790
社区成员
13,285
社区内容
发帖
与我相关
我的任务
移动开发其他问题
移动平台 其他移动相关
复制链接
扫一扫
分享
社区描述
移动平台 其他移动相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章