自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android APP异常处理

android app的异常处理

2016-12-28 22:57:17 9768 1

原创 Android开机启动流程

图片转自http://blog.jobbole.com/67931/一, 主要流程BootLoader引导,加载内核内核模块启动init进程init进程挂载目录,解析init.rc配置文件,fork一个zygote进程zygote进程创建虚拟机,创建serverSocket,fork一个systemServer进程2二, init进程内核模块启动init进程(http://android

2016-09-29 02:07:43 1173

转载 海量数据一,从2.5亿个正整数中找到不重复的整数

题目:从2.5亿个正整数中找到不重复的整数。 解答: int有4个字节,32位bit,最多可表示2322^{32}个正整数,即4G个正整数(1G=230,1K=2101G=2^{30},1K=2^{10}) 用2Bitmap法,每个正整数用两个bit的标志位,00表示没有出现,01表示出现1次,10表示出现多次。 开辟一个用2-Bitmap法标志4G个正整数的桶数组,则总共需要4G*2bit=

2016-09-19 00:11:30 3558

原创 手摇算法

f为翻转映射 假设AB要翻转成BA,f(f(A)f(B))=f(f(B))f(f(A))=BA

2016-09-14 00:53:43 662

原创 《Java并发编程的艺术》读书笔记——Java内存模型

第三章 Java内存模型3.1 内存模型基础3.1.1 并发编程的两个关键问题线程之间如何通信 java采用共享内存模型隐式通信线程之间如何同步 共享内存模型模型需要显式指定同步3.1.2 内存模型抽象结构3.1.3 从源代码到指令序列的重排序3.1.5 happens-beforeJSR-133内存模型采用了happens-before概念,指前一个操作执行的结果对后一个操作可见,且前一

2016-09-13 10:49:17 1096

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-09-13 10:45:07 228

原创 HashMap源码解析

HashMap、Hashtable、ConcurrentHashMap

2016-09-13 02:26:32 1129

原创 RxJava合并Observable——merge和mergeDelayError操作符

merge和mergeDelayError操作符的区别以及mergeDelayError在指定线程上的坑

2016-09-12 18:47:47 7118 2

原创 静态内部类和内部类的区别

