- 博客(243)
- 资源 (16)
- 收藏
- 关注
原创 Root你的设备
Root你的设备玩智能手机的人都会存在两大烦恼,一个是iPhone上的“越狱”,另一个就是Android上的”Root”。在Android设备中获得超级用户(Super User)权限的过程中我们称为Root,即类似Linux系统下的Root账户。所以,超级用户权限我们又称为Root权限。这种特殊的账户,在以Unix为核心的操作系统上,拥有所有文件和程序的所有权限。换句话说,拥有Roo
2015-01-27 13:53:28 5256 1
原创 理解Android系统(一)
理解Android系统Android 是业界流行的开源移动平台,受到广泛关注并为多个手机制造商作为手机的操作系统平台。由于它的开放性,市面上又出现了它的很多改良定制版本。且广泛的应用在手机、汽车、电脑等领域。因此,研究其安全架构及权限控制机制具有非常的重要性。本章从 Android 层次化安全架构入手,详细地介绍 Android 平台的安全架构及其权限控制机制,涵盖 Android 应用程
2015-01-06 18:16:49 6414
原创 关于UI标注px于TextView中dp的误解
关于UI标注px于TextView中dp的误解在与视觉配合开发的关于文本大小给的都是px值,我们做Layout布局的时候为了适配都会转化为dp来使用。习惯上都是讲 px / 2 = dp。而手机上TextView上下还有一定的Font Padding,px与 dp 不是除2关系。如果还是不清楚,看看下图就了解了。 实际的计算公式好像是:16dp以内的 = ( UI px +
2014-12-04 11:21:18 1871 1
原创 Android高手进阶——Android ANR解决案例(内部资料)
当发生ANR后,首先需要查看log信息以及trace文件(系统都会在/data/anr/目录下生成trace文件)分析出ANR原因。通过以下分析并不能解决所有碰到的ANR,但程序自身原因导致的ANR问题基本都能找到原因。
2014-11-27 18:12:02 7706
转载 利用drozer进行Android渗透测试
一、安装与启动1. 安装 第一步:从http://mwr.to/drozer下载Drozer (Windows Installer) 第二步:在Android设备中安装agent.apkadb install agent.apk2. 启动第一步:在PC上使用adb进行端口转发,转发到Drozer使用的端口31415adb forward tc
2014-11-14 12:58:40 2583
转载 简单谈谈自定义View中的Mesure
我们在编写layout的xml文件时会碰到layout_width和layout_height两个属性,对于这两个属性我们有三种选择:赋值成具体的数值,match_parent或者wrap_content,而measure过程就是用来处理match_parent或者wrap_content,假如layout中规定所有View的layout_width和layout_height必须赋值成具体的数值
2014-10-14 17:53:31 1105
转载 String,StringBuffer与StringBuilder的区别??
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2014-07-16 23:17:58 970
转载 几种常用的设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、
2014-07-15 10:56:08 2867
转载 android 中 ArrayList 、LinkList、List 区别
android 中 ArrayList 、LinkList、List 区别1.大学数据结构中ArrayList是实现了基于动态数组的数据结构,LinkList基于链表的数据结构。 2.对于随机访问get和set,ArrayList优于LinkList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinkList比较占优势,因为ArrayLi
2014-07-14 23:31:12 1557
转载 自定义View的事件分发机制
开篇语:最近程序在做一个小效果,要用到touch,结果整得云里面雾里的,干脆就好好把android touch机制好好看了一下,呵呵。。android系统中的每个ViewGroup的子类都具有下面三个和TouchEvent处理密切相关的方法:1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发To
2014-07-14 17:29:02 1309
转载 Java线程池的原理及几类线程池的介绍
Java线程池的原理及几类线程池的介绍刚刚研究了一下线程池,如果有不足之处,请大家不吝赐教,大家共同学习、共同交流。在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线
2014-07-12 16:29:16 1134
原创 Android高手进阶——Adapter深入理解与优化
一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter。Adapter是与View之间提供数据的桥梁,也是提供每个Item的视图桥梁。
2014-07-08 14:48:29 4253 6
原创 技术总监之路——App项目开发流程
App项目开发流程一. 需求阶段1. 初期由leader或者项目责任人和PM沟通下阶段开发计划,确认需求的可行性和优先级等初步达成共识2. 接下来PM提供详细UE文档(需求颗粒感尽可能小)发起三方会议,由产品、开发和QA确认需求并达成一致,开发和QA可以对产品任意方面,提出看法和建议3. 最终的需求定稿,周知开发和QA,由QA开始编写测试案例4. PM容易忽略的需求:打
2014-06-30 14:28:16 3331
翻译 Android 网络通信框架Volley简介(Google IO 2013)
Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded1. 什么是Volley在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于Async
2014-06-17 15:28:18 1274 1
原创 Adb shell获取root权限
在Adb shell中我们希望使用一些系统目录下的文件时候,常常痛苦于没有Root权限,系统会提示su: Permission Denied。su不是每个手机都有的,没有的可以在这里下载:
2014-05-27 11:55:02 9492 8
转载 Android的消息处理机制(图+源码分析)——Looper,Handler,Message
android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。android的消息处理有三个核心类:Looper,Ha
2014-05-26 13:59:59 1018
原创 Android高手进阶——Android内存性能优化
刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成。其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统的gc,很容易就造成了内存的浪费。
2014-05-22 21:23:35 3599 3
转载 Parcelable和Serializable的作用、效率、区别及选择
1、作用 Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信
2014-05-19 15:50:54 1881
转载 利用convertView优化ListView性能
这里提到的ListView只是作为一个典型代表 其实在Android中 采用类似Adapter机制的GridView等都是可以适用的 而ListView应该是用得最多的 所以就以它来举例大家都知道 将ListView和Adapter绑定以后 其实也就是将数据源和控件显示绑定在一起 而每次需要显示ListView的时候 里面的item其实是Adapter提供的 通过的就是重要的get
2014-05-10 11:38:44 979
转载 Android常用开源项目
Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他Android开源项目第二篇——工具库篇 包括依赖注入、图片缓存、网络相关、数据库ORM工具包、Android公共库、高版本向低版本兼容库、多媒体、事件总
2014-05-06 14:22:03 2736
原创 移动搜索该是一个什么形态
浏览器 我们的第一想法都是,需要做好移动搜索必须要有一个好的浏览器,浏览器肯定是搜索的主要入口没有错,但是移动搜索不同于PC搜索, 移动互联网是一个 link dead 的时代,用户对App的意识高于网页,如一个垂直服务有App的很少人会去使用此服务的网页版(当然一些特殊需求除外)。而浏览器是以 link 为核心驱动的,这个使得用户对浏览器的认识向工具化转移。这也就是
2014-04-03 17:40:13 1717 1
转载 Android Service学习之AIDL, Parcelable和远程服务
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。
2014-03-14 11:08:58 974
转载 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具。没有它很多工作都无法完成。早期的Unix都是使用的vi作为系统默认的编辑器的。你也许会有疑问,vi与vim有什么区别?可以这样简单理解,vim是vi的升级版。很多linux系统管理员都习惯用vi,那是因为他们接触linux的时候用的就是vi,vim后来才比较流行。所以,无所谓用vi和vim,只要你能达到你想要的目的即可。在笔者看
2014-03-10 11:00:03 1068
转载 Android进程与线程详解
Android进程与线程详解 进程当一个应用的组件开始运行,并且这个应用没有其它的组件在运行,系统会为这个应用启动一个新的Linux进程,这个进程只有一个线程.默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程)中.如果一个应用的线程开始运行,并且已经存在这个应用的线程了(因为有这个应用程序的另一个组件已经运行了),于是这个组件就会在这个已有的进程中启动并且运行在同一个
2014-02-24 17:29:01 1283
原创 2014年工作计划
2013年已经离我渐渐远去了,回首这一年更多的是无奈。 3~5月份来到公司实习,了解了公司的概况与部门的分布情况。 6~7月回学校做了毕设,学会了开车,并成功拿到驾照。完成了一次疯狂的毕业衡山骑行(没有去西藏,这个是毕业旅行最大的遗憾)。 毕业后,只身一人来到北京漂。 8~9月中旬,在公司里,做了一个移动开发测试职位,老大和hr对我都挺好,之前都不清楚测试还需要
2014-02-17 20:28:25 1435 1
转载 cocos2d-x3.0+VS2013环境配置
这个还是比较纠结的东西 ,我弄了1天才弄出来,分享给大家同时也做一下自己的记录。直接进去正题吧,首先cocos2d-x 3.0加入VS环境,vs必须是2013的版本,否则会出来版本不匹配错误!我们首先下载一个cocos2d-x 2.04 和 3.0 两个版本。首先用vs2013 把cocos2d-x 3.0 编译一遍会在 根目录的Debug.win32 生成相应的静态链接库(*.lib)和
2014-02-14 10:18:16 2081
转载 android 网络数据抓包
主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博、微信、墨迹天气)的网络通信请求就可以利用这个方法。相对于tcpdump配合wireshark抓包的优势在于:(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂,Fiddler的UI更简单明了 (5
2014-01-26 16:51:02 1415
原创 让你的App能够在搜索结果中唤起
随着移动互联网及智能机的快速发展,由于APP能够更好的结合手机特征从而给带来更好的的体验,从而推动APP呈现爆炸式发展。所以用户不仅仅通过网站而且越来越多的通过APP来满足各种需求。但APP较网页搜索更为封闭,内容和服务很难通过传统的连接得到传播,同时APP的推广成本居高不下也给开发者带来巨大的困扰。为了给开发者带来更多的下载、安装量及启动频率搜索引擎平台正在与开发者和站长合作,将native App与移动搜索联系起来,在搜索结果中提供App的deep linking,支持从搜索结果直接调起App到具体的页
2014-01-18 16:39:43 2150
转载 Android应用如何监听自己是否被卸载及卸载反馈功能的实现
一个应用被用户卸载肯定是有理由的,而开发者却未必能得知这一重要的理由,毕竟用户很少会主动反馈建议,多半就是用得不爽就卸,如果能在被卸载后获取到用户的一些反馈,那对开发者进一步改进应用是非常有利的。目前据我所知,国内的Android应用中实现这一功能的只有360手机卫士、360平板卫士,那么如何实现这一功能的? 我们可以把实现卸载反馈的问题转化为监听自己是否被卸载,只有得知自己被卸载,才可以设
2014-01-02 18:15:45 1565 2
原创 从浏览器的角度看移动互联网入口
手机浏览器是一个寂寞生有熟悉的东西。 说他熟悉因为每一款手机中都会内置有一个浏览器,说他陌生,因为在移动互联网大行其道的现在它已经基本脱离了一个作为浏览器在人们心中的位置。
2013-12-13 20:04:10 1919
原创 android 入门 Monkey 指令说明
Monkey 是一个命令行工具 ,可以运行在模拟器里或实际设备中。它向系统发送伪随机的 用户事件流,实现对正在开发的应用程序进行压力测试。Monkey 包括许多选项,它们大致 分为四大类: · 基本配置 选项,如设置尝试的事件数量。 · 运行约束选项,如设置只对单独的一个包进行测试。 · 事件类型 和频率。 · 调试选项。 在Mon
2013-12-13 11:59:19 1327
转载 Adapter报错:The content of the adapter has changed
在Android编程中使用Adapter时,偶尔会出现如下错误:The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, bu
2013-12-05 10:21:07 886
转载 Android实现Filterable通过输入文本框实现联系人自动筛选...
相信大家一定在见过手机通讯录的一个情景就是使用在选人的时候输入文本框里的数据就能自动筛选。今天也受一网友邀请,所以还是整理了一下这块的知识点,现在与大家共享一下,有什么疑惑的可以与我交流。实现的效果如下图。其实实现这样的效果相信大家一定对另外一个控件不陌生那就AutoCompleteTextview,看一下这个控件的源代码也许就能找到你需要的答案。这里的核心就是一个Fi
2013-11-23 22:36:00 1212
转载 ViewStub 的作用
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl
2013-11-10 17:18:50 1339
转载 AlarmManager 全局定时器
AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service.下面的代码详细的介绍了
2013-11-07 16:58:52 1067
转载 Android 动画学习笔记
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 1. View Animation(Tween Animati
2013-11-05 09:59:35 968
原创 Scroller API 分析
API: 1 mScroller.getCurrX() //获取mScroller当前水平滚动的位置 2 mScroller.getCurrY() //获取mScroller当前竖直滚动的位置 3 mScroller.getFinalX() //获取mScroller最终停止的水平位置 4 mScroller.getFinalY() //获取mScroller最终停止的竖直
2013-11-04 10:26:37 976
转载 史上最全系列之用户界面之webkit
一、webkit简介WebKit 所包含的 WebCore排版引擎和 JSCore 引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。WebKit的优势在于高效稳定,兼容性好,且源码结构清晰,易于维护。尽管Webkit内核是个非常好的网页解析机制,但是由于以往微软把IE捆绑在
2013-10-18 18:05:02 2178
转载 Android Scroller的简单使用方法
Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。
2013-10-16 10:41:46 1411
转载 scrollTo 以及 scrollBy方法使用说明
今天给大家介绍下Android中滑屏功能的一个基本实现过程以及原理初探,最后给大家重点讲解View视图中scrollTo 与 scrollBy这两个函数的区别 。 首先 ,我们必须明白在Android View视图是没有边界的,Canvas是没有边界的,只不过我们通过绘制特定的View时对 Canvas对象进行了一定的操作,例如 : translate(
2013-10-15 20:03:17 1178
《TensorFlow实战》黄文坚(完整)中文 pdf
2018-04-08
Android su文件
2014-05-27
让你的App能够在搜索结果中唤起 Demo
2014-01-18
Scheme跳转的demo
2013-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人