adm1989

导航

#

[置顶] [转]android源码下载,从Android2.2.2到4.2.2的源码整理汇总

摘要: Android-2.2.2_r1.tar.bz2 迅雷下载Android-2.2.2_r1-20121015.tar.bz2 迅雷下载Android-2.3.3_r1 http://l2.yunpan.cn/lk/Q8aA2vu2RZCSxAndroid-2.3.4_r1 http://l2.yunpan.cn/lk/Q8aAnH7GmD9tTAndroid-2.3.5_r1 http://l2.yunpan.cn/lk/Q8hCPeM2DQDvqAndroid-4.0.1-r1.tar.gz http://... 阅读全文

posted @ 2013-03-28 16:44 adm1989 阅读(591) 评论(0) 推荐(0) 编辑

2018年8月1日 #

将博客搬至CSDN

摘要: 搬迁 阅读全文

posted @ 2018-08-01 20:52 adm1989 阅读(111) 评论(0) 推荐(0) 编辑

2015年7月8日 #

Android 下载模块分析(DownloadManager和DownloadProvider)

摘要: Android下载模块主要有2个部分组成:DownloadManager和DownloadProvider;其中DownloadManager提供接口供调用,具体的实现是 DownloadProvider,包括相关数据信息的保存及文件下载。 DownloadManager是系统开放给第三方应用使用的类,包含两个静态内部类DownloadManager.Query和... 阅读全文

posted @ 2015-07-08 19:08 adm1989 阅读(6277) 评论(0) 推荐(0) 编辑

2015年5月1日 #

linux shell基础语法

摘要: 1.第一个Shell脚本打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。 输入一些代码:#!/bin/bashecho "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。 运行S... 阅读全文

posted @ 2015-05-01 17:29 adm1989 阅读(650) 评论(0) 推荐(0) 编辑

2014年1月9日 #

Android过滤Logcat输出

摘要: logcat和grep配合使用1.打印特定tag的log,如打印Tag为Adm的Log adb logcat | grep Adm adb logcat | grep -i adm #忽略大小写 adb logcat | grep --color=auto -i adm #设置匹配字符串颜色 上面的例子会匹配一行中任意位置的 Adm,如果想匹配类似于I/CacheService( 665): Preparing DiskCache for all thumbnails. 可以将表达式写为 adb logcat | grep "^./Adm" #匹配所有级别 adb... 阅读全文

posted @ 2014-01-09 20:26 adm1989 阅读(1300) 评论(0) 推荐(0) 编辑

2013年9月5日 #

(Java 多线程系列)Java 线程池(Executor)

摘要: 线程池简介 线程池是指管理同一组同构工作线程的资源池,线程池是与工作队列(Work Queue)密切相关的,其中在工作队列中保存了所有等待执行的任务。工作线程(Worker Thread)的任务很简单:从工作队列中获取一个任务,执行任务,然后返回线程池并等待下一个任务。 线程池简化了线程管理工作,并且java.util.concurrent提供了一种灵活的线程池实现作为Executor框架的一部分。在Java类库中,任务执行的主要抽象不是Thread,而是Executor。虽然Executor是个简单的接口,但它却为灵活且强大的异步任务执行框架提供了基础,访框架能支持多种不同类型的任务执行.. 阅读全文

posted @ 2013-09-05 09:24 adm1989 阅读(1885) 评论(0) 推荐(0) 编辑

2013年8月31日 #

Java 多线程系列

摘要: 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问。 Java中的主要同步机制是关键字synchronized,它提供了一种独占的加锁方式,但是同步这个术语还包括volatiel类型的变量,显式锁(Explicit Lock)以及原子变量。 1.概念说明 线程安全:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 原子操作:是指对于访问同一个状态的所有操作(包括该操作本身)来说,... 阅读全文

posted @ 2013-08-31 16:27 adm1989 阅读(292) 评论(0) 推荐(0) 编辑

(Java 多线程系列)java volatile详解

摘要: 在前面的文章里面介绍了synchronized关键字的用法,这篇主要介绍volatile关键字的用法。 Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其它线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其它内存操作一起重排序。Volatile变量不会被缓存在寄存器或者其它对处理器不可见的地方,因此在读取volatile类型的变量时,总会返回最新写入的值。volatile boolean asleep;while(!asleep){ //do something} vola... 阅读全文

posted @ 2013-08-31 16:27 adm1989 阅读(2244) 评论(0) 推荐(0) 编辑

(Java 多线程系列)java synchronized详解

摘要: synchronized简介 Java提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block)。同步代码块包括两部分:一个作为锁对象的引用,一个作为由这个锁保护的代码块。以关键字synchronized来修饰的方法就是一种横跨整个方法体的同步代码块,其中该同步代码块的锁就是方法调用所有的对象。静态的synchronized方法以class对象作为锁。synchronized(this){ //访问或修改由锁保护的共享状态} 每个Java对象都可以用做一个实现同步的锁,这些锁称为内置锁或监视锁,Java的内置锁相当于一种互斥锁,这意味着最多只有一个线... 阅读全文

posted @ 2013-08-31 16:27 adm1989 阅读(1368) 评论(0) 推荐(0) 编辑

2013年8月30日 #

Android Widget(窗口小部件)

摘要: Android Widget简介应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。可以容纳其它App Widget的应用程序组件被称为App Widget宿主程序. 为了创建一个App Widget,你需要使用下面这些: 1.AppWidgetProviderInfo 对象(定义在XML文件里面) 描述一个App Widget元数据,比如App Widget的布局,更新频率,以及AppWidgetProvider 类。这个应该在XML里定义。 2... 阅读全文

posted @ 2013-08-30 17:52 adm1989 阅读(910) 评论(0) 推荐(0) 编辑

2013年8月29日 #

SlidingMenu源代码导入及错误分析和解决方法

摘要: 1.首先下载actionbarsherlock和SlidingMenu源代码 由于在SlidingMenu项目中,styles.xml文件使用到了actionbarsherlock里面的主题定义,所以在使用的时候需要先导入actionbarsherlock 两个项目的源代码地址为: https://github.com/jfeinstein10/SlidingMenu http://actionbarsherlock.com/2.导入源代码 运行SlidingMneu需要使用到actionbarsherlock和SlidingMenu两个lib,所以在使用项目之前,需要先将那... 阅读全文

posted @ 2013-08-29 10:10 adm1989 阅读(1448) 评论(0) 推荐(0) 编辑