内部类持有了一个指向外部类的引用,而静态内部类没有。我们可以通过查看类的fields来发现这一点。public class MyClassTest {    A a;    B b;    @Before    public void setUp() throws Exception {        a=new A();        a.setName(

2016-07-13 14:49:18 723

原创 关于Android方法数量限制的问题

限制Android程序方法数量的原因和解决方法

2016-05-06 15:56:43 10983 2

原创 Android的httpGet方法的参数字符串

查询参数部分不自己一个个拼接成字符串,而是如同post一样传入储存参数用的bean对象,反射获取属性名和值,从而得到List ,然后用URLEncodedUtils格式化成查询参数字符串queryString,拼在url后边。这里url地址是不能包括查询参数的。if (bean != null){String queryString = URLEncodedUtils.format(g

2015-07-07 16:38:49 875

原创 ListView的item内的子view的点击

定义接口描述在位于列表的position位置的item里点击子view的方法public interface OnItemClickViewInsideListener{/** * @param position 列表项在列表中的位置 * @param item 列表项的数据 * @param view 列表项被点击的子视图 */public void onItemClickVi

2015-06-25 15:40:10 974

转载 android:layout_weight为0

android:layout_weight是view所占空间的权重。0.0是比较特别的表示,表明必须占据所需的空间,不参与空间的分割。如果在中one和three都是0.0(即上下控件都是0.0),系统为他们预留了最上和最下的位置,而two占据了1,表明剩余参与分配的空间,由于剩余只有two1个控件,全部给了two。0.0是很有用的方式,例如能够确保listview最下方留下1button的空间,不

2015-05-30 15:47:53 537

转载 Android的Service

生命周期如图所示一,startService1,onStartCommand的返回值问题START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没

2015-03-25 12:26:50 459

转载 initLoader和restartLoader的区别

To answer this question you need to dig into the LoaderManager code. While the documentation for LoaderManager itself isn't clear enough (or there wouldn't be this question), the documentation for Loa

2015-02-05 12:17:32 2270

原创 ListView的优化:convertView + viewHolder

1,convertView的重用可以减少inflate2,viewHolder可以减少findViewById3,如果存在多个item的类型,由于ListView存在对convertView的重用,可能导致不同的item类型使用同一个convertView,也就是说view和item的数据可能不匹配,因此,需要给把viewType绑定到convertView上,然后在getView之初通过

2015-02-05 12:15:33 782

原创 (四次元新浪微博源代码学习笔记4)实现单例模式

私有对象instance通过getInstance取出,保证instance只初始化一次。一,多线程同步锁Weiciyuan0.50的TimeLineBitmapDownloader代码采用了这种写法。public class TimeLineBitmapDownloader { private static final Object lock = new Ob

2015-02-05 11:24:58 797 1

原创 单例模式

1,votalize和双重检查加锁单例模式

2015-02-05 11:20:01 471

转载 如何判断是否为第三方软件

mContext.getPackageManager().getInstalledPackages(参数)得到所有安装软件列表然后根据

2015-02-05 11:18:28 1146

原创 获取view的高和宽

在有些地方,如onCreate或者listAdapter的getView里,view未绘制,那么无法通过调用getHeight或者getHeight来获取view的尺寸。view在显示之前需要经过measure和requestLayout的步骤,也就是在显示前需要被测量。因此可以通过如下方法来获得view尺寸: public static int getWidth(View v){

2015-01-26 16:30:11 482

转载 android屏幕适配建议

http://www.cnblogs.com/zhaojianhua/p/3653853.html一、关于布局适配1、不要使用绝对布局2、尽量使用match_parent 而不是fill_parent 。3、能够使用权重的地方尽量使用权重(android:layout_weight)4、如果是纯色背景,尽量使用android的shape 自定义。

2015-01-26 16:15:19 496

原创 禁用ListView中某些item的点击事件

禁用ListView中某些item的点击事件,需要重写BaseAdapter的两个方法——areAllItemsEnabled和isEnabled

2015-01-13 13:36:46 3791

转载 关于TextView的setText()与Integer之间一个易犯的小错误

先上图:因为TextView有两个不同的重载函数,而且其中一个重载函数参数为int型的,但这个参数是Resource id,所以如果你想往setText中放入int或者Integer的引用(非资源引用)时,应先把它转成String。例如:Integer score = 123;scoreTextView.setText(score);       这是错误的

2014-12-23 19:12:52 581

原创 android——开启intel虚拟机

1,去BIOS看看,保证Intel Virtual Technology是打开的2,去android-sdk-windows\extras\intel\Hardware_Accelerated_Execution_Manager目录下安装intelhaxm-android.exe

2014-12-16 19:08:53 693

转载 【译】UNIVERSAL IMAGE LOADER.PART 2---ImageLoaderConfiguration详解

ImageLoader类中包含了所有操作。他是一个单例,为了获取它的一个单一实例,你需要调用getInstance()方法。在使用ImageLoader来显示图片之前,你需要初始化它的配置-ImageLoaderConfiguration使用init(…)方法。然后,你就可以使用可以明确地根据需要使用不同形式的displayImage(…)。总之,ImageLoader最简单的用法如下所示(使

2014-12-15 17:22:08 379

原创 MYSQL中文编码问题

1. 设置数据编码为utf8mysql> use test;  Database changed  mysql> set names utf8; //设置数据库字符集为utf8  Query OK, 0 rows affected (0.00 sec)   2. 创建数据表mysql> CREATE TABLE person                           ->

2014-10-04 07:00:07 631

转载 forName、loadClass、NewInstance、new

一,类加载的过程

2014-09-24 20:37:56 841

原创 ActionBar、ViewPager、Fragment的结合实现ActionBar下的标签页切换

final ActionBar bar = getActionBar();        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

2014-09-15 23:59:30 821

原创 (《剑指Offer》笔记)顺时针打印矩阵

联系螺旋矩阵那一道题。解题思路都是先画图,然后

2014-09-15 16:24:07 598

原创 螺旋矩阵求指定位置的数字

import java.util.Arrays;public class SpiralMatrix { public static int getNumber(int n, int row, int column) { if(row>=n||column>=n) return -1; // 第i层矩阵四顶点为(i.i) (n-i-1,i) (n-i-1,i) (m-i-1,n-i-

2014-09-14 01:39:13 1126

原创 (《剑指Offer》笔记)调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序,使得所有奇数位于

2014-09-09 22:28:20 554

原创 (《剑指offer》笔记)打印从1到最大的N位十进制数

输入数字n,按顺序打印出从1到最大的n位十进制数。

2014-09-09 22:08:33 695

原创 插件化加载未安装APK

安装apk,通过动态加载dex包中的类,也属于通过反射的方式来然后手动的创建Activity。注意:这种方式跟系统创建的Activity是不一样的,没有系统创建的Activity的特性。而且R也找不到(也就是说无法通过layout来画UI).而且运行的并不是Apk中的Activity,        也就是说它已经没有了Android中Activity的特性,它只是在主程序中Act

2014-08-28 17:14:49 686

原创 设置文件下载路径时对存储空间是否充足的判断

如果外置SD卡有空间,

2014-08-27 16:43:41 1172

转载 Java多线程之interrupt()的深度研究

Java多线程之interrupt()的深度研究yuan网址:http://www.cnblogs.com/carmanloneliness/p/3516405.html近期学习Java多线程的中断机制,网上的帖子说得很浅,并没深究其原理。看了Java源码,对Java的中断机制有了略深入的理解,在这篇文章中向感兴趣的网友分享下。这篇文章主要通过一个典型例子对中断机制进行剖析。

2014-08-27 15:20:27 713

原创 android通过反射获取内置外置存储器列表

通过(StorageManager) getSystemService(Context.STORAGE_SERVICE);  得到StorageManager反射调用它的

2014-08-27 11:55:19 859

原创 观察者模式

private List mEventObserver = new LinkedList(); public void registerEventObserver(EventObserver ob) { synchronized (mEventObserver) { if (!mEventObserver.contains(ob)) {

2014-08-22 15:29:39 635

原创 Android 界面适配笔记

ldpi:mdpi:hdpi:xhdpi=120:160:240:320=3:4:6:8UIqi

2014-08-22 10:46:09 1471 1

转载 Context提供了一些有关文件的方法

Context提供了一些有关文件的方法。public File getDir(String name, int mode):name目录名称、mode权限,如果传入的目录不存在,系统会创建此目录,路径为"/data/data/程序Package Name/app_name",name就是传入的name。public File getFileStreamPath(String nam

2014-08-06 17:51:41 741

转载 FragmentTransaction add() hide() detach() show()

使用add()加入fragment时将触发onAttach(),使用attach()不会触发onAttach()使用replace()替换后会将之前的fragment的view从viewtree中删除触发顺序:detach()->onPause()->onStop()->onDestroyView()attach()->onCreateView()->onActivityCre

2014-07-21 11:09:58 757

数字电路与逻辑设计实验报告——数码管扫描显示控制器的设计与实现

数字电路与逻辑设计实验报告——数码管扫描显示控制器的设计与实现 用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这6个不同的数字图形到6个数码管上,仿真并下载验证其功能

2014-05-27

数电实验报告——贪吃蛇(VHDL语言)

本程序用VHDL语言编写 用一个 8×8 点阵做为基本显示屏,4 个连续移动的的发光点表示一条蛇,用任意 出现的一个亮点表示老鼠,用4 个排成一条线的发光点表示“墙”,用四个按键控制蛇的 运动方向,完成贪食蛇游戏,蛇撞“墙”、边或者游戏时间到,则游戏结束。 1. 老鼠出现的地方是随机的,在某个地点出现的时间是5 秒钟,如果5 秒钟之内没 有被吃掉,它就会在其它地方出现; 2. 用数码管显示得分情况和游戏的剩余时间,每吃掉一只老鼠就加一分

2011-05-16

空空如也

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

TA关注的人

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