2012-02-23 14:40 by Terry_龙, 207 visits, 网摘, 收藏, 编辑
摘要:Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的backtrace会打印出对应的堆栈信 息,而你看到的仅仅是一对数字,好像无从查起。如下面这一从串断错误:ActivityManager(1105):Displayedactivitycom.android.browser/.BrowserActivity:2460ms(total2460ms)I/DEBUG(13002):************************************************I/DEBUG(13002):Buildfingerprint:'unk..
阅读全文
2012-02-20 10:54 by Terry_龙, 827 visits, 网摘, 收藏, 编辑
摘要:Loader的特点和使用场所 Loader 可以在Activity 和Fragments 的界面下运行(本篇将结合上篇文章的Fragments的DEMO进行讲述如何在Fragments 下使用Loaders)。 它可以提供类似于AysncTask一样的异步请求数据加载的功能,实际上它就是来源于AysncTask 的扩展并增加了很多人性化的功能,例如加载进度框、更好的控制API等。 它拥有一个类似于Windows Phone 开发的MVVM一样的数据改变通知机制,当数据源做出改变时会及时通知。 当Cursor 发生变化时,会自动加载数据,因此并不需要再重新进行数据...
阅读全文
2012-02-17 14:29 by Terry_龙, 1019 visits, 网摘, 收藏, 编辑
摘要:Fragments 诞生初衷 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments 。fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activity 的外观,并且由activity 管理的back stack 中保存些变化。 Frag...
阅读全文
2012-02-07 09:58 by Terry_龙, 1765 visits, 网摘, 收藏, 编辑
摘要:jni 的介绍JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。以下介绍Android 中如何使用jni移植开源库的技巧.JNI日志输出到Logcat中#include <android/log.h>#define LOG_TAG "===xcloud==="#def
阅读全文
2012-01-08 16:40 by Terry_龙, 2033 visits, 网摘, 收藏, 编辑
摘要:packagecom.wireme.activity;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color
阅读全文
2011-11-30 16:19 by Terry_龙, 1342 visits, 网摘, 收藏, 编辑
摘要:什么是WebDAV?简单地说:“基于Web的分布式创作和版本”的WebDAV。它是HTTP协议,它允许用户协作编辑和管理远程Web服务器上的文件的扩展。听说苹果的icloud 也是基于webdav来实现的,使用Ubuntu 如何配置webdav服务器呢?首先先了解webdav的一些开源项目和商业项目,访问这个链接:http://webdav.org/.进入终端:步骤1:安装apache2服务:sudo apt-get install apache2步骤2:启用关联到的模块:sudoa2enmoddav_fssudoa2enmoddavsudoa2enmoddav_lock步骤3:关联SO文件:
阅读全文
2011-07-26 20:30 by Terry_龙, 2005 visits, 网摘, 收藏, 编辑
摘要:Bridge Pattern模式解读 bridge 是“桥梁”的意思。就像现实社会里的桥梁担负着连接两岸的重大责任一样,Bridge Pattern也是负责连接2个不同位置的参与者。 桥接模式沟通着“功能的类层次”和“实现的类层次”。将“功能的类层次”和“实现的类层次”分成2个独立的类层次可能会弄得支离破碎,所以必须在2个类层次之间建一座沟通的桥梁。程序示例 按照上面的分法,本例可以分为4个类按照“功能的类层次”和“实现的类层次”分开,分别为:功能的类层次 Display 该类为打印内容的类 CountDisplay 该类不仅可以打印内容还可以参数指定打印次数实现的类层次 DisplayIm.
阅读全文
2011-07-25 21:27 by Terry_龙, 1788 visits, 网摘, 收藏, 编辑
摘要:Abstract Factory Pattern模式解读 abstract 是“抽象”,factory 是“工厂”,所以合起来abstract factory 就是“抽象工厂”的意思。Abstract Factory Pattern 中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说,处理的重点是在接口(api)而不是零件的具体实现。只利用接口(API)就能把零件组合成产品。 模板方法模式和生成模式的情形 是在子类进行具体的实现,而抽象工厂模式也同样是由子类来处理具体 的实现。在子类就会出现具体工厂利用具体零件组合而成的具体产品。程序示例 本篇涉及的类较多,较之单例模式而言理解真来比较难。.
阅读全文
2011-07-18 21:31 by Terry_龙, 1518 visits, 网摘, 收藏, 编辑
摘要:Builder Pattern模式解读 生活在深圳这所高速发展的城市,高楼大厦林立。所谓万丈高楼平地起,在我们感慨楼层的高耸之外,更要配服楼层的建造者和设计者。大楼首先得打稳地基、搭建骨架,再由下往上一层层盖上去。而这样的架构从程序的设计模式来说有个专用名词叫:“Builder ”。 场景模拟 由一个固定的建筑材料“固定的字符串”,然后将这些建筑材料组合拼装,按照楼层的需要建造不同的大楼层,如:商务层、购务层、停车层等“组合拼装字备份域控制器串”。功能演示 测试程序结构图如下: UML图中,共有四个类: Builder 抽象类:不含实际处理内容,仅声明抽象方法。 Director 类:负责产.
阅读全文
2011-07-14 21:26 by Terry_龙, 1564 visits, 网摘, 收藏, 编辑
摘要:Prototype Pattern名称由来 不是利用类来产生实例对象,而是从一个对象实例产生出另一个新的对象实例 ,根据被视为原型的对象实例 ,建立起的另一个新的对象实例就称为原型模式(Ptototype Pattern)。需求场景种类过多无法整合成类时第一种情形:若须处理的对象种类太多,如果要一个个设成不同的类,须产生大量的源程序文件不容易利用类产生对象实例时第二种情形:该对象的实例产生过程太复杂,很难利用类来建立。希望把框架和所产生的对象实例分开时第三种情形:希望让产生对象实例时的框架不会只存在于某些特殊类时。功能演示 测试程序类结构图如下: 模式UML图中,共有三个类:接口,Produ.
阅读全文
2011-07-13 20:36 by Terry_龙, 1840 visits, 网摘, 收藏, 编辑
摘要:Singleton Pattern名称由来java 是一门面向对象的语言,android 用的也是java 开发ap ,在java/C# 里面所有的物体(类)都可以看作是一个对象,而要使用这个对象无外乎为它在内存里面分配一个对象,一般情况下最直接的方法是new 一个对象,让它存在于内存中。 单件/例模式是所有设计模式中可以说是最简单最易懂的一种编程方式 ,想保证某个特定类的对象实例绝对只有一个时,想在程序上表达出对象实例只会有一个时,这种做法就被称为单件/例模式。 Singleton 是指只有1个元素的集合。就是因为它只会有1 个对象实例,因而得名。由于其简单性,在此就不把UML图画出来了。.
阅读全文
2011-07-12 21:07 by Terry_龙, 2130 visits, 网摘, 收藏, 编辑
摘要:Factory Method Pattern模板模式的衍生品? 以Template Method Pattern 架构获取产生对象实例的工厂就是Factory Method Pattern。 工厂方法模式在父类规定对象的创建方法,但并没有深入到较具体的类名。所有具体的完整内容 都放在子类。根据这个原则,我们可以大致分成产生对象实例的大纲(框架)和实际生产对象实例的类两方面。场景模拟 以一个工厂进厂打工为原型,工人们进厂须先登记信息,由所登记的信息进入创建工卡,工人们每天进厂必须使用工卡打卡,开始一天的劳动。以此为例,进行编程,设计UML图如下:程序实现 抽象类Product定义抽象方法cre.
阅读全文
2011-07-08 22:14 by Terry_龙, 1968 visits, 网摘, 收藏, 编辑
摘要:Template Method Pattern模板的含义 所谓模板,有用过VS的朋友会比较熟悉,这个IDE将一些统一的代码编写方法制作成模板加载在IDE里面,开发者可以根据自己制作的模板或者微软提供的模板比如Asp.net 、Winform 、WPF开发等各种模板。而Android 建立项目初期生成的Project 也可以当作是一个模板。它是将原先定义好的东西事先写好了一套规范,具体要如何使用这套规范模板来完成不同的任务,是要看我们的AP开发者不同的实现方法。 作为模板的方法要定义在父类,而方法的定义中使用到抽象方法。因此如果只看父类部分的程序,根本不知道到底会是怎样处理内容,最多只能了解该.
阅读全文
2011-07-06 21:05 by Terry_龙, 2599 visits, 网摘, 收藏, 编辑
摘要:Adapter Pattern 适配器模式似曾相识 做过Android Ap开发的朋友一般情况下都会用到Google 提供的BaseAdapter 适配器做扩展,用来填充ListView、GridView 等窗口控件。用过的朋友都会觉得很简单很方便就可以对控件做一个数据源。而BaseAdapter 正是一个适配器,Google 考虑到适配器的一个特性则可以如此概括用 “既有内容” 去实现 “需要结果” 。Adapter Pattern 适配器模式共分为两种:类的 Adapter Pattern (即所谓的继承)对象的 Adapter Pattern (即所谓的委托)场景需求 给定的一个字符串.
阅读全文
2011-07-05 21:18 by Terry_龙, 3415 visits, 网摘, 收藏, 编辑
摘要:Iterator Pattern迭代器模式场景猜想 经常编写代码都会碰到遍历一个数组,使用for循环得到数组下标之后去做进一步操作。例如下文代码:int[]array=newint[5];for(inti=0;i<array.length;i++){System.out.println(""+i);}或:int[]array=newint[5];for(inti:array){System.out.println(""+i);}当然,还有更多的作法,利用将 i 将下标推移的方式遍历数组元素。 使用设计模式来编写的时候,可以将 i 的行为,抽象化为迭
阅读全文
2011-05-12 23:00 by Terry_龙, 4035 visits, 网摘, 收藏, 编辑
摘要:在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用,虽说这么做是一个解决问题的方法,但毕竟不是很好。原因是,当我们项目积累越来越多,会发现自定义的控件越来越多,而且这些自定义的控件都是可以重复利用的,这时我们可以想想,如果把这些自定义控件都封装成一个JAR包,然后用一个项目积累起来,之后我们以后开发项目只要在原来JAR包的基础上做扩展或者直接使用,可以大大减少自己的工作重复性。首先Android 工程的基本面貌是这样的:当然对应的Activity 文件被我删除了,因为当编译成jar 包我们并不需要Activity 文件。
阅读全文
2011-04-23 14:52 by Terry_龙, 2788 visits, 网摘, 收藏, 编辑
摘要:protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据。谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区。 参考文档 http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html API的参考文档 protobuf 适用的语言 正宗(Google 自己内部用的)的protobuf支持三种语言:Java 、c++和Pyton,很遗憾的是并不支持.Net 或者 Lua 等语言,但社区的力量是不容忽视的,由于protobuf确实比Json、XML有速度上.
阅读全文
2011-04-22 14:16 by Terry_龙, 1224 visits, 网摘, 收藏, 编辑
摘要:导入以下命名空间:using System.Windows.Media.Imaging;using System.IO;using Microsoft.Xna.Framework.Media;全部代码如下:1publicvoidCaptureScreen(objectsender,EventArgse)2{3WriteableBitmapbmp=newWriteableBitmap(480,800);4bmp.Render(App.Current.RootVisual,null);5bmp.Invalidate();67MemoryStreamstream=newMemoryStream().
阅读全文
2011-04-20 17:02 by Terry_龙, 1033 visits, 网摘, 收藏, 编辑
摘要:官方文档http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/reference/java/index.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/refe
阅读全文
2011-04-18 15:20 by Terry_龙, 34570 visits, 网摘, 收藏, 编辑
摘要:FBReaderJFBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。 项目地址:http://www.fbreader.org/FBReaderJ/ AngleAngle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java...
阅读全文