摘要: 你可以把它认为是语法稍稍有点不一样的c语言。虽然第一眼望上去你可能会认为它是火星语,和你所认知的任何一种语言都不一样。先简单列出一点差别:问题一:我在程序中看到大量的减号、中括号和NS****这种东西,他们是什么玩意儿?1 减号(或者加号)减号表示一个函数、或者方法、或者消息的开始,怎么说都行。比如c#中,一个方法的写法可能是:private void hello(bool ishello){//OOXX}用Objective-C写出来就是-(void) hello:(BOOL)ishello{//OOXX}挺好懂的吧?不过在Objective-C里面没有public和private的概念,你 阅读全文
posted @ 2012-07-19 22:28 ensai 阅读(148) 评论(0) 推荐(0) 编辑
摘要: java 阅读全文
posted @ 2012-07-03 09:26 ensai 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎都是webkit,对Html5提供支持。本篇主要介绍android的webview之强大。webview组件如何使用1)添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。2)在要Activity中生成一个WebV 阅读全文
posted @ 2012-07-02 13:53 ensai 阅读(4557) 评论(0) 推荐(0) 编辑
摘要: 很多地方都提到了这本书,我就想学习下,天天在地铁上下班的时候看了。第一个想法就是感觉如果经验不足的话读本书,真的感觉印证的想法不多,在中间和后面的几张的阅读都是浑浑噩噩的。不过还是总结下自己的想法。1)关于不同方面的比例:1/3 planning1/6 coding1/4 component test and early system test1/4 system test, all components in hand其实挺吃惊的,原来一直感觉在开发中编程才是最主要的环节,是一切的根本。自从参加了工作之后,发现编程的地位越来越不重要了。在开发过程中。软件项目团队被建议,使用三分之一的时间对项 阅读全文
posted @ 2012-06-17 23:09 ensai 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 图片去色,返回黑白的图片,具体的方法就是为bitmap添加colorFilter public static Bitmap getGreyImage(Bitmap old) { int width, height; height = old.getHeight(); width = old.getWidth(); Bitmap new= Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); ... 阅读全文
posted @ 2012-06-11 17:13 ensai 阅读(209) 评论(0) 推荐(0) 编辑
摘要: /** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。 * * 1.图形绘制 * setARGB(int a,int r,int g,int b); * 设置绘制的颜色,a代表透明度,r,g,b代表颜色值。 * * setAlpha(int a); * 设置绘制图形的透明度。 *... 阅读全文
posted @ 2012-06-08 16:14 ensai 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 一个Android 程序默认情况下也只有一个进程,但一个进程下却可以有许多个线程。在这么多线程当中,把主要是负责控制UI界面的显示、更新和控件交互的线程称 阅读全文
posted @ 2012-06-08 09:41 ensai 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 今天面试被侮辱了,哎,多学习以下转自http://hi.baidu.com/hiaperson/blog/item/617e5400a0c77ed43ac7633a.html游戏中的碰撞检测方式有很多,不同的算法之间主要是在精度和速度之间权衡。以下几种方式按照速度排序说明。以2D为例,3D不过是增加了一维罢了,算法理解上没太大区别。一、地图格子划分检测最简单的一种检测,就是把地图(或者称为场景,总之是指碰撞发生的范围)划成一个个格子,类似仙剑奇侠传这样。假设地图有800*600px,20*20 个像素为一格。那么可以划为40*30个格子。地图中参与检测的对象都存储着自身所在的格子坐标,判断碰撞 阅读全文
posted @ 2012-05-23 21:57 ensai 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 看到一个比较优的解答是Arrays.sort(array_1); Arrays.sort(array_2); int len = array_1.length for (int i = 0; i < len; i++) { if (Arrays.binarySearch(array_2, array_1[i]) != -1) print array_1[i]; } 排序后,这个算法的复杂度是: M*log2N数据结构中有个已排序的两集合求并集的例子。稍微改造:var a=[1,3,5,3,2,4,8];var b=[6,5,3,7,9,2];Array.so... 阅读全文
posted @ 2012-05-21 22:27 ensai 阅读(2052) 评论(0) 推荐(0) 编辑
摘要: 随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。 尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备都能运行出最佳效果。 1)首先要有良好的编码习惯 一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取,早释放。这些由来已久的编码准则同样适用A... 阅读全文
posted @ 2012-04-09 10:56 ensai 阅读(149) 评论(0) 推荐(0) 编辑