摘要:
实现一个系统时,需要将其分为不同的层次上进行设计;各层次如下: 1 软件系统 确定系统的框架结构;2 分解为子系统或包 将系统合理的分解为解不同的子系统,确定不同子系统之间的通信规则;常用的子系统: 业务规则:依赖于具体的业务; 用户界面:处理用户界面交互,窗口管理等; 数据库访问:隐藏数据实现细节,提供抽象的数据访问接口; 对系统的依赖性:对特定的系统依赖性进行封装; 这两个给人的感觉就太不一样!3 分解子系统中的类 子系统由多个类构成,对问题进行抽象,设计不同的类完成相应的功能; 基于接口的编程,类之间的通信方式;4 分解成子程序 确定类的细节... 阅读全文
摘要:
邀请 The Invitation 文/加拿大女诗人 Oriah我不在乎你如何谋生,只想知道你有何渴望,是否敢追逐心中梦想。我不关心你年方几何,只想知道面对爱情和梦想,你是否会无所保留,像个傻瓜般投入得透彻。生命的背叛,在你心口上划开缺口,热情逐日消减,恐惧笼罩心田,我想知道,你能否和伤痛共处,用不着掩饰,或刻意忘却,更别把它封堵。我想知道,你能否和快乐共舞,翩翩起舞,无拘无束,从嘴唇,到指尖,到脚趾头都把热情倾注。这一刻,忘记谨小慎微,现实残酷,忘记生命的束缚。我想知道,你能否从没天平淡的点滴中发现美丽,能否葱生命迹象中寻找到自己生命的意义。我想知道,你能否坦然面对失败,———... 阅读全文
摘要:
软件的首要技术使命便是管理复杂度。为何如此呢?复杂性: 都有过这样的经验:同时让你忙的太多东西,你肯定会丢三落四!虽然你忙的焦头烂额的,但结果却是不尽人意。 或者一件事情,但是其中包含的太多东西你总想一次性做好,这里也做那里也做,结果呢乱七八糟,重头再来…… 人的大脑处理能力有限,无法同时关注太多东西,关注东西太多将会导致某些遗漏和混乱;就像是玩杂耍:抛在空中的球两个是比较容易控制,增加复杂度两个以上球难度会增大很多很多;在代码设计过程中,如果关注的太多,将会越复杂,越复杂手忙脑乱势必会造成遗漏导致错误发生。需要同时关注的事情或者逻辑太多是不可取的,但是该软件中存在诸多逻辑和复杂的事... 阅读全文
摘要:
最近正好有些时间,Android也学了一个多月,发现要学习的东西非常的多。由于工作上不确定依然没有明确的方向;于是决定停下来看看书——代码大全。并记录下学习的过程。 软件开发的核心是软件构建;构建活动主要包括:详细设计,编码,调试;详细设计,编码,调试对于软件开发过程中是必不可少的,这个感觉只是将需求转化为实质性的编码工作,或者将思想用代码表达出来;说这种“构建活动”是核心,感觉有些牵强和不能理解;难道是翻译的不正确…需求分析和架构框架设计就不重要吗。 虽变化万端,而理为一贯。软件开发构建过程是建立模型的过程,这种模型都能够在生活中找到模型与之对应;借助生活中的实例模型帮助理解软件开发... 阅读全文
摘要:
Activity中UI框架基本概念 Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。一Activity相关概念Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建;View:最基本的UI组件,表示屏幕上的一个矩形区域;DecorView:是Window中View的RootView,设置窗口属性;Window:表示顶层窗口,管理界面的显示和事件的响应;每个Activity 均... 阅读全文
摘要:
PolicyManager工厂模式与动态加载 Android FrameWork——PolicyManager在学习Android跟踪setContentView执行过程代码的时遇到:Attach(){ //着实不清楚PolicyManager到底如何创建的,哪一个对象。 mWindow = PolicyManager.makeNewWindow(this);}其中用到Class.forName动态加载,Java是最近才学的还真不晓得有这样的用法;一 类之间关系于是就了解一下PolicyManager以及相关类实现方式;首先看一下各个类之间的UML图: PolicyManager:提... 阅读全文
摘要:
Android Activity学习笔记——Activity的启动和创建 最近学习Android相关知识,感觉仅仅了解Activity几个生命周期函数基本上没有任何意义的;于是想深入了解一下Activity到底是怎么一回事怎么运行来的;里面的东东真是叫个庞大;现在只能简单的了解其框架性的概念和流程;一 Activity概念 Android的核心不是Application而是Activity,至少在我们开发的时候是这样的; Activity就是被用来进行与用户交互和用来与android内部特性交互的组件,在应用程序中用到的所有activity都需要在manifest.xml文件中进行注册;... 阅读全文
摘要:
接上一篇:Mms模块ConversationList流程分析(1)三 联系人数据的查询 前面使用AsyncQueryHandler所获取到的cursor仅仅是查询了,所有对话信息数据;但是其中的联系人仅仅只是保存了其ID:recipientIds; 还需要根据此recipientIds获取其联系人的信息;这个就是在包装信息数据给ListItem使用的时候获取的;Conversation conv = Conversation.from(context, cursor);获取联系人相关信息;下面看下这个过程: 先从Conversation中的Cache中查找是否当前cursor所对应的Th... 阅读全文
摘要:
一 代码位置结构及相关类..\packages\apps\Mms\src\com\android\mms\ui:存放界面显示相关的类..\packages\apps\Mms\src\com\android\mms\data:存放界面显示需要的数据相关的类主要的类:ConversationList:信息对话界面——>ListActivityConversationListAdapter:适配器 ——>CursorAdapterConversationListItem:对话界面的ListItem View——>RelativeLayoutConversationListItemD 阅读全文
摘要:
Android的Application理解一 概述 在之前所使用的的框架:VC的MFC,MTK平台开发;这两个平台相似之处是:基于Application开发;MFC是基于Application的Document/View的方式,每个Application就是一个进程;MTK是基于Application的Screen/Page,Service的方式,每个Application都有自己的内存和管理方式;这两种方式的核心是:Application;在Android开发学习中从HelloWord开始,我没有能够见到Application的相关代码,而是以Activity为入口; 让我... 阅读全文