上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 自己的机器 android 2.3,刷的小米系统,曾经执行成功过一次,前后传的版本号也正确,后来死活不执行,确实是调用的getWritableDatabase(),看了Android源码,也没发现异常。百思不得其解!换了公司的一台测试机,又可以。由此暂时断定这个onUpgrade不靠谱,自己写了一套升级sqlite数据库的逻辑。在assets下做一个update.sql文件,然后读取文件,一行行的执行sql;若升级成功,在库里面写个标记。注意:update.sql里面,一个完整的操作,其包含的句子需要合并成一行。代码如下(只是思路,不可直接copy使用): private void up... 阅读全文
posted @ 2013-02-25 16:41 Kai.Ma 阅读(3650) 评论(0) 推荐(0) 编辑
摘要: 实践了下Moscrif,就是那个javascript开发native app的解决方案。与PhoneGap等方案不同的是,PhoneGap是糅合html的解决方案,不是真正的Native APP(性能打折扣);而Moscrif则是利用javascript开发Native APP,也即用javascript代替Object C/Java去开发Native APP。目前支持Android,IOS和Bada(三星的OS),比较有意思。代码的确是javascript,导出的demo游戏apk在自己的手机上跑得很欢。可免费使用,开源。前端转手机开发的有福了。目前还在体验中。参考:http://www.i 阅读全文
posted @ 2012-11-26 14:22 Kai.Ma 阅读(3138) 评论(2) 推荐(0) 编辑
摘要: /*** 背景是因为发现同事拼JS字符串喜欢用模板(String.replace),没错,用模板增加了可读性,* 但是相较于高效的Array.push然后Array.join("")拼接字符串而言,用replace有个性能问题。* 以循环1000次举例,ie下差距很大,ff下的Array.push也要快将近一倍。可运行下面的demo:* String.replace VS Array.push */var testType=2;//1=String.replace or 2=Array.push var s="",sArr=[],n=1000;//u c 阅读全文
posted @ 2012-10-25 16:38 Kai.Ma 阅读(3332) 评论(0) 推荐(0) 编辑
摘要: mouseenter/mouseleave 和 mouseover/mouseout的本质区别网上讲得比较多,但各种解释看得云里雾里,经过试验,他们的区别 it differs in that it doesn't bubble and that it isn't sent when the pointer is moved from one of its descendants' physical space to its own physical space 引自mozilla.org上面这句英文用不同的颜色区分以断句,方便理解。本质还是体现在冒泡上。可以通过下面两 阅读全文
posted @ 2012-09-25 20:16 Kai.Ma 阅读(446) 评论(0) 推荐(0) 编辑
摘要: bug情景大概是这样的:桌面.exe 内嵌一个网页.html,网页通过js调用桌面的js api接口函数fn1,然后接着调用js api函数fn2。结果fn1执行正常,但是随后的fn2死活不执行。后来经同事调试,用setTimeout解决了问题。setTimeout(function(){ window.external.fn2();},0);既然要用到setTimeout来重新安排一个events loop,那么可以肯定fn1和fn2同时调用的时候冲突了。后来想了下bug产生的原因应该是这样的:页面里的js调用fn1发送通知给桌面.exe,桌面.exe会处于“忙”的状态,这时候就忽略掉j.. 阅读全文
posted @ 2012-09-20 14:50 Kai.Ma 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 下载地址https://chrome.google.com/webstore/search/postman-REST%20Client 阅读全文
posted @ 2012-09-14 11:55 Kai.Ma 阅读(11779) 评论(1) 推荐(0) 编辑
摘要: 看错误是类没有找到,但是代码中确实有这个类,编译没错,执行的时候报这个异常。我同事的机器没事,我的有问题。想了一下差别,就是.classPath文件不一致。后来进 project - properties-java build path - Order and Export,试着调了一下顺序,让工程名/gen在工程名/src之上,问题居然解决了。2012年8月3日补充:升级到最新版的ADT之后彻底解决问题。 阅读全文
posted @ 2012-07-17 00:40 Kai.Ma 阅读(5610) 评论(0) 推荐(0) 编辑
摘要: (1)改进:全部重新编码,重点修正崩溃问题(2)新增:登录/注销功能,方便帐号切换和换手机后继续使用老帐号(3)新增:省流量模式(4)新增:图片墙!超直观超方便(5)新增:图片可以用手指放大缩小了下载地址 阅读全文
posted @ 2012-02-27 23:45 Kai.Ma 阅读(338) 评论(1) 推荐(0) 编辑
摘要: 【点击抢先下载Android版尝鲜】,IOS版筹划中。你在哪1.00找呀找呀找朋友谁做的?“你在哪(where are you)”是由Kai和Liyao利用业余时间合作完成的,Kai目前是“1616个人门户”的系统架构师,Liyao则在联想从事安卓系统级研发。有什么用哦?可以和朋友分享彼此的位置和心情故事,实时找人、找回丢失的手机,还可以看看亲爱的ta在哪儿,看看小孩是否去学校了……以后还可以免费发短信哦(免费短信功能1.5版推出)。怎么使用呢? 实时找人:添加你关注人,且ta也关注你,可以在任何时候知道ta在哪儿,只要ta的手机处于联网状态,很强大吧。 找回手机:手机丢失之后... 阅读全文
posted @ 2011-10-14 22:49 Kai.Ma 阅读(412) 评论(0) 推荐(0) 编辑
摘要: SVN在代码分享、团队开发、代码同步方面做的比较好,我嫌windows系统下架svn服务器有点麻烦,就弄了个“svn服务器端绿色版”,供嫌麻烦的同学们使用。svn组件用的开源的,壳用vc6写的。 蛮好用的,winxp和win2003测试通过。下载地址一 我服务器太慢,请大家帮忙分流。另外听说Git也蛮好用,不知道Git服务器端有没有绿色版出现,到时候也弄个看看。 阅读全文
posted @ 2011-10-08 18:07 Kai.Ma 阅读(1659) 评论(2) 推荐(0) 编辑
摘要: 不得不承认,Paul Graham的这本文集,充满了睿智,激起了我的强烈共鸣。关于财富、关于创业、关于代码、关于程序员……目前我只随机挑了几章阅读了下,就已经感觉自己对程序员这个行业充满了自信 ,为自己是一个计算机时代的手工艺者颇感自豪。在线试读:http://www.amazon.cn/gp/reader/B004WHZGZQ/ref=sib_dp_pt#reader-link 阅读全文
posted @ 2011-09-17 13:02 Kai.Ma 阅读(451) 评论(1) 推荐(0) 编辑
摘要: 做麦芒的时候碰到过,网上搜了,似乎没有解法,自己仔细看了下public boolean onKeyDown(int keyCode, KeyEvent event)发现有个布尔返回值 ,因此联想到javascript的事件冒泡,突然有了思路。看了下文档,发现返回false的时候,事件继续传递,不被吃掉。解决办法,在父Acitiviy写好OnKeyDown事件处理代码后,在子Acitivity中加入:@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){returnfalse;}补充:发现规律,如果子Activity是MapActiv 阅读全文
posted @ 2011-09-03 16:06 Kai.Ma 阅读(1632) 评论(1) 推荐(0) 编辑
摘要: 网址 :http://www.maimang.co安卓官方市场:https://market.android.com/details?id=com.maimang.lbs困难:中间碰到不少难题,比如内存泄漏、拍照兼容性 、手指滑动特效冲突、国行Android手机不能利用WIFI/AGPS定位(因为出于安全考虑,国内阉割了这部分功能)。但这些总算过去了。解决办法:下一步打算深入研究一下底层,把一些兼容性问题,从底层给解决了:)感慨:Android的软件版本和硬件都分裂得确实太严重了,亟待统一开发标准,让开发者少白一些头发吧。 阅读全文
posted @ 2011-08-30 23:16 Kai.Ma 阅读(658) 评论(0) 推荐(0) 编辑
摘要: mInfo=(EditText)findViewById(R.id.fabu_info);mInfo.setOnFocusChangeListener(newOnFocusChangeListener(){publicvoidonFocusChange(Viewv,booleanhasFocus){EditText_v=(EditText)v;if(!hasFocus){//失去焦点_v.setHint(_v.getTag().toString());}else{Stringhint=_v.getHint().toString();_v.setTag(hint);_v.setHint(&quo 阅读全文
posted @ 2011-08-09 11:48 Kai.Ma 阅读(8711) 评论(0) 推荐(0) 编辑
摘要: Android利用ActivityGroup加载子Activity,子Activity调用对话框,弹出:ERROR/AndroidRuntime(10104): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45a58ee0 is not valid; is your activity running?原因分析:因为new对话框的时候,参数content 指定成了 阅读全文
posted @ 2011-08-04 18:18 Kai.Ma 阅读(32026) 评论(9) 推荐(1) 编辑
摘要: 网上搜了很多,都要使用Canvas,这个绝对是绕远了……经实验,图片裁切只要一句就可以 ,下面是我写的一个按正方形区域裁剪的方法/***按正方形裁切图片*/publicstaticBitmapImageCrop(Bitmapbitmap){intw=bitmap.getWidth();//得到图片的宽,高inth=bitmap.getHeight();intwh=w>h?h:w;//裁切后所取的正方形区域边长intretX=w>h?(w-h)/2:0;//基于原图,取正方形左上角x坐标intretY=w>h?0:(h-w)/2;//下面这句是关键returnBitmap.cr 阅读全文
posted @ 2011-08-02 13:00 Kai.Ma 阅读(8982) 评论(2) 推荐(0) 编辑
摘要: 首先定义一个style<stylename="Theme.IOSched"parent="android:style/Theme.Light"><itemname="android:windowNoTitle">true</item><itemname="android:windowContentOverlay">@null</item></style>然后在AndroidManifest.xml里面,针对需要去掉阴影的Activity使用该s 阅读全文
posted @ 2011-07-29 21:08 Kai.Ma 阅读(2755) 评论(1) 推荐(0) 编辑
摘要: Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter 在当前行插入 阅读全文
posted @ 2011-07-03 14:22 Kai.Ma 阅读(441) 评论(0) 推荐(0) 编辑
摘要: www.xxx.com网站有个登录页面login.htm,登录之后需要跳到之前的页面www.yyy.comurl形式如下:http://www.xxx.com/login.htm?returnurl=http://www.yyy.com long.htm代码里面通过javascript跳转:/***javascript获取URL指定参数对应的值*@methodgetQueryString*@param{string}s参数名*@return{string}*/functiongetQueryString(s){varreg=newRegExp("(^|&)"+nam 阅读全文
posted @ 2011-04-15 15:13 Kai.Ma 阅读(3693) 评论(2) 推荐(1) 编辑
摘要: 每个对象都有一个原型,但不是所有对象都有prototype属性。实际上只有函数对象才有这个属性。 var a = function(){};var b=[1,2,3];a.prototype;//function(){}b.prototype;//undefined 构造函数本身也是一个对象,它也有 阅读全文
posted @ 2011-04-13 17:15 Kai.Ma 阅读(377) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页