随笔分类 - 设计模式
摘要:OK,从现在开始,我们会一个要点一个要点的把Android目前在开发上比较中要的几个知识点从源码开始详细分析,当然,在这里,我主要的是分析framework层下的代码,今天我给分析是关于ActivityManagerService.java这个类,分析内容主要为其内部原理,由于本类代码比较多,所以我不可能在一个篇幅中全部给细细分析与展示出来,所以我主要分析其内部原理:好了先看下面:package com.android.server.am; 18 19 import com.android.internal.R; 20 import com.android.internal.os.Batter
阅读全文
摘要:1.简单工厂(Simple Factory)部分*针对接口编程可以隔离掉系统以后可能发生的一大堆改变。*用静态方法定义的工厂被成为静态工厂,这样就不用使用创建对象的方法来实例化对象,使用方便。但是这样做的缺点是无法通过继承来改变创建方法的行为。*简单工厂不是一种设计模式,但是它比较常用。2.工厂方法(Factory Method)模式部分----芝加哥风味匹萨店----public class ChicagoPizzaStore extends PizzaStore {
Pizza createPizza(String item) {
if ("cheese".equals
阅读全文
摘要:Media Frametowork是一个开源的媒体框架,在这里我们为什么要提到它,有几点,首先,它简化来媒体播放器的发展,其次,允许开发人员组装组建,再次就是能创造出更高质量与全新的播放器效果,这只是其一,更重要的是它给网络的货币化发展带来新的起点,以较低的成本与更轻便的周转方式来著称。 好了,细里,我先不详细介绍,后面会做几个DEMO给各位看看,先贴上主页吧:http://www.osmf.org/index.php,有时间,各位童鞋都去看看吧。。。。以后再详细介绍忘服来一个很重要的图:
阅读全文
摘要:根据需求要来实现一个类似微信的语音通话效果,想来下,现在来实现一个简单那的模型,可供遇到的人可作参考:废话不多说就直接贴代码吧:RecoderDemo.java:package com.jankey.record;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.graphics.Color;import android.media.MediaPlayer;import
阅读全文
摘要:*利用组合(composition)和委托(delegation)可以在运行时实现继承行为的效果,动态地给对象加上新的行为。*利用继承扩展子类的行为,是在编译时静态决定的;利用组合的做法,可以在运行时动态地扩展对象的行为。软件设计原则:类应该对扩展开放,对修改关闭。这就是我们常说的开放-关闭原则。*开放-关闭原则使类容易扩展,在不修改代码的情况下,通过搭配实现新的行为。这样的设计可以应对改变,比如增加新功能或需求发生变更。OO设计技巧:允许系统在不修改代码的情况下,进行功能扩展。*装饰者模式:动态地将责任加到对象身上。如果要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。*装饰者模式中,装
阅读全文
摘要:*观察者模式:定义了对象之间的一对多依赖关系,当一个对象(主题对象)的状态改变时,它的所有依赖者(观察者对象)都会收到通知并自动更新。*观察者模式实现了主题对象与观察者对象之间的松耦合,当有新的观察者时,无需修改主题对象的代码,只需要新的观察者对象实现接口。在程序运行的过程中,可以随时注册和删除观察者而不影响主体对象。*观察者模式使主题(Subject)对象和观察者(Observer)对象都可以被轻易地复用。软件设计原则:努力在交互对象之间实现松耦合,使它们之间的互相依赖降到最低,从而提高可复用性。*Java内置了对观察者模式的支持:java.util.Observable类和java.uti
阅读全文
摘要:面向对象(OO)的四个基本概念是:抽象、封装、继承、多态。软件设计原则:封装变化--把软件中那些在将来可能产生变化的地方独立出来,与其他部分分割以减少变化时对它们的影响。这样的设计可以使系统变得有弹性,更好地应对变化。软件设计原则:针对接口编程,而不针对实现编程。依据该原则,声明一个变量时要把它声明为超类型(接口或抽象类),而不是实现类。*继承的好处是实现了代码的复用。*软件开发人员花费在软件开发完成之“后”的时间要远多于完成之“前”,所以应致力于提高可维护性和可扩展性上的复用程度。软件设计原则:多用组合,少用继承。使用组合的方式可以实现代码的分割,使代码有更大的弹性,更好地提高了复用性。策略
阅读全文
摘要:很少人关注这个问题,我不多说,你没事看下,会有些特殊变化:下表列出了 Google Play 支持的设备。此列表是按制造商名称的首字母排序的。您也可以在此页面中查找自己的设备(PC:Ctrl + F,苹果机:Command + F)。如果您在使用 Google Play 网站或 Google Play 商店应用时遇到问题,请确保您的设备包含在下表中。如果不在,我们建议您与设备制造商联系以获取更多支持。请注意:列出的部分设备采用了官方型号。要查看设备型号,请在您的设备上依次转到设置>关于手机>型号。此列表的最后更新时间为2012 年 5 月 8 日。A| B |C|D|E|F|G|H
阅读全文
摘要:我们在苹果开发中,总会看到XCode,Interface Builder,Object-c这如此入耳入随的单词,但往往多数人在认为XCODE看着简单,InterfaceBuilder好似操作,而Object-c却望而生畏,如果作为我们只想需要初学才见的话,理解了它的语法,或者你已经懂了相关如,JAVA,或者C#,或者C,C++等语言的开发后,你会觉得任何一门语言,熟悉它的语法那是必须的,了解了它,你也就掌握了此语言60%的,好了,OK,希望这篇文章并不会让你感到看而疲惫一、我们怎么去理解Xcode、OBJECT-C、COCOA这是一个很简单的问题,但是也是一个很让人能够真正去理解的问题,多数人
阅读全文
摘要:我们总是在摸索着网站布局的效果展示,总是花费不少心思在考虑用户体验的极致所在,在这里我在一个国外的网站看到以下网站布局方式,实为好赞,所以贴下来分享,并从中我们可以去为移动终端这块做最新的参考与演化方式。。。。。Ld-siGn.de – Version 6Depthskins Design StudioCryingwolves FUTURE DESIGNCreative FlubyConcept – Web LayoutClassic layout.. v3byFinestateBook Store.byMy WorldDeltaOwaikeO.comYAPP PortfolioYorkWon
阅读全文
摘要:之前下的ANDROID4.0.1很顺利下来下来,有很多人问,后来才知道有很多人问关于报以下错误的上面是链接GOOGLE源码服务器超时,也就是说不能访问到GOOGLE源码服务器,这个问题,没想到在我重新装的机子上不小心发现了,既然发现来就出来解决下吧,刚开始,一开始,我们肯定是先看官方文档,看看情况:Using authenticationBy default, access to the Android source code is anonymous. To protect the servers against excessive usage, each IP address is ass
阅读全文
摘要:做了这么长时间的开发与管理,在命令上总是自见则过,往往却忽视了在其命令上的分享过程,所以现在稍微有点时间就把其命令的相关操作来简单的扫盲一番吧,也系统通过这种方式去授之以渔而不是鱼,好了,我以图解的方式来展示,当然我的习惯就是任何东西先看帮助文档或者命令,就今天我们这里要讲解的ADB命令在命令行中可以通过命令帮助来进行详细了解,废话不多说,先上图吧:以上为使用help来显示其相关的命令使用说明,当然那个如果你的英文足够好的话,其实这些都很简单,当然,如你不太习惯去看这些英文描述的话,那接下来就由我来帮助处理这样的问题吧,好了,我就以最初始的理解方式来进行翻译与讲解吧,OK:Android De
阅读全文
摘要:之前本想把ANDROID4的动画应用都写下来的,后来觉得自己想讲一套视频,以共编程爱好者更好的学习,但是由于时间问题一直没能如愿,前段时间录了些视频,自己感觉录制下来的效果并不理想,个人感觉自己的表达能力急需有待提高,在录制好后,自己听了遍,效果真是,那个差啊,不过没关系,我有信心把它录制好,并觉得录制一套免费的ANDROOID4完全开发视频,从底层分析到APP上线,说实话,之前一直给公司做,自己闲时抽了些时间给自己写了几个,比如说针对很多人面试难的面试宝典,还有人生宝典,个性展示等APP,处于自己设计的问题,总感觉不如人意,所以一直没上MARKET市场,哎,可能我真的还辨别不了商机与偏好的区
阅读全文
摘要:导读:开发者是否真的还需要一种新的编程语言呢?选择已经有那么多了,现有的语言都让开发者应接不暇,可是各种新的编程语言还是在以惊人的速度产生!答案就是随着多核CPU、云计算、移动及分布式结构的不断发展,简单的语法已经不能适用,我们需要更加强大的语言!而以下10种编程语言,或正在走向成熟,或还在开发,可是它们都以全新的视角演绎着软件开发的艺术,每一种语言,都有可能打开编程世界的新大门!No.1:DartJavaScript在Web的交互性方面运用得很好,但是当Web应用程序的代码行过多时,它的弱点就会显现出来,因此,Google推出了新的结构化Web编程语言Dart用以替代JavaScript。与
阅读全文
摘要:从听说您到认识您,直到现在您悄然离去已有数更之年, 虽然我从小就喜欢计算机,但是由于环境让我对计算机的理解并不是那么熟悉,可以说在我大学之前对计算机算是一个文盲,最多也只懂得聊天,玩点小游戏,看点电影,也莫过于看过一些最基础与最简单的编程方法~VB基本语法,然而在大学里使我有了足够的时间去了解关于计算机方面的知识,这时候我才知道计算机知识的渊博无法僻经,它让我纠结,让我在学习中不知所措,尽管在后来尝试进入企业工作的时间里,也是精不匹力,我很苦恼,为此生活于工作时常产生冲突,这让我很无奈,毕竟精神是需要建立在基本的物质基础之上的,环境也不时压抑着一个人面临思想复杂的选择,多数人在这种情景下都只.
阅读全文
摘要:之前之前用R4,现在一下就跳到用R7了,ANDROID4.0出来过后,应该有不少热机友敢望资疗吧,OK,在网上偶尔浏览的时候,看到有很多初学者希望了解在ANDROID中NDK应用的开发,不知道它是怎么开发与运行的,今天我就简单来图解一个HelloWorld的简单实列吧,以好供初学者做给力的参考,OK,不废话了,直入正题吧:首先,我们得配置环境,当然这是在你本来就有SDK开发环境的情况下,请去官方下个NDK吧:http://www.android.com.,最新版本为android-ndk-r7-linux-x86.tar.bz2,即R7,我一直用的是LINUX,所以我下的是LINUX版本,如果
阅读全文
摘要:近来着眼于ANDROID4.0的关注与研究,第一时间把ANDROID4.0源码下下来了,只是时间问题,所以没能第一时间把过程记录下来,今天算是富裕点时间就给写下来,希望能给灼热于ANDROID继续平台研究而又未及时获得相关资源的热机友们做个简单的参考,好了,废话不多说,我就直接贴图吧,现在很简单,只要你是LINUX系统,一直并使其开发,那就不必要考虑之前JDK环境的问题,直接从基本环境确定下入手吧,首先打开http://www.android.com进入:看到Getting the Source,点击进入,进入页面后,里面有详细的下载描述,不用说,一步步来,很简单的,与之前一样,首先创建目录:
阅读全文
摘要:工作以来,一直很少有时间来这里写BLOG,最近觉得时间还是比较充分,所以自己就为此而开始回顾自己之前的做的一些项目,不管大大小小,希望能通过自己的一个简单的管理界面来实现充分的整合管理,并希望通过兼容各APPSTORE来实现APP的浏览机制,好了,废话不多说了,我就以项目的形式一点点的写着走,现在我刚开始完成初始界面的实现,为今天第一步做好往下去的艰写得任务来完成一个完整而又具有实际意义学习与参考的免费项目,主要是为了提供给初学者做更多的参考:登录界面:login.xml:<?xml version="1.0" encoding="utf-8"?&
阅读全文
摘要:之前讲过一篇关于单列模式的模式设计讲解,今天就就对观察者模式进行讲解下吧,在23种设计模式中,观察者模式算是模式设计中的皇后,尤其是在我们做软件设计过的过程中所体现的更是立足无穷,再说它好,还不如来个实例不是更简单明了,我就把对其概念上的讲解以注释的方式写在代码注释中,如下所示://首先我们需要先定义一个接口为:抽象观察者public interface Watcher{//再定义一个用来获取更新信息接收的方法public void updateNotify(Content content);}//其次定义一个接口为:抽象被观察者public interface Watched{//在其接口中
阅读全文
浙公网安备 33010602011771号