自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

samwangzhibo

write more,think more and more.

  • 博客(56)
  • 资源 (8)
  • 收藏
  • 关注

原创 自定义ViewGroup实现Title自动隐藏功能(带源代码)

今天看到很多app都有Title自动隐藏功能,自己尝试写了一个最简单版本的。最后还封装了一下,喜欢的朋友可以下载工程看一下效果。

2016-07-07 16:34:03 990

转载 50 Android Hack 读书笔记

1、可以指定android:weightSum属性 2、使用include标签来应对变化 3、使用ViewStub标签延迟加载有可能不需要加载的数据 标签中可以指定inflateId属性 4、使用自定义ViewGroup,重写onMeasure、onLayout 5、使用Android的PreferenceCategory6、使用TextSwitcher、ImageSwit

2016-04-28 10:15:46 525

原创 ViewTreeObserver

//------------------------------------------------方法一  int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);  int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPEC

2016-04-07 15:20:48 408

原创 android sparseArray源码解析

android sparseArray源码解析step1:背景今天偶然看到了sparseArray,发现其主要是针对<(Integer,obj>的类型进行了优化,何为sparse?是稀疏的意思。指的是对稀疏数组情况的讨论所谓稀疏数组: * 就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采

2015-09-07 15:20:31 1284 1

转载 button的OnClickListener的三种实现方法

onclick事件的定义方法,分为三种,分别为在xml中进行指定方法;在Actitivy中new出一个OnClickListenner();实现OnClickListener接口三种方式。代码分别如下:1. xml指定onclick事件,这种方式比较适用于指定的button,能使java代码相对简化一些:xml文件中:[html] view

2015-08-31 13:42:12 565

转载 Android布局在android:gravity 和 android:layout_Gravity差别

在进行UI布局的时候,可能经常会用到 android:gravity  和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络)    LinearLayout有两个非常相似的属性:android:gravity与android:layo

2015-08-28 18:17:50 510

转载 Activity的四种LaunchMode

合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。我们今天要讲的是Activity的四种launchMode。

2015-08-28 17:21:17 382

原创 小BO学习笔记之ConcurrentLinkedQueue和LinkedBlockingQueue的使用比较

使用环境:在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访

2015-08-27 16:07:31 827

原创 知乎(高逼格)android开发offer——get

首先介绍一下自己楼主马上大四,计算机水本,考研与我无缘现在在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发大二的时候写个一个app,主要是用各种框架上干货session1:偶然看到知乎的内推帖,投了个简历,下午hr姐姐call我,安排面试选在3天后,然而又要笔试阿里,所以没怎么复习session2:8点起床,9点过比较紧张的去了创业园,感觉知乎氛围很好,在那等了一小会,有前台大

2015-08-27 14:51:53 2188

原创 java死锁例子详解

java死锁例子详解本文给出一个简单的java死锁例子:java代码块package Test;public class TestDeadLock implements Runnable{ public TestDeadLock(int flag){ this.flag = flag; } public int flag = 1; static

2015-08-27 11:35:23 750

原创 C++输入cin应用详解

输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入一:cin>>1)该操作符是根据后面变量的类型读取数据。输入结束条件 :遇

2015-08-11 23:21:36 19055

原创 java反射机制学习笔记与Method类invoke方法jvm底层优化方案

LZ今天面试被问到了,然后百度了一下,百度给的解释如下:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。看了之后是不是不懂,其实刚开始我也是。之后看了别人的blog特总结了一下,主要是要在java运行时,而不是编译时,因

2015-05-13 20:21:10 4058

原创 java阻塞和NIO概念详解

java阻塞非阻塞  阻塞与非阻塞IO  JAVA IO的各种流是阻塞的,这意味着,当一个线程调用read()或write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。  该线程在此期间不能再干任何事情了。  阻塞式网络 IO 的特点:多线程处理多个连接。每个线程拥有自己的栈空间并且占用一些 CPU 时间。每个线程遇到外部未准备好的时候,都会阻塞掉。  阻

2015-05-12 17:22:23 514

原创 迭代与递归的区别

递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合.使用递归要注意的有两点:1)递归就是在过程或函数里面调用自身;2)在使用递归时,必须有一个明确的递归结束条件,称为递

2015-05-10 23:38:18 756

转载 Android性能优化典范(二)

Google于不久前发布了Android性能优化典范第2季课程,共有20个短视频,内容涵盖电量优化、Android Wear上如何做优化、LRU Cache、Bitmap的缩放、提升设置alpha之后View的渲染性能等。本文是对这些课程的总结摘要。Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化、网络优化、Android

2015-04-29 20:06:03 722

原创 浅析Comparable接口和collection的排序

