摘要: Android上要显示一个表格,没有Swing那么专门的JTable可用。 搜了下,一般用GridView,有诸多不便和需要自己实现的地方: 跟ListView一样的Adapter,getView的时候要把表格的二维空间转换成一维来返回。如果表格要画线,问题就来了,返回的Cell View处在一维中 阅读全文
posted @ 2016-03-17 19:59 Mosthink 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 第一波买了豹米空气净化器,998元+90的运费。 价钱便宜,外观漂亮,有设计感。 机身比较结实,跟其设计也有关系。 仪表盘直接显示pm2.5指数,这一点不错,pm2.5看不见摸不着,用户如何知道开净化器后有没有起作用呢?豹米净化器开窗测试其pm2.5指数,和监测点报的污染指数差不多,关闭窗户让其运转 阅读全文
posted @ 2016-03-17 19:58 Mosthink 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 用PagerAdapter的时候会反复调用instantiateItem和destroyItem来创建和销毁View,没有复用性。这里封装了一个可复用View的PagerAdapter,给实现类留下的抽象方法是: 阅读全文
posted @ 2016-03-17 19:57 Mosthink 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 有些安全性要求高的App,比如支付宝和手机银行之类的,当用户从应用切到桌面或者别的应用,然后再切回来的时候,需要锁定应用让用户验证一下才能再次进入。这个时候就需要知道自己的应用什么时候进去后台了,什么时候进入前台了,Android本身并没这样的回调方法,需要自己来实现。 其中一个解决方案就是应用的所 阅读全文
posted @ 2016-03-17 19:56 Mosthink 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 我见过的Activity方式有三种: 1, 默认的,在一个Activity里创建一个Intent,然后startActivity/startActivityForResult; 2, 给被跳转到的Activity编写静态方法,发起跳转的代码调用这个静态方法,直接传参数,不用构造Intent。数据压入 阅读全文
posted @ 2016-03-17 19:55 Mosthink 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 面试Android程序员的时候问过以下几个基本问题,得到的回答经常不尽人意: 1, Activity A跳转到Activity B,Activity B完成后,Activity A要刷新一下自己的数据以保持数据的同步,这种情况在哪个时机调用刷新方法? 回答:在Activity A的onResume中 阅读全文
posted @ 2016-03-17 19:54 Mosthink 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 网络请求,不管是什么协议,是长连接还是短连接,总是一个异步的请求,过程包括:加请求参数->发起请求->接收响应->解析数据->获得业务数据。 最挫的做法是,业务代码包揽所有这些工作。 次挫的做法是,封装一个网络Utils类,业务代码传一个回调对象给这个类来获取网络请求数据。这个是普遍做法,缺点是一层 阅读全文
posted @ 2016-03-17 19:53 Mosthink 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 历时两个多月,自己架构的一个App快要完成了,有很多可以总结的地方: 1, 各个模块尽可能独立,不要直接调用,用消息机制解耦。包括页面跳转不要直接startActivity,而是用消息跳转;业务模块请求网络、数据库、异步任务等都不要直接调用,而是用发消息请求,收消息获取响应。 2, 设计好消息框架, 阅读全文
posted @ 2016-03-17 19:51 Mosthink 阅读(862) 评论(0) 推荐(1) 编辑
摘要: 最近要买一部2000元以下的手机,关注和比较了以下几部: 1, 小米4。手上有一部小米2和红米1S。我对小米2一直赞誉有加,样子好看,拍照利索,性能小怪兽,时至今日,小米2仍然不输市面上的大多数主流手机。红米就太一般,毕竟配置太低,应用一旦切后台就被回收了。看小米4的评论和介绍,我觉得继小米3的挫败 阅读全文
posted @ 2016-03-17 19:51 Mosthink 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 使劲回忆了下,自己专门买过用过的手机有十几部了,从最初的打电话、发短信,到看照片看视频,到拍照,到挂QQ,到浏览网页,手机能够带给我们的功能和体验越来越强大,下面一一评论下我用过的这些手机。 1, Motorola V8088: 这个是当年的经典机器,我买了个二手的,作为第一部手机,非常喜欢。这个手 阅读全文
posted @ 2016-03-17 19:50 Mosthink 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 这个方法相对靠谱,可用: 1, cd 到home 2, touch .bash_profile 3,open -e .bash_profile 把各个路径按如下填写: export PATH=${PATH}:/Users/xxx/androidsdk/tools export PATH=${PATH 阅读全文
posted @ 2016-03-17 19:49 Mosthink 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一个Android应用要被破解,要经历:反编译->分析代码->重新编译打包的过程,反破解的思路也是从在这三个步骤上做文章: 1, 寻找反编译工具的缺陷,通过阅读其源码或者对其进行压力测试找到其不支持或者运行会出错的Dalvik指令,然后在自己的代码中加入会执行这个指令的代码,让反编译工具运行的时候奔 阅读全文
posted @ 2016-03-17 19:48 Mosthink 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 很久没关注和捣鼓电脑下载、路由器、布网线这些东西了,概念还停留在那个开着电脑插着网线昼夜挂电驴的时代。这些年在这方便攒了很多需求: 1, 照片、视频、各种备份文件越来越多,这些文件被我存储在外置硬盘上,要找其中一个很麻烦,平时想看看过去拍的照片也懒得把硬盘拿出来插到电脑上一个一个去点。现在是移动设备 阅读全文
posted @ 2016-03-17 19:47 Mosthink 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 很多安全要求高的App都会有个图案/手势/LockPattern解锁的模块,比如支付宝钱包等。 Android系统本身就有这个东西,叫LockPatternView,所以在自己的App中不用自己实现,但也不能直接调用,因为Android的LockPatternView不是给App用的,得从Andro 阅读全文
posted @ 2016-03-17 19:46 Mosthink 阅读(287) 评论(0) 推荐(0) 编辑
摘要: PopupWindow可以用来实现弹出任意位置的菜单,比Context Menu和Option Menu灵活性更高。Android中弹出一个PopupWindow基本有两个方法: 这个方法是弹出的窗口在anchor view的bottom-left,一般Android应用的菜单都在右上,实现思路就是 阅读全文
posted @ 2016-03-17 19:35 Mosthink 阅读(313) 评论(0) 推荐(0) 编辑
摘要: Dex动态加载是为了解决什么问题? 在Android系统中,一个App的所有代码都在一个Dex文件里面。 Dex是一个类似Jar的存储了多个Java编译字节码的归档文件。 因为Android系统使用Dalvik虚拟机,所以需要把使用Java Compiler编译之后的class文件转换成Dalvik 阅读全文
posted @ 2016-03-17 19:34 Mosthink 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 需求场景:一个ListView页面,滑动阅读到某一位置,然后退出页面,下次再进入页面的时候,想要直接滑动到上次阅读的位置。 方案1:页面退出的时候,ListView.getFirstVisiblePosition()来获取当前可见的第一个Item的position并记录,下次再进入页面的时候通过Li 阅读全文
posted @ 2016-03-17 19:33 Mosthink 阅读(393) 评论(0) 推荐(0) 编辑
摘要: Methond 1 is to check whether the GPS is on: Method 2 is to open GPS setting page in Android device: Codes in Github : https://gist.github.com/Viyu/94 阅读全文
posted @ 2016-03-17 19:32 Mosthink 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Ping a host in Android:“ping -c 1 127.0.0.1”-c 1: The ping times. Ping codes is simple, but:1, you must run it in background thread since Process.wait 阅读全文
posted @ 2016-03-17 19:31 Mosthink 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 为什么要拖放?拖放在某些UI交互中可以简化用户操作。 拖放的步骤包括哪些?“Drag and Drop”,拖放,顾名思义,总共就分三步:1, 开始拖起来;2, 正在拖;3, 放下,进行操作;在这三步里,贯穿的是数据的传输,从拖的地方传输到放的地方。 现在,我们就以一个简单的拖放删除笔记的App来讲解 阅读全文
posted @ 2016-03-17 19:30 Mosthink 阅读(422) 评论(0) 推荐(0) 编辑