06 2013 档案
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 面向完整的业务应用处理。对于不同类型的业务应用,定制其特有的处理流程和不同基础服务的组合,对基础服务进行封装,对特有应用功能在继承基础服务的前提下进行定制开发。 如图所示,体现了应用层与服务层的调用关系,新业务首先通过初始化优先级定义、流程定义(业务编码),通过核心层的流程调度及状态机,对服务层进行模块组合,最终把整合的结果数据返回给每个应用系统。
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12294服务调用 服务调用分为同步调用、异步消息、批量文件、批量数据四种形式:4.1同步调用 在通信连接中,同步通信需要一个发送器和一个接收器来协同内部处理过程,这种协同表明同步通信要求高度耦合,通信由发送器和接收器协同完成,发送器和接收器的操作都依赖于请求过程。发送器发送下一个通信请求首先需要拿到接收器发回的应答结果或确认接收信息。4.2异步消息 异步通信并不需要发送器与接收器协同操作来完成通信,其耦合程度比同步通信的低。异步通信主要的实现方式为消息队列,通过这个队列实现这一对系统...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12293服务调度机制 在SOA体系中,实现服务层的调度机制主要包括:服务注册与发现、服务调用、服务监控等。3.1服务注册与发现——UDDI UDDI 提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。UDDI 构建于网络传输层和基于 SOAP 的 XML 消息传输层之上。诸如 Web 服务描述语言(Web Services Description Language,WSDL)之类的服务描述语言提供了统一的 XML 词汇(与交互式数据语言(Interactive Da...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12292服务接口模式 服务接口主要包括WebAPI、WebService、EJB、RMI等。2.1WebAPI Web API简单来说,便是透过开放的因特网传输协议,将提供的服务内容以标准的界面来定义,以便进行点对点之间的服务整合。由于运行的平台是在Web架构之上,故常见的技术像是HTTP中的GET/POST、SOAP/HTTP, XML/RPC等,都是主要的组成架构,所定义的数据交换大都是属应用层以上。由于HTTP为企业对外及对内均会开放的传输协议,业已发展成熟,故以HTTP为基础的We...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229服务层 服务层主要体现了SOA体系下的组件复用和业务复用机制。服务的边界定义决定于粒度和耦合度。 粒度表示的是一个服务的大小,它可以理解为服务操作的范围,粗粒度的服务,操作的内容广而且杂;细粒度的服务,操作的内容细而且简单。粗粒度的服务设计,可以减小服务之间的耦合性,但付出的代价就是增加服务的复杂性,服务具备了太多的功能,增加了设计的复杂性和维护的难度;细粒度的服务,可以让服务的实现变得简单,但这样会增加服务的数量,服务过细过多,这样必然有一些服务需要组合才能实现一定的功能,那样就增...
阅读全文
摘要:ServletActionContext.getServletContext().getRealPath("/UploadImages")获取的结果可能是windows:"d:\tomcat\webapps\projectname\UploadImages" linux:"/usr/local/tomcat5/webapps/projectname/UploadImages" 可以看到,我们只要获取ServletContext就可以获取文件在不同服务器上的物理路径了。而且操作都是在你部署项目的文件目录下。这样你在通过File对象来操作
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12294任务调度 系统通过闭环PID控制器,实现对工作项的优先级调度。工作项优先级动态调整包括流程实例和工作项两个层次,在模态维度方面包括静态参数和动态参数,其次还应该包括仲裁参数、噪音参数等,优先级应该是以上几种参数的综合。 随着时间的迁移,在无序控制下,完成的时间是无法预测的,对于稳定的系统而言,取决节点的个数和平均处理量。在时间优先级控制中,根据最大吞吐率原则,优先级将随着时间加速递增,对于一个系统而言,虽然大部分节点在处理后期才发现并及时的修正优先级,但由于没有考虑到流程的处理估算...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12293流程数据管理 流程数据的管理包括两大类数据的管理,一是定义时,配置信息,流程定义的管理;二是运行时,流程实例数据(状态、上下文数据),流程工作项数据,流程控制引擎监控数据。3.1配置信息 流程管理系统的全部配置信息,如流程控制引擎的调用地址,任务队列配置等,存放于关系型数据库配置信息表中3.2流程定义 通过可视化的流程定义设计器,可以设计出不同流程模型对象,对设计出来的流程模型对象进行系列化(Serialize)处理,按二进制格式输出,就是流程定义数据;流程定义的存储是存放在...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12292异步流程控制机制 把当前工作项的提交动作和下一个工作项的生成动作分开,成为两个原子操作;当用户提交一个工作项时,只返回当前该工作项数据提交成功与否的结果,而不继续实时计算生成下一个工作项,下一个工作项的生成由后台引擎异步处理,这样避免了两个操作的串行,以获得更高的吞吐量、效率。 当用户提交给流程引擎一个工作项时,将不需要经过流程引擎计算经历长时间的等待,而是立即返回给用户提交成功与否的结果;流程引擎将通过后台的引擎来处理提交,从而产生新的工作项。异步流程引擎方式是典型的流水线、工厂...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229核心层 核心层主要提供后台业务集中处理中最基本、共性的信息处理、流程调度和相关的管理功能,如任务调度、路由确定、事务一致性管理、任务拆解合并、优先级管理等。核心层对业务处理中的各项工作进行高度的抽象,只管理共性的属性和操作,功能相对简单,具有较高稳定性和处理效率,并对外部服务提供基础调用接口。1流程控制引擎 流程控制引擎作为流程管理系统的核心部分,主要提供了对于流程定义的解析以及流程流转的支持。流程定义文件描述了业务的交互逻辑,流程控制引擎通过解析此流程定义文件按照业务的交互逻辑进行...
阅读全文
摘要:1图像获取 全景图像素材的获取有两种方式:一是采用专门全景设备,如全景相机或者带有鱼眼镜头或者广角镜头的相机;二是利用普通相机拍摄局部图像,然后经过投影后拼接形成全景图。 第一种方法的优点是操作简单,无需复杂建模,非常容易的能够形成全景图,缺点是专用设备价格非常昂贵,不易普及和使用。 第二种方法对拍摄要求非常高,通常需要借助一些设备,如三角架等完成拍摄。相对前者更加复杂,但是费用低,仍然为目前的主流。2图像投影 由于相邻局部实景图像是在相机转过了一定的角度,在不同的视角上拍摄得到的,因此它们的投影平面存在一定的夹角。如果对局部图像直接进行无缝拼接,将会破坏实际场景中视觉的一致性,比如把一曲线.
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 在上一节,我们已经完成了TomJetty服务器处理静态页面请求的功能。但是只能处理静态页面请求的服务器并不能满足我们的要求,所以本节我们将为TomJetty服务器完成动态页面请求的处理工作。 所谓动态页面请求,无非就是客户端发送一个请求的url地址或者将一些请求参数提交给某一个url地址,服务器端首先接收到这个url地址并检索其在服务端程序中对应的某个处理类(Servlet),然后在该处理类中执行业务逻辑后产生结果,最终转发给相应的页面在客户端浏览器中显示结果。1动态页面请求处理 ...
阅读全文
摘要:============ 查询 ===================1.查询oracle用户的默认表空间和临时表空间select default_tablespace, temporary_tablespace, d.username from dba_users dwhere d.username like '%YGJ%'group by default_tablespace, temporary_tablespace, d.username2、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291逻辑架构 某大型银行深化系统的整体逻辑架构是依据平台的建设目标进行设计的,按照主流技术标准采用分层的技术架构,在Java EE、SOA等标准规范体系下,将最基本的以及共性的信息处理、流程调度、优先级、权限、路由等相关的功能作为平台运维的核心层,以“工厂化”、“流水线”的指导思想建立起数据录入、凭证登记、影像扫描、传输、验印、OCR识别、安全加密、监控等等可共享的业务服务模块,并最终仅仅通过业务流程定义、客户化模块定制等简单的工序,就可以实现业务服务模块的合理调度和灵活组装,支撑起各类前后...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_12291Java EE Java EE(Java Platform,Enterprise Edition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291糅合技术(Mashup) Mashup是糅合,即一种交互式Web应用程序,它利用了从外部数据源检索到的内容来创建全新的创新服务。Mashup实质是将多种使用公共或者私有数据库的web应用,通过调用内容提供者的Web API,将信息糅合在一起,形成一个整合应用。Mashup一般使用源应用的API接口,或者是一些RSS输出(含atom)作为内容源;区别于Portal门户,Mashup不需要Portal容器就可以进行页面和内容的整合。 Mashup Web站点的特点就表现为它利用了从组织...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291技术定义1.1Mashup(糅合) 将多种使用公共或者私有数据库的web应用,通过调用内容提供者的API,将信息糅合在一起,形成一个整合应用。1.2WebAPI 以HTTP为基础,在Web架构之上,将提供的服务内容以标准的界面来定义,以便进行点对点之间的服务整合。常见的技术如HTTP中的GET/POST、SOAP/HTTP、XML/RPC等。1.3JSF 一种Web框架,用于展现层,提供近似于C/S模式的方式开发B/S模式。1.4Hibernate 常用的持久化框架,用语对...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 前面我们实现了TomJetty响应无参请求静态页面的功能,但真实情况下,几乎所有请求都得携带参数。不能处理用户参数请求的Web服务器就好比温室里的花朵,始终上不了台面。所以本节我们将为TomJetty加入响应用户参数的功能。此外,前面我们使用的提交请求的方式都是GET方式,但在实际情况下,POST方式使用的更广泛,所以我们也将给TomJetty增加响应POST请求的能力。1扩展RequestHeader类1.1在RequestHeader类中新增parameter属性,用于标示请求头中客...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229玉石短剑 奔到大殿,陈家洛捡起三柄玉剑,每人手中拿了一把,低声道:“玉器可以辟邪。”这时脚步声已到殿外。。。阿里和其余勇士捉到了一个桑拉巴的手下,迫着他带路,攻进了神峰。在大殿上,他们的刀剑都被磁山收了去,桑拉巴的武士拿玉刀玉剑来杀他们。然而阿里和他的勇士学会了本事,虽然空手,仍是一个个的和他们一起战死。 今天我们学习如何利用Android平台“玉石短剑”GridView来实现“九宫格”的图片效果,并提供对GridView中各张图片的单选和复选功能。采用“九宫格”展示图像的...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291How to AccessProtal(Simple) 用户可以通过传统上网或者无线上网的方式来访问Protal。而开发人员可以通过SOAP、RMI和自定义的通道类来访问暴露给外部调用的API来操作Protal。2Protal Interface(JSP168) Liferay被设计成能够部署符合Portlet应用接口(JSP168)标准的Portlet。另外,很多有用的Portlet(例如邮件、文档、日历、公告栏等)都已经与Portal绑定,而且可以把它们作为添加自定义Portl...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 上一节我们实现了将HTTP请求头的内容解析后打印到控制台上,让HTTP请求头的各个组成部分完全暴露在在我们面前。这个功能在IE浏览器的一款叫作HttpWatch的插件中有类似的体现,相信很多读者都用过它,利用HttpWatch查看网页请求和响应的日志信息功能来调试程序。前面讲到我们把HTTP请求头封装在RequestHeader类中,这个类有一个url属性,本节我们将利用它来定位服务器端的静态页面。1服务端静态页面 作为一个Web服务器,响应客户端发送的请求是首要任务,怎样设计它才...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229回部古剑 霍青桐一定神,说道:“我性命承公子相救,族中圣物,又蒙公子夺回。不论公子如何待我,都决不怨你。”说到这里,伸手解下腰间短剑,说道:“这短剑是我爹爹所赐,据说剑里藏着一个极大秘密,几百年来辗转相传,始终无人参详得出。今日一别,后会无期,此剑请公子收下。公子慧人,或能解得剑中奥妙。” 今天我们学习如何利用Android平台"回部古剑"ViewFlipper配合点击按钮的操作来实现左右滑动浏览图片的功能,像我们平日里在手机上查看电子相册、浏览电子书时所使用滑动翻
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229回部古剑 陈家洛英雄救美后,霍青桐送给他的定情之物回部古剑。陈家洛见霍阿伊方面大耳,满脸浓须,霍青桐却体态婀娜,娇如春花,丽若朝霞,先前专心观看她剑法,此时临近当面,不意人间竟有如此好女子,一时不由得心跳加剧。 今天我们学习如何利用Android平台“回部古剑”ViewFlipper配合手势Gesture操作来实现左右滑动浏览图片的功能。像我们平日里在手机上查看电子相册、浏览电子书时所使用滑动翻页操作,都可以用它来实现。下面给出该情景的案例:一、案例技术要点1.创建一个Vi...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229白虹剑 殷天正从身旁包袱中取出一口长剑,对张无忌道:“这柄白虹剑送了给你,这剑虽不如老贼尼的倚天剑有名,但也是江湖上罕见的利器。”说着伸指在剑刃上一弹,那剑陡地弯了过来,随即弹直,嗡嗡作响,声音清越。 今天我们学习如何在Android平台“白虹剑”EditView中输入特定的字符,并且具有校验功能。类似于Java EE应用前端程序校验用户输入的内容是否符合当前表单对应输入域所支持数据类型。下面给出该情景的案例:一、案例技术要点EditText布局设置android:digi...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229凝碧剑 张召重一挺凝碧剑,纵到陈家洛身前,说道:“你年纪轻轻,居然有这身功夫,你师父是谁?”。。。周绮拿了凝碧剑细看,找了几柄纯钢旧刀剑,一剑削下,应手而断,果然锐利无匹。徐天宏在一旁微笑注视。 今天我们学习如何利用Android平台“凝碧剑”CalendarView实现万年历的效果。日历视图控件是在3.0Honeycomb之后引入的,可以显示网格状的日历内容。那么对于3.0Honeycomb之前的版本,如果需要使用日历控件只能借助于第三方。CalendarView使用起来非常方便,...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291概述 定义一系列算法,把它们一个个都封装起来,并且让它们可以相互替换。策略模式使得算法可以独立于使用它的客户而发生变化。2适用性(1)许多相关的类仅仅是行为存在差异的时候。“策略”提供了一种使用多个行为中的一个来配置一个类的方法。(2)需要使用一个算法的不同变体的时候。(3)算法使用了客户不应该知道的数据的时候。以避免暴露复杂的、与算法相关的数据结构。(4)一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现的时候。将相关的条件分支移入它们各自的Strategy类中...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229白虹剑 殷天正从身旁包袱中取出一口长剑,对张无忌道:“这柄白虹剑送了给你,这剑虽不如老贼尼的倚天剑有名,但也是江湖上罕见的利器。”说着伸指在剑刃上一弹,那剑陡地弯了过来,随即弹直,嗡嗡作响,声音清越。 今天我们学习如何在Android平台“白虹剑”EditView中插入表情图像,类似于我们在实际生活中用QQ聊天和发送短信时插入表情的操作。下面给出该情景的案例:1案例技术要点(1)java.lang.reflect.Field:利用Reflect相关技术获取资源文件夹下表情图片Id。(...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229紫薇软剑 “紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。”杨过心想:“这里少了一把剑,原来是给他抛弃了,不知如何误伤义士,这故事多半永远无人知晓了。 今天我们学习如何利用Android平台“紫薇软剑”Spinner实现下拉选项列表的功能,怎么样?紫薇软剑也是可以拉的哦^_^。在实际生活中下拉选项列表出现的场合就太多了,像选择语种、省份、城市、年限、薪资、职业等,真可谓是举不胜举。下面给出该情景的案例:1案例技术要点(1)从数据源采集数据分别填充ArrayAdapter和Simp...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229一、课题背景 办公自动化系统是让人们利用现代科学技术来有效地管理和交流各种信息的工具,是把计算机技术、通信技术、系统科学和行为科学应用于传统的数据处理技术难以处理的数量庞大而结构又不明确的业务处理工作的一项综合技术。二、课题目的和意义 办公系统是企业信息系统的重要组成部分,办公信息在管理信息系统中占相当大的比重。对办公信息的有效管理、控制和使用,能大大提高办公效率,解决我国目前存在的办公效率低的状况。办公信息和业务信息是相互关联不可分割的,二者的有机结合能充分利用各方面信息...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 前面我们对于实现TomJetty做了一些知识铺垫和复习,息知了HTTP请求的头部的组成元素。目前的TomJetty服务器已经能够成功启动,可是请求一旦过来却又看不懂^_^。所以本文就来解析HTTP请求头,剖析它的各部分。让TomJetty服务器能够明白它的意图。1HTTP请求头解析(1)编写一个RequestHeader类,用户封装请求头对象。package cn.lynn.tomjetty; import java.util.HashMap; /** * 封装请求头 * @aut...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229银弧刀 陆无双抬起头来,只见四名乞丐,一字排在门外,或高或矮,一齐望着自己。她曾用银弧刀伤了一个乞丐,一见这四人来意不善,心中暗暗吃惊。。。杨过听了她声音,也是大吃一惊,只听另一个女人声音道:“那叫化子背上的,明明是师妹的银弧刀,就可惜没能起下来认一下。” 今天我们学习如何利用Android平台“银弧刀”ProgressBar来实现各种样式的进度条,白的黄的都有^_^。实际生活中进度条常常用来提示用户后台正在执行比较耗时的操作,请等待一会儿。当操作执行完毕时,它就随风逝去了...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229绿波香露刀 《天龙八部》乌老大:他一说完这番话,当即擎鬼头刀在手,绿光一闪,他身旁众人立时闻到“绿波香露刀”的腥臭之气。。。他料想这柄鬼头刀大有来历,但明明臭得厉害,偏偏叫什么“香露刀”,真是好笑。 今天我们如何利用Android平台“绿波香露刀”SeekBar实现拖动一定范围内的变量值功能,现实生活中经常用于拖动流媒体文件的当前播放进度和显示网络文件加载缓冲区。下面给出该情景的案例:一、案例技术要点1.SeekBar布局设置android:max="100":设置
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229九环刀 出自《碧血剑》山东盗首沙天广手下杀豹岗寨主。第七阵比兵刃,杀豹岗寨主提了一柄泼风九环刀上阵,威风凛凛,果然一战成功,把对方的手臂砍伤了。 今天我们学习如何利用Android平台“九环刀”RatingBar实现评分功能,像电子相册、网上图书、微博文章等都有类似的评分需求。下面给出该情景的案例:一、案例技术要点1.android.widget.RatingBar类提供评分功能,它扩展了SeekBar和ProgressBar。2.为RatingBar对象设置OnRatin...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229传送门☞系统架构设计☞转载请注明☞http://blog.csdn.net/leverage_1229传送门☞GoF23种设计模式☞转载请注明☞http://blog.csdn.net/leverage_1229金蛇剑 金蛇郎君夏雪宜佩戴金蛇剑,此剑是五毒教三宝之一,夏雪宜是在下三个师父之一,在下得了此剑,习得金蛇剑法,如虎添翼,天下无敌!和电视剧的有些不同,YY的^-^。跟黄晓明版杨过那把挺像,难道穿越了?金蛇剑为什么就不像一条蛇,没看电视? 我去。。。 今天我们学习如何...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229淑女剑 淑女当使淑女剑,可惜郭大小姐并不是什么淑女,于是杨过成了独臂大侠。机缘巧合,练就了黯然销魂掌和“单臂大回环”^_^。 今天我们学习如何利用Android平台“淑女剑”HorizontalScrollView实现水平滚动浏览信息的功能,HorizontalScrollView使用起来非常简单,和ScrollView正好是一对“冤家”。下面给出该情景的案例:一、案例技术要点1.HorizontalScrollView控件中摆放一个LinearLayout。不能嵌套摆放其他支...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229君子剑 窈窕淑女,君子好逑。英雄美人,君子淑女,郎才女貌,珠联璧合。梁思成、林徽因结婚,有人赠联:梁上君子,林下美人。月明林下美人来。 今天我们学习如何利用Android平台“君子剑”ScrollView实现垂直滚动浏览信息的功能,ScrollView使用起来非常简单,和HorizontalScrollView正好是一对“冤家”。下面给出该情景的案例:一、案例技术要点1.ScorllView控件中摆放一个LinearLayout。不能嵌套摆放其他支持滚动的控件。2.设置Lin...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 上一节我们对于实现TomJetty服务器做了一些与Web有关的知识铺垫和回顾。那么从本节正式开始实现TomJetty服务器的“山寨”之旅。要想实现一个服务器,第一步要把服务器建立起来,并且能够正常运行,才能等待来自客户端的请求。考虑到这一点,我们本节就来处理TomJetty服务器的创建和启动工作。1服务器建立(1)新建一个名为TomJetty的Java工程(2)在工程根目录下新建一个tomjetty.config文件,用于提供服务器配置参数tomjetty.port=9527
tomje...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229玄铁剑 越是平平无奇的剑招,对方越难抗御。如挺剑直刺,只要劲力强猛,威力远比变幻奇妙的剑招更大。 本节我们学习如何利用Android平台“玄铁剑”TextView来实现跑马灯效果,在现实生活中,银行的息率轮播、证劵公司的股市行情,都是在一个矩形中循环显示一组信息,这种显示信息的方式就是“跑马灯”。下面给出该情景的案例:一、案例技术要点1.TextView布局设置android:ellipsize="marquee":当需要显示文本内容超过TextView的宽度(在该
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229玄铁剑 玄铁乃天下至宝,便是要得一两也是绝难,寻常刀枪剑戟之中,只要加入半两数钱,凡铁立成利器。“重剑无锋,大巧不工”,其中境界,远胜世上诸般最巧妙的剑招。 本节我们学习如何利用Android平台“玄铁剑”TextView导航到一个Activity,下面给出该情景的案例:一、案例技术要点1.android.text.SpannableString:提供一个总体文本是不可变的,但是支持局部对象(它所标记的)可以附加或分离。2.SpannableString类setSpan(....
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229玄铁剑 此剑剑身长愈三尺,两边剑锋均为钝口,剑尖圆圆似是半球,通体深黑,却隐隐透出红光。剑以玄铁制成,共重八八六十四斤。 本节我们学习如何利用Android平台“玄铁剑”TextView来显示表情图像和文字,下面给出该情景的案例:一、案例技术要点1.java.lang.reflect.Field:利用Reflect相关技术获取资源文件夹下表情图片ID。2.android.text.Html.fromHtml(...):提供包含Html标签格式的文本内容。其中的第二个参数ne...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。Tomcat 是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Je...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229玄铁剑 金庸武侠第一神剑!剑魔独孤求败四十岁前持之横行天下,后为神雕侠杨过所得,持之亦无敌于天下。神雕侠隐退前将此剑赠与小东邪郭襄。襄阳城破前,郭靖、黄蓉夫妇请高明工匠熔之铸成倚天剑、屠龙刀二神兵,并藏《九阴真经》、《降龙十八掌掌谱》与《武穆遗书》于其中。 本节我们学习如何利用Android平台“玄铁剑”TextView来显示丰富的文本内容(不同大小、字体、颜色的文本或URL),下面给出该情景的案例:一、案例技术要点1.android.text.Html.fromHtml(...):...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 前面我们谈到怎样管理和删除通知,以及怎样实现保存用户预期导航体验的通知。本文作为Android平台Notification系列的最终章,我们将会给通知融入更多DIY的元素,大胆地在这把“倚天剑”上烙下自己的印记^-^。亲,那些RPG网游的铁匠NPC貌似都有这功能。。。1显示进度的通知 通知可以包括一个动画进度指示器以显示用户正在运行的操作的进度状态。如果你能估计这种操作需要花费多长时间,可以使用“determinate”形式的指示器(一个progress bar)。如果你不能估计花...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 如果说足球是和平年代的战争,那么城管呢?伟大的人民曲艺家郭德纲先生曾经这样评价:借我城管三千,我能让世界和平!可见在当今社会中城管的威慑力有多大,尤其是中国的城管,你懂的^_^。本文欲借城管之名来引出Android平台对通知的管理也是十分强大的。话说世间尽是各种形态的“倚天剑”,如果没有法器能够降服它们,岂不是天下大乱。就像后羿射日的一样。各种样式的通知出现在通知抽屉中,怎么对它们进行有效的管理,让那些对用户有意义的通知出现在醒目之处,垃圾通知少出现或者根本就不出现,这样的设计才是实际意...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 上回我们提到在4.0ICS之后,Google为Android平台的Notification这把“倚天剑”注入了更多新鲜的元素,使其更加实用美观。Notification的样式从此变得丰富起来,以适应于不同情景的需要。就像最近非常流行的神曲《江南style》一样,在世界各个角落出现了各种方言的版本,为不同肤色、民族、信仰的人们所接受和喜欢。本文我们将向大家展示一下这把“倚天剑”的各种style。 一个通知就是一条消息,显示在你的应用程序之外的界面(通知栏)。当你告知系统需要发布一个通...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 话说下拉通知从“盘古开天地”开始就一直存在,并且不停地演化。可谓是“倚天即出,谁与争锋?”,直到Apple收编了Cydia中某个做仿制插件的开发者,才使得下拉通知登上IOS的“舞台”,其效果同样是大放异彩。至此“倚天剑”有了仿制品^_^,给Android平台设计者带来了前所未有的压力,他们卧薪尝胆,终于在4.0ICS之后,决定为下拉通知注入了更多新鲜的元素,使其更加实用美观。 1支持通用设置 在4.1Jerry Bean中,下拉通知支持通用设置。手机上,点击时间右侧的设置进入S...
阅读全文
摘要:概述 表示一个作用于某对象结构中的各元素的操作。 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
适用性 1.一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。 2.需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。 Visitor使得你可以将相关的操作集中起来定义在一个类中。 当该对象结构被很多应用共享时,用Visitor模式让每个应用仅包含需要用到的操作。 3.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作...
阅读全文
摘要:概述 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
适用性 1.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 2.各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。 首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。 最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。 3.控制子类扩展。 参与者 1.AbstractClass 定义抽象的原...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229一、共享数据 ContentProvider在Android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,我们学知道通过指定文件的操作模式为Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同样也可以对外共享数据。那么,为何还要使用ContentProvider对外共享数...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 BroadcastReceiver作为Android四大组件之一,不像Activity,没有可显示的界面。BroadcastReceiver包括两个概念,广播发送者和广播接收者(Receiver),这里的广播实际就是指Intent,程序可以自己发送广播自己接收,也可以接受系统或其他应用的广播或是发送广播给其他应用程序。 发送者可以通过类似Context.sendBroadcast接口发送广播,接收者通过Context.registerReceiver()动态注册或在And...
阅读全文
摘要:传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 本节我们学习Android四大天王的Service,如果把Activity比作是前台程序,那么Service就是后台程序,Service的整个生命周期只会在后台执行。它一般没有用户操作界面,运行于系统中不容易被用户发觉,可以用来开发如监控之类的程序。与Activity一样,Service也是通过Intent来调用。一、创建Service1.继承API的Service类public class CustomService extends Service {...}2.在Andro...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 本节我们学习Android四大天王的Activity,Activity密切关注用户能做什么,负责与用户交互。类似于Java Web中的页面Page,将一系列View装载起来通过内部的加载引擎展现给前台用户。可以说一个简单的Android应用就是由一组Activity组合而成。可见对于Activity的学习在整个Android移动开发学习中至关重要的一环。鉴于Android移动开发属于嵌入式系统开发的范畴,所以Google的工程师在Android平台构架设计上,将很多组件都设计成基于事件驱...
阅读全文
摘要:一、概述 将一个请求封装为一个对象,从而可以使用不同的请求对客户端进行参数化。对请求排队或记录请求日志,以及支持撤销的操作。二、适用性1.当抽象出待执行的动作以参数化某个对象的时候。2.当需要在不同的时刻指定、排列和执行请求的时候。3.当需要支持撤销操作的时候。4.当需要支持修改日志的时候。系统崩溃时,这些修改可以重做一遍。5.当用构建在原语操作上的高层操作构造一个系统的时候。三、参与者1.Command:声明执行操作的接口。2.ConcreteCommand:将一个接收者对象绑定于一个动作。调用接收者相应操作来完成要执行的操作。3.Client:创建一个具体命令对象并且设定它的接收者。...
阅读全文
摘要:一、概述 给定一种语言和其文法的一种表示,再定义一个解释器,该解释器使用表示来解释语言中的句子。二、适用性 当需要解释一种语言,并且可以将该语言中的句子表示为一个抽象语法树的时候。1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理。2.效率不是一个关键问题,最高效的解释器通常不是通过直接解释语法分析树实现的,而是首先将它们转换成另一种形式。三、参与者1.AbstractExpression:声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。2.TerminalExpression:实现与文法中的终结符相关联的解释操作。一个句子中的每个终结符需要该...
阅读全文
摘要:一、概述 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并且沿着这条链传递请求,直到有一个对象处理它为止。其设计思想是:给对多个对象处理一个请求的机会,从而解耦请求发送者和接收者。二、适用性1.有多个对象可以处理一个请求,到底是哪个对象处理请求,交由运行时刻自动确定的时候。2.你想在不明确指定接收者的情况下,向多个对象中的一个发送请求的时候。3.可以处理一个请求的对象集合应该被动态指定的时候。三、参与者1.Handler:定义一个处理请求的接口。可能的话实现后继链(option)。2.ConcreteHandler:链上的具体处理者。处理它...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何实现图片(理论上选取的图片实际尺寸应大于当前手机的屏幕尺寸)拖拉和多点触摸缩放功能。其中多点触摸缩放功能模拟器上不支持,需要在真机下测试。下面给出该场景的案例:1案例技术要点(1)图片变换矩阵(android.graphics.Matrix):提供记录图片位置、记录图片缩放比例、实现图片移动等。(2)图片坐标点(android.graphics.PointF):提供记录图片起点和中心点坐标等。(3)重写图片所在Activity的onTouch(...)方法,处理以下几个事...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何在Android应用中进行单元测试,分别测试业务方法和日志系统,并且给出相关的log记录,下面给出该场景的案例。1案例技术要点(1)为了使你的应用程序支持单元测试功能,需要在清单文件(AndroidManifest.xml)中添加如下配置:
(2)相关测试类需要继承android.test.AndroidTestCase类方可进行单元测试。2案例代码陈列AndroidManifest.xml ...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何利用Widget来显示系统当前的日期和时间,下面给出该场景的案例:1案例技术要点(1)创建TimeWidgetProvider继承于AppWidgetProvide类,并重写如下两个方法:onDeleted(...):当第一次向桌面添加Widgets的时候回调此方法onEnabled(...):当最后一个同类型Widgets实例被删除时回调此方法(2)创建TimerService继承于Service类,用于获取系统当前日期与时间。(3)通过获取AppWidgetManag...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 为了在Android创建一个动态的多面的用户界面,你需要封装UI组件和activity的行为到一种可以相互交换的act的模块中。我们能使用Fragment类创建这些模块,这行为有点像一个嵌套的act,它可以定义自己的布局和管理自己的生命周期。Fragment的好处已经越发明显,它是Android3.0新增的API。当一个fragment指定它的布局,它能以不同的组合配置到act中,为不同的屏幕大小修改你的布局配置,一个小屏幕可能只显示一个fragment,而在大屏幕中可能显示2个或2个以...
阅读全文
摘要:传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何实现一个自定义的窗口标题,下面给出该场景的案例:1案例技术要点(待整理)2案例代码陈列AndroidManifest.xml strings.xml Android自定义窗口标题 #00000000
main.xml 自定义样式文件:styles...
阅读全文
浙公网安备 33010602011771号