代码改变世界

Socket网络编程

2013-04-29 09:27 by onm, 277 阅读, 收藏, 编辑
摘要:本文主要简介TCP、UDP协议和Socket编程模型。做网络编程肯定要和TCP或者UDP协议打交道,有时候我们可能用过相应封装好的类,却不一定知道底层的实现。TCP或者UDP详细讲起来可以讲两本书,有一套很有名的书《TCP/IP详解》,内容很丰富,介绍了方方面面。本文以介绍TCP为主,主要介绍TCP建立连接和连接关闭的步骤。次要提及一些相关知识。先说最基本的TCP与UDP一个最大区别是,TCP是面向连接的,而UDP不是。进而TCP是可靠的,当然还有其它一些机制保障,UDP是不可靠的。也显然TCP因要建立连接,所以更加消耗资源,速度也会较UDP慢。各有优缺点。大名鼎鼎的HTTP协议是建立在TCP 阅读全文

B-树与Sqlite数据库

2013-03-23 11:36 by onm, 387 阅读, 收藏, 编辑
摘要:B-树和数据库还是春节前研究的,现在回想起来,很多细节都要耐心的细想。还好有若干索引,所以说索引真的是个好东西~B-树是一种常用的索引数据结构,B-树不是二叉树,比二叉树要复杂一些。中文维基百科上是这样写的:“在计算机科学中,B树是,存储排序数据并允许以O(log n)的运行时间进行查找,顺序读取,插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树... 阅读全文

Java内存管理和垃圾回收

2013-02-17 06:51 by onm, 256 阅读, 收藏, 编辑
摘要:最简单的,Java可以通过new关键字来申请分配一块内存。例如:Object obj = new Object();变量obj是这个内存对象的引用。同时Java对于引用引入四种类型,分别是:强引用,软引用,弱引用,幽灵引用。前面这个obj就是个强引用。其他三个引用分别对应三个类SoftReference 、 WeakReference 和 PhantomReference。从垃圾收集角度考虑,强引... 阅读全文

写一个游戏

2013-01-28 13:58 by onm, 123 阅读, 收藏, 编辑
摘要:大学以前玩了很多电脑游戏,花费了不少时间。之后就没怎么玩游戏。以前更没有想过制作游戏,大一那年学了C语言,第一个课程设计恰好是个游戏——打砖块。感觉写游戏比较难,而且这个游戏还属于即时类的,意思是说游戏程序在“无时无刻”的计算和绘制。这个程序当时花费了我不少时间,折腾了一个月才搞定。现在写了一个Android版本,功能可能没原来的多,时间总共只用了几个小时,而且这里面的很长时间花在了数学和物理知识... 阅读全文

PhoneGap非编译式打包

2012-12-05 18:35 by onm, 504 阅读, 收藏, 编辑
摘要:写过Android或者iOS应用的都知道,一个应用的诞生都需要经过编译这一步,PhoneGap是基于Android和iOS等之上的,常规的方式也是需要将代码编译,才能产生对应的安装包。大多数情况,编译过程会消耗相对较多的时间,对于Android平台为了代码安全性的考虑,有的时候会进行代码混淆,这更加增加了编译代码的时间。并且对于iOS,编译必须在Mac平台上进行。基于上面一些原因,我们需要寻找一种... 阅读全文

用PhoneGap做一个手机微博客户端

2012-12-05 18:25 by onm, 422 阅读, 收藏, 编辑
摘要:PhoneGap很多人都知道了,是一个跨平台的手机应用开发框架,使用html,js等技术制作应用。在不远也不近的前段时间,我尝试着写了一个微博客户端软件。做一个简单的微博客户端,大概就两件事情,一个是界面,另一个就是访问微博接口来获取数据。界面的问题,我使用jquery mobile来解决。获取数据的问题,使用微博开放平台来解决。(下面的内容假设读者知道一些微博开放平台的基本内容)首先要获取用户的... 阅读全文

Android排版和POI

2012-12-01 03:53 by onm, 663 阅读, 收藏, 编辑
摘要:排版是个相对复杂的东西,光就字体排版而论就涉及到很多东西,http://zh.wikipedia.org/wiki/%E5%AD%97%E4%BD%93,这里有一些相关的资料。最近研究了一下Office系列格式的排版问题。字体排版是很麻烦的一个东西,幸好Android上提供了一些有用的工具类。先看一下Android提供的相关的包,android.graphics包下提供了图形方面的工具,其中也有一... 阅读全文

Android Bitmap处理和内存管理与垃圾回收

2012-11-24 11:13 by onm, 431 阅读, 收藏, 编辑
摘要:Android3.0之前的手机,通过DDMS观看Heap信息的时候不显示native部分分配的内存大小,如图所示,加载了一张7M多的图片,但是显示分配Allocated才2M多。但是native分配的内存大小是算在heap上的,所以当heap大小显示的不是HeapMaxSize的时候,也有可能oom。下图是Android3.0之前Bitmap的内存管理方式。3.0以后情况。3.0以后Bitmap内... 阅读全文

开发Web App的一些工具和经验总结

2012-10-07 08:39 by onm, 343 阅读, 收藏, 编辑
摘要:Mobile Boilerplate A best practice baseline for your mobile web app。一个Web App基本的样板、模板。提供了HTML,CSS,JS等方面的基本代码支持和常用方法。对于HTML方面,提供了基本的HTML5的代码结构,Mobile Viewport的设定,Google Analytics统计代码,iOS web app的辅助代码,加... 阅读全文

mac上的android apk安装器

2012-09-30 08:39 by onm, 1296 阅读, 收藏, 编辑
摘要:android提供了各个平台上的adb和aapt工具,这两个工具都非常好用,adb是Android Debug Bridge,提供了一些调试Android设备的功能,对于apk安装器用到了,adb install/uninstall/devices等,install和uninstall容易理解了,就是安装和卸载apk用的,devices用于查看链接的Android设备。aapt是Android A... 阅读全文