摘要: 我已经为新的一年重新编写和替换了这篇文章,使其变得更简洁以及更易于遵循一些推荐的练习,如果你发现和之前读过的版本有一些小小的出入或者一些矛盾的评论请不要苦恼。前几年的版本可以在GitHub archives里找到 Web开发是一个不断变化的领域——今天我们建立网站的方式和几年前我们习惯的方式已经完全 阅读全文
posted @ 2019-08-29 17:05 Kai.Ma 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 1,多维数组扁平化。原数组[[0],[2,3,4],1,[1,[2,3]]],输出[0,2,3,4,1,1,2,3] 2,二叉树tree ,根节点是root,判断是否存在一条完整路径,其路径上节点的值之和为target,输出布尔值。 举例:下面的树,是否存在target=7的一条完整路径(从根节点到 阅读全文
posted @ 2019-08-28 16:18 Kai.Ma 阅读(5012) 评论(0) 推荐(0) 编辑
摘要: 在Javascript中,最玄妙的特性之一,就是this的指向玄幻莫测,一会儿指向这一会儿指向那,让初学者十分伤脑筋。 本文总结一下,方便初学者掌握奥妙之处,同时方便老鸟温故而知新。 首先,看一段代码: 一个输出42,一个输出undefined,这是为何呢?? 相当于是 这是不是就比较容易懂了?OK 阅读全文
posted @ 2019-08-23 01:46 Kai.Ma 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 链接: https://pan.baidu.com/s/1skPxdNJ 密码: 7iwp 使用方法:安装完主程序后,将dmg包里charles.jar拖至/Applications/Charles.app/Contents/Java/里替换原来的charles.jar 然后打开程序,点击上面的菜单 阅读全文
posted @ 2016-10-01 17:01 Kai.Ma 阅读(2834) 评论(0) 推荐(0) 编辑
摘要: 先简单介绍下5.0版的变化。5.0最大的特色是调用简单,采用了链式语法,形如:new ShareAction(context).setPlatform(share_media) .withText(content).withTitle(title) .withMedia(... 阅读全文
posted @ 2016-01-16 14:24 Kai.Ma 阅读(7800) 评论(0) 推荐(0) 编辑
摘要: 总结一下: 参考: 《Android开发艺术探索》《Android - 事件模型》https://www.cnblogs.com/bill-joy/archive/2012/03/20/2407928.html 阅读全文
posted @ 2015-09-07 13:42 Kai.Ma 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 流行的思路如下【2015-11-20更新】:1.让Service杀不死。Service的onStartCommand返回START_STICKY,同时onDestroy里面调用startService启动自身。2.让Service从后台变成前置。在Android 2.0以前有效,借助setForeg... 阅读全文
posted @ 2015-09-06 17:56 Kai.Ma 阅读(3617) 评论(0) 推荐(1) 编辑
摘要: 上周五和朋友聊天谈到个蛇形数组的java实现办法,命题是:假设一个二维数组宽w高h,从1开始蛇形输出。int[][] numberMatric = new int[w][h];当时午睡过头脑袋不清醒,愣是没有好的思路。后来晚上研究了下,发现一种比较简单的实现办法。核心思路是:找准移动方向,按移动顺序... 阅读全文
posted @ 2015-08-31 19:38 Kai.Ma 阅读(2974) 评论(0) 推荐(0) 编辑
摘要: 一般使用Android Studio生成javadoc会有两个问题:空指针异常文档乱码解决办法如下:第1个问题:Tools --> Generate JavaDoc -->打开对话框活,在"Other command line arguments"输入 “-bootclasspath /Users/... 阅读全文
posted @ 2015-04-21 15:45 Kai.Ma 阅读(2496) 评论(0) 推荐(0) 编辑
摘要: 今天研究指令嵌套时,发现子指令的link函数先于父指令的link函数执行。这样和预想的顺序不一样。也就是说,如果子指令的某个scope变量依赖于父指令传来的参数时,可能一直是undefinded比如:APP.directive("子指令", function () { return { ... 阅读全文
posted @ 2015-03-29 18:09 Kai.Ma 阅读(2465) 评论(0) 推荐(0) 编辑
摘要: 导言stackoverflow上有一个人问了一个问题:如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?有一个回复非常经典,获得了两千多票。为了让国内开发者也能领略到其中的核心思想,现把这个问题和答案翻译出来供大家参考。Question假设我已经熟悉了如何使用jQuery来开发... 阅读全文
posted @ 2015-01-22 21:17 Kai.Ma 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 首先,为了避免滑动冲突,我们要继承ViewFlow,重写onInterceptTouchEvent 1 public class MyViewFlow extends ViewFlow { 2 private ViewPager mPager; 3 4 public MyViewF... 阅读全文
posted @ 2014-09-29 03:07 Kai.Ma 阅读(6580) 评论(0) 推荐(0) 编辑
摘要: 老网民肯定还记得263聊天室、QQ聊天室,火爆的聊天场景,充满好奇的人们聚一个虚拟的小房间里畅所欲言,不断地发出欢声笑语。那时候,有一些特别可爱的AI聊天机器人,简单的回复你几句,给你讲几个笑话,发几张美女,贴几条新闻……虽然简单,但那么真诚、可爱,像一个初生的小宝宝,给我们留下无限纯真和美好的... 阅读全文
posted @ 2014-07-08 17:20 Kai.Ma 阅读(4416) 评论(0) 推荐(0) 编辑
摘要: 我们直接在公司项目中使用,效果良好!分享出脚本代码,希望对Android研发的同学有帮助。提示,初学python,开发环境是Sublime Text 2,直接Ctrl+B的,其他环境下没调试过。应该差不多^^##################################################环境: win + python 2.7#作者:马波#邮箱:mabo02@baidu.com#部门:hao123-无线#说明:首次使用时lint分析会耗几分钟,请耐心等待。# 使用前先clean工程,确保工程bin下重新生成dex,# 以便lint进行分析。如果要lint... 阅读全文
posted @ 2014-03-08 19:29 Kai.Ma 阅读(2701) 评论(2) 推荐(1) 编辑
摘要: 最近项目定制版越来越多,维护,同步代码非常费事。以前的思路如下图:以前的svn目录结构如下图:这样问题有2个:若在一个定制包中修复了其他定制包也有的bug,同步更新其他包的代码时,非常费劲+机械,并且很容易发生人工失误。若某个定制包换人维护,新接手的人,交接时费时,而且新接手的人容易忘记关键点,对定制版在主线版基础上有哪些改动记不住。由此,我研究了一下SVN的Create/Apply patch功能,由于svn的patch格式文件可以忠实记录文件变动,所以上面说的第2个问题迎刃而解,同时新方案只有一个主线版,修复任何共有的bug只需要在主线版中修复即可,省却同步代码的工作,问题1也可以解决。所 阅读全文
posted @ 2014-01-11 18:14 Kai.Ma 阅读(16347) 评论(4) 推荐(1) 编辑
摘要: 我们平时设置图片的时候,几乎都忘记回收老的(背景)图片,比如:TextView.setBackgroundDrawable()TextView.setBackgroundResource()ImageView.setImageDrawable()ImageView.setImageResource()ImageView.setImageBitmap()这样造成内存浪费,积少成多,整个软件可能浪费不少内存。如果记得优化,整个软件的内存占用会有10%~20%的下降。// 获得ImageView当前显示的图片Bitmap bitmap1 = ((BitmapDrawable) imageView.g 阅读全文
posted @ 2013-12-30 12:21 Kai.Ma 阅读(4637) 评论(0) 推荐(0) 编辑
摘要: try { mViewPager.postDelayed(new Runnable() { @Override public void run() { getCurrentPage().render(false); } }, 500); } catch (Exception e) { ... 阅读全文
posted @ 2013-07-09 13:24 Kai.Ma 阅读(13147) 评论(0) 推荐(0) 编辑
摘要: 这个东西有顾名思义是碎片,和之前的Activity对应。坑1:一般情况都会想当然的以为进程被杀掉之后,Fragment也会被回收其实,Fragment有自己的生命周期,有自己的管理器(FragmentManager),也即:包含Fragment的进程被干掉,Fragment不一定会被回收,而是由FragmentManager来决定生死。Q:如何验证上面的说法?A:如果是一般正常的流程“打开-关闭”软件,Fragment的确被回收了。但是如果使用“腾讯手机管家”之类的内存清理工具,清理内存(实际上是杀死进程),会发现Fragment没有被回收,一直缓存着。验证方法如下:缓存Fragment的Ta 阅读全文
posted @ 2013-07-08 17:35 Kai.Ma 阅读(7468) 评论(2) 推荐(0) 编辑
摘要: PopupWindow在4.0之前的版本有个系统级别的BUG,必须借助一段自定义的fix代码来修复。其中mPopPm就是PopupWindow实例。java.lang.NullPointerExceptionat android.widget.PopupWindow$1.onScrollChangedif (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { try { final Field fAnchor = PopupWindow.class.getDecl... 阅读全文
posted @ 2013-06-28 15:05 Kai.Ma 阅读(7532) 评论(0) 推荐(0) 编辑
摘要: 常见问题:app卸载后,桌面快捷方式仍然存在app安装后,桌面有重复的快捷方式解法(转):Android Launcher开发之自动添加桌面快捷方式及实际开发中常见问题的解决方案参考文章:http://blog.csdn.net/t12x3456/article/details/7857925 阅读全文
posted @ 2013-04-03 12:18 Kai.Ma 阅读(492) 评论(0) 推荐(0) 编辑