今天LZ在做Huffman编解码,需要做的模块中有一个就是,对于字符出现的frequency来按从小到大顺序排序,然后等下继续构建frequency的排序序列,我最后选用的方案是自己用linkedlist来模拟HuffmanNode队列,那么一个问题就是怎么按照对象的属性来排序。1):在网上看了发现可以让HuffmanNode类实现Comparable接口,注意的是其中的compareTo(o

2015-04-29 17:33:19 998

原创 初识java接口回调机制与androidView的触发事件回调

回调:概念网上各大blog都有说,这里我就不说了,直接说理解吧。一、建模我理解的接口回调就是,我这个类实现了一个接口里的方法doSomething,然后注册到你这里,然后我就去做别的事情去了,你在某个触发的时机回头来调用我doSomething的方法。好比,我给你打电话问某个难题,你电话里想不出来,于是说等想到了再回我电话。于是接口回调机制比喻模型如下Android中:

2015-04-27 15:58:19 550

原创 VS2012下面使用vc++6.0的项目的出错问题

问题:在Visual C++ 6.0 下面运行正常的代码放到Visual Studio 20xx系列里就跑不动了,有时候会提示如下错误:error C4996: 'fopen': This function or variable may be unsafe. Consider usingfopen_s instead. To disable deprecation, use

2015-04-26 20:17:55 1526

原创 斐波拉契数列的java实现和性能优化

第一种:三个变量直接打印(迭代)public class Fi { static int m=0; public static void main(String[] args){  int a=1,b=1;  System.out.print("斐波拉契数列前20项:"+a+" \t"+b+" \t");  for(int i=0;i   int c=a+b; 

2015-04-25 12:04:54 1085

原创 斐波那契数列调用深度学习笔记

今天研究了下斐波那契数列的调用深度,自己写了个代码测试了下斐波拉契的0-10项,package ChangeSort;public class Fi { static int m=0; public static void main(String[] args){  for(int i=0;i   System.out.println("fun("+i+")=: "+fun

2015-04-25 11:35:03 996

转载 C/C++中的结构体对齐问题(内存对齐)

由于程序运行时占用的内存过大,所以想办法给程序瘦身。在调试中发现结构体占用的size竟然和预想的不一样,原来…… 看看下面讲的吧,肯定会不枉此看哦! 1,比如: struct{    short a1;    short a2;    short a3;}A;struct{    long a1;    short a2;}B;

2015-04-24 00:35:02 421

转载 进程间通信与线程间通信

  以前一直想找个机会总结一下进程和线程的通信机制,但由于技术和平台的局限性,一直没有找准切入点。由于马上要毕业了,对自己技术的总结和梳理的前提下写了本篇文章,如有错误之处,敬请拍砖和指教。         操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计

2015-04-22 21:11:29 364

原创 Java设计模式学习笔记之单例模式

首先是单例模式的内容:       1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若

2015-04-22 15:28:32 491

原创 Handler,message,Looper源码解析

android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍:线程的魔法师 LooperLooper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程

2015-04-19 20:11:15 413

转载 Android IPC进程通信——Messager方式

本文转自:http://blog.csdn.net/chenfeng0104/article/details/7010244 Android IPC通信有两种方式,上一篇文章深入分析AIDL原理讲解了AIDL方式,这篇文章讲解另一种IPC通信方式——Messager方式。Messager实现IPC通信,底层也是使用了AIDL方式。和AIDL方式不同的是,Messager方式

2015-04-17 23:04:12 589 1

转载 GitHub 优秀的 Android 开源项目

文章转载自 : http://blog.csdn.net/zhixiang2010/article/details/18032871 作者 : Elysee2014主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、

2015-03-28 17:41:05 2450

转载 阿里腾讯实习生题目

腾讯笔试2.   假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为()A.  O(n)B.   O(n*n)C.  O(n*log(n))D.  以上都不对 这个题目我的思路是A,讨论后答案应该是D,因为f1的返回值不确定,如果是个数组当然复杂度就不同了。3.   对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是(

2015-03-28 17:35:25 1104

转载 内存溢出、内存泄露、内存越界、缓冲区溢出、栈溢出

内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。================================================================内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),

2015-03-23 13:48:25 1183

原创 多益网络2015校园招聘面试题目大揭秘

前天笔试完,今天LZ就去面试了。地点什么的就不说了,直接上干货。1:Leader:你有女朋友?(这也是程序员会问的?我感到有点突然。。。。)    Me::额 ,有         你女朋友来会来多益吗?         会啊。          你女朋在干嘛?          读书啊。好吧他就没问了。2:你说一下你讨厌的人(LZ本生没讨厌过谁啊,怎么说,难道一定要讨

2015-03-20 20:01:31 8104 2

原创 多益网络2015校园招聘第二次笔试题

多益网络2015校园招聘第二次笔试题LZ本人大三码农一枚,今天去参加多益网络的校园招聘2笔题,发现自己的c/c++知识还需要认真啊。话不多说上题,本次总共是5道选择题,第一题读代码题就不多说了,第二道是给出abcdef入栈,和出栈顺序,求最小栈深度,也不多说了。第三题,记不得了。 第四题是给你一个树形结构的元素的节点树,并且知道树的叶子节点个数,将他转化为二叉树后,没有右子树的节点个数。这里就是数

2015-03-18 18:52:37 7669 1

转载 深入Java集合学习系列:HashMap的实现原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构

2015-03-15 21:10:57 414

原创 Android下常见的内存泄露 经典

因为Android使用Java作为开发语言,很多人在使用会不注意内存的问题。于是有时遇到程序运行时不断消耗内存,最终导致OutOfMemery,程序异常退出,这就是内存泄露导致的。我们现在就来总结一下可能导致内存泄露的情况:查询数据库而没有关闭Cursor在Android中,Cursor是很常用的一个对象,但在写代码是,经常会有人忘记调用close, 或者因为代

2015-03-14 23:20:26 839 1

原创 Java 强引用、 软引用、 弱引用、虚引用

1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。下图为对象应用类层次。⑴强引

2015-03-14 22:29:26 607

原创 Android cocos2dx游戏开发——示例程序HelloCpp源码分析

本文通过分析cocos2dx提供的示例程序HelloCpp来分析cocos2dx的启动过程。 我们从HelloCpp.java开始:[java] view plaincopy在CODE上查看代码片派生到我的代码片01.package org.cocos2dx.hellocpp; 02. 03.import org.cocos2dx.lib.Cocos2dxActivity; 04. 05.impo

2014-12-07 22:46:18 1949 1

原创 android.content.res.Resources$NotFoundExcept

之前忘了记录这个错误,今天又遇到了。唉,人不能纵容自己犯懒,遂记录之。 错误:android.content.res.Resources$NotFoundException: String resource ID #0x1原因:一般发生在参数 int resId 错误,你把String赋值给int的resId,所以编译器找不到正确的resource于是报错。最简单的例子,检查一下你

2014-10-22 13:33:33 497

原创 Android Your content must have a ListView whose id attribute is 'android.R.id.list'错误的解决办法

Android Your content must have a ListView whose id attribute is 'android.R.id.list'错误的解决办法在Android开发中,ListView有着很重要的地位,使用的场合也非常的多错误提示:Your content must have a ListView whose id attribute is 'and

2014-10-21 14:17:15 749

原创 腾讯2013年实习生笔试题目

一、选择题1、32位机上根据下面的代码,问哪些说法是正确的?()signed char a = 0xe0;unsigned int b = a;unsigned char c = a;A. a>0 && c>0 为真 B. a == c 为真 C. b 的十六进制表示是:0xffffffe0 D.上面都不对考点:有符号数和无符号数之间的转换解析:

2014-07-08 20:33:27 828

原创 编译原理 (预处理>编译>汇编>链接)

一般高级语言程序编译的过程:预处理、编译、汇编、链接。gcc在后台实际上也经历了这几个过程,我们可以通过-v参数查看它的编译细节,如果想看某个具体的编译过程,则可以分别使用-E,-S,-c和 -O,对应的后台工具则分别为cpp,cc1,as,ld。下面我们将逐步分析这几个过程以及相关的内容,诸如语法检查、代码调试、汇编语言等。 1、预处理 预处理是C语言程序从源代码变成可执行程序的

2014-07-06 12:54:48 1197

原创 Set和List 的关系与区别

两个接口都是继承自Collection. List (inteface) 次序是List 的最重要特点,它确保维护元素特定的顺序. --ArrayList 允许对元素快速随机访问. --LinkedList 对顺序访问进行优化,向List 中间插入与移除的开销并不大,具有addFrist(),addLast(),getFirst,getLast,removeFirst和re

2014-06-20 00:36:23 1172 1

原创 反编译Apk得到Java源代码

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.d

2014-06-11 02:41:43 535

安卓反编译工具(Mac)

Mac下安卓反编译工具(apktool-2.1.1、dex2jar-2.0、jd-gui-osx-1.4.0)

2018-01-19

最新Charles v3.11.2破解补丁,网络抓包利器,兼容Mac、Windows、Linux。

最新Charles v3.11.2破解补丁,网络抓包利器,兼容Mac、Windows、Linux。 使用说明:将下载的charles.jar替换安装目录下的charles.jar即可(Mac:/Application/Charles.app/Contents/Java/; Windows: charles/lib/; Linux: charles/lib/)。

2016-09-23

自定义ViewGroup实现Title自动隐藏功能(带源代码)

今天看到很多app都有Title自动隐藏功能,自己尝试写了一个最简单版本的。最后还封装了一下,喜欢的朋友可以下载工程看一下效果。

2016-07-07

AIDL进程通信

aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口

2015-04-02

Fragment跟Activity通信交互

Fragment跟Activity通信和交互 碎片跟Activity交互和通信 此为示例代码,详细讲解

2015-03-31

数据校验码(奇偶校验码 海明校验码 循环冗余校验码)下载

数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。

2015-01-12

android开发入门与实战源码

本书内容上覆盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演 示等方面。从技术实现上,讲解了5个Android平台下的完整综合实例及源代码分析,分别是RSS阅读器、基于Google Map的个人GPS、豆瓣网(Web 2.0)客户端、在线音乐播放器、手机信息助手。

2014-03-20

CamMonitor

这是一个android端实现对PC端视频监控的源代码,里面有整个工程文件,还有个PC端的exe、

2013-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除