- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 JsBridge原理浅析与实践
JsBridge原理浅析与实践WebView相关的两个重要的类:WebViewClient和WebViewClinet。WebViewClient:帮助WebView处理各种通知,事件请求,主要的方法有:onLoadResource,onPageStart, onPageFInish, onReceiveError, ...
2018-12-14 17:29:48
3237
原创 浅析Activity,Window,View之间的关系
理解Activity,Window还有View之间的关系,可以从Activity的onCreate中setContentView方法着手。Activity.setContentView中实际调用的是PhoneWindow的setContentView方法,而PhoneWindow对象在Activity的attach中初始化。参加Activity的代码:PhoneWindow的setContentV...
2018-05-11 17:58:03
964
转载 MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
原创路径:http://blog.youkuaiyun.com/zhshulin/article/details/307798731.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。—————————————————————————————————
2017-01-05 11:04:29
319
原创 IntentFilter的匹配规则
启动Activity有两种方式,显示和隐式调用。显示调用需要明确地指定调用对象的组件信息,包括包名和类名。隐式调用需要匹配AndroidManifest文件中的IntentFilter规则,IntentFilter由action,category,data组成。1)如果IntentFilter匹配规则中出现了action,那么就必须使用setAction方法设置intent的actio
2015-10-08 00:01:35
441
原创 点击桌面图标Activity启动流程分析 - 基于Android5.0源码
Activity启动有两种方式:1,通过点击桌面的图标来启动一个应用,进而会启动一个Activity。2,直接在一个Activity或者Service中通过startActivity来启动一个Activity。第一种方式的本质也是在Launcher中调用startActivity方法。先看看大致的流程图:详细步骤如下:1,点击桌面上的应用程序按钮,进
2015-09-28 11:42:05
2338
原创 Activity四种启动模式
1,standard:这种模式启动,每次都会产生新的Activity和实例2,singleTop:如果启动的这个Activity已经存在栈顶了,就复用栈顶的这个,否则再创建新的实例。前两种在栈中的Activity实例不会是只有一个。下面两种保证在栈中只有唯一一个Activity实例,区别是singleTask除了这个Activity实例外还可以有别的Activity,但是SingleT
2015-09-21 14:12:52
380
原创 用反射访问第三方的jar文件
需求:引入第三方的jar 包,但是只编译进中国的产品中,国外的产品不能有这个jar文件。makefile如下# Yellowpage APIinclude $(CLEAR_VARS)LOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_MODULE := yellowpageAPILOCAL_STATIC_JAVA_
2015-07-16 19:27:07
672
原创 判断一个APP是否为系统应用
方法一:List candidates = pm.queryContentProviders(null, 0, 0); ApplicationInfo info = null; String packageName = null; for (ProviderInfo provider : candidates){
2015-07-16 17:16:30
840
转载 ubuntu下安装vmware-tools 实现linux与windows的互相复制与粘贴
http://lpy999.blog.163.com/blog/static/117372061201352401516325/1.打开虚拟机的菜单“vm”里面的下拉框中会有一个vmware tools工具的安装选项。点击之后,在ubuntu的桌面下会出现vmware...tar.gz的文件,(home/usrname/),也有可能需要鼠标双击一下光驱,
2014-12-10 22:16:39
539
原创 在2.x版本中,将hadoop源代码导入到eclipse中:
1. 装个maven2. 在src目录下执行mvn eclipse:eclipse3. 从eclipse的IDE中open src下的project4, 对于2.x版本,会在eclipse中打开hadoop-hdfs、hadoop-mapreduce等多个项目
2014-09-16 09:19:18
477
原创 Eclipse快捷键 10个最有用的快捷键
来自:http://www.open-open.com/bbs/view/1320934157953/
2014-09-16 00:34:16
319
原创 hadoop2.2.0 centos 编译安装详解
来自:http://blog.youkuaiyun.com/w13770269691/article/details/16883663/
2014-09-15 01:50:49
480
原创 多线程面试题:子线程循环10次,接着主线程循环100次;接着回到子线程循环10次,然后再回到主线程循环100次,如此交替50次。
public static void main(String[] args){ final Business b = new Business(); new Thread(){ @Override public void run(){ for(int i=1; i<=50; i++){ b.sub(i); } } }.start(); for(int
2014-09-06 23:48:58
1156
原创 IO和NIO的区别
IO:1,同步操作,线程在读操作的时候是阻塞的,这个时候线程还是会占用资源。2,处理大规模访问的时候性能不好。3,当大规模并发连接数量的时候,每一个访问就会创建一个线程,而很多客户端只是链接服务器, 不会有访问IO传输数据,这个时候也会分配一个线程。线程占用的栈内存和CPU线程切换的开销很大,会浪费资源。NIO:1,以注册的形式为多个Channel服务,并设置为非阻塞的
2014-09-06 20:46:03
699
原创 网络编程
UDP传输:1, 无连接2,封装包,每个包不超过64k3,效率高4,不可靠应用场景,视频传输,聊天软件常用类:DatagramSocket: receive(DatagramPacket p) send(DatagramPacket p) DatagramPacket:包装了字节信息TCp传输:1,建立连接,
2014-09-02 00:11:04
373
原创 leetcode - Single Number
Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without using ext
2014-08-31 10:39:19
435
原创 Leetcode - Two Sum
Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe
2014-08-31 10:11:45
453
原创 Validate Binary Search Tree
class TreeNode{ int value; TreeNode left; TreeNode right; TreeNode(int value){ this.value = value; }}boolean isSearchTree(TreeNode root, int min, int max){ if(root==null) return true; if
2014-08-31 00:34:07
321
原创 Merge Two Sorted Lists
Node merge(Node head1, Node head2) { if(head1==null) return head2; if(head2==null) return head1; Node p1 = head1; Node p2 = head2; Node ret = null; if(p1.data < p2.data){ ret = p1; ret
2014-08-30 17:47:03
327
原创 JAVA IO处理文件的常用方法
1,拷贝纯文本文件,使用默认的编码格式GBKBufferedReader br = new BufferedReader(new FileReader("a.txt"));BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));2, 拷贝二进制文件(视频,音频,图片等)BufferedInputStre
2014-08-27 12:44:16
423
原创 设计模式(bridge模式,Adapter模式,Observe模式,Template模式)
android中读取位图bitmap时,分给虚拟机图片的堆栈8M的大小,很容易发生OutOfMemory异常1, bridge模式:将抽象和实现分离出来。它可以解决继承的缺点:如果继承层次很多,并且某一个方法在多层的类中可能出现变化,或者说这个方法不确定,如果某一个继承层次中的类想修改这个方法,就做不到。因为这样可能对它的子类有影响。这个时候就可以使用bridge模式,将这
2014-08-25 23:57:06
597
原创 深度优先和广度优先
深度优先:类似二叉树的先根遍历,需要借助栈和一个数组记录是否访问过来实现。实现思想:1, 访问一个未被访问的相邻节点,将该节点压栈,并标记已访问,寻找该节点相邻的未被访问的节点2, 如果找到,将该节点压栈,并标记已访问;如果没有找到则弹出栈顶元素,重复第一步。如果栈为空结束遍历 广度优先:需要借助队列和一个数组记录是否访问过来实现。实现思想:1, 访问一个未被访问的相邻
2014-08-04 12:09:22
613
原创 常用排序方法
排序方法时间复杂度 平均情况最坏情况最好情况空间复杂度稳定性复杂性BubbleO(n*n)O(n*n)O(n)O(1)稳定简单SelectO(n
2014-08-03 18:43:51
403
原创 打开CHM文件,左边目录可以显示,左边内容是空白
1, 新建文件:内容如下:REGEDIT4[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]"MaxAllowedZone"=dword:00000003
2014-07-31 19:52:39
624
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人