自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(280)
  • 收藏
  • 关注

转载 android framework 源码结构图

frameworks 目录 (核心框架——java及C++语言).|-- base    (基本内容)|   |-- api   (?都是xml文件,定义了java的api?)|   |-- awt   (AWT库)|   |-- build   (空的)|   |-- camera   (摄像头服务程序库)|   |-- cmds   (重要命令:am、app_pro

2016-06-07 16:47:55 966

转载 Android需要提升权限的操作方法

权限提升方法:一种方法:1、在AndroidManifest.xml中的manifest节点中添加 android:sharedUserId="android.uid.system"。2、添加后程序在虚拟机上是不可以直接用的。但可以用eclipse编译成apk。3、(这一步经验证不执行即可)编译成apk后用压缩工具打开apk,把META-INF目录中的CERT.SF、CERT.RS

2016-06-03 10:57:43 608

转载 使用WakeLock使Android应用程序保持后台唤醒

在使用一些产品列如微信、QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态。针对前面的例子,收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进

2016-05-31 22:51:46 588

转载 Git fetch和git pull的区别

Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge    git fetch origin mastergit log -p master..origin/mastergit merge origin/master    以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到

2016-05-16 17:01:31 338

转载 Git回滚的常用手法

传统VCS的回滚操作对于版本控制系统VCS来说,回滚这个操作应该是个很普通也是很重要的需求。如果你是传统VCS,比如SVN或者P4来说,revert是个最直观,也是最直接的手段,当然前提是你的修改还没有被提交到远程的中央仓库。如果你已经ci了你的code到了远程中央仓库,那revert恐怕也无能为力,只能借助其他命令workaroud这个问题,比如:你用SVN的话,就得来个

2016-05-16 16:02:29 479

转载 【Bugly干货分享】手把手教你逆向分析 Android 程序

很多人写文章,喜欢把什么行业现状啊,研究现状啊什么的写了一大通,感觉好像在写毕业论文似的,我这不废话,先直接上几个图,感受一下。 第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的图片,苍老师你们不会不认识吧?第二张图是微信运动步数作弊,6不6? ok,那我们从头说起1.反编译Android 的反编译,相信大家都应该有所了解,apktoo

2016-05-16 15:10:06 2883

转载 Git SSH Key 生成步骤

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一 、设置Git的user name和email:$ git config --global user.name "xuhaiyan"$ git config --global user.email "haiyan.xu.vip@gmail

2016-05-16 11:50:36 331

转载 Ant 利用第三方的task

一、如何使用第三方任务  Ant可以使用第三方任务,在使用第三方任务之前,需告知Ant,这就是任务的用意。  Ant中声明第三方任务有一下几种方法:  1、声明中指定任务类名,比如:          classname="xdoclet.doc.DocumentDocletTask"      classpath="${xdoclet.jar}"

2016-05-13 16:35:32 333

转载 Ant之MacroDef——“宏”

Ant是一个基于Java的跨平台构建工具,它易于使用,并且可扩展、可升级。    MacroDef——“宏”,在Ant中是非常实用的,它的作用相当于java里面的为防止代码重复而提取的公共方法。比如我现在需要将某几个目录分别进行编译和打包,不使用MacroDef的情况下,如果有10个目录,那么我就至少要写10个类似的来做完对这10个目录的操作;但在使用MacroDef的情况下,你只用写一个通用

2016-05-13 13:31:58 628

转载 Java获取随机数的3种方法

方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数方法2获得随机数for (int i=0;i{System.out.println((int)(1+Math.random()*10));}(int)(1+Math.random()*10)

2016-05-11 15:02:38 693

转载 Ant自动编译打包&发布 android项目

Ant自动编译打包&发布 android项目  Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了。1  Ant自动编译打包android项目     1.1   Ant安装  ant的安装比较简单,下载ant压缩包  http://

2016-05-10 15:24:12 848

转载 ant中的for循环用法

有的时候,我们希望ant中也能类似脚本语言一样进行for循环,以实现一些重复性工作。由于ant核心包并未提供此功能,所以需要下载一个扩展包扔到ant的lib目录下去。详细步骤如下:1.下载核心包:ant-contrib-1.0b3-bin.zip2.解压后放到 D:\ant\ant-1.8.2\lib3.编写build.xml xml version="

2016-05-10 15:22:12 9630

转载 ant教程详解 javac java jar war delete copy mkdir move

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。一.             安装与配置下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本。解压到某个目录(例如E:"apache-ant-1.7.0),即可使用。添加系统环境变量

2016-05-10 14:45:27 1062

转载 ViewPager的基本使用

ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。我们首先来看看API对于这个类的表述:?123Layout manager that allows the user to flip left and right through pages of data. You supp

2016-05-05 11:40:01 1513 1

转载 两分钟彻底让你明白Android Activity生命周期(图文)!

大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助,但是还不能完全吃透,所以我今天特意在重新总结一下.  首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):

2016-03-31 13:57:46 269

转载 Android ListView的OnItemClickListener详解-id跟position的区别

Android ListView的OnItemClickListener详解--id和position的区别我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget.AdapterView.OnItemClickListener。本文主要在于对OnItemClickListener的position和id参数做详细的解释,我相信有些人在这上面走了

2016-03-31 10:47:10 4229

转载 Android之ContentProvider总结

1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介       当应用继承ContentProvide

2016-03-23 13:52:20 280

转载 Android:单元测试Junit的配置

在实际开发中,开发android软件的过程需要不断地进行测试。而使用Junit测试框架,侧是正规Android开发的必用技术,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性..........第一步:首先在AndroidManifest.xml中加入下面代码:[html] view plain copy print?

2016-03-22 15:47:10 283

转载 Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人

1.查找、增加、删除、修改联系人直接贴代码:ContactsManager.java[java] view plain copypackage com.example.siqi.contacts;    import java.util.ArrayList;    import android.cont

2016-03-22 14:45:38 3329

转载 Android 学习笔记 Contacts (二)Contacts 联系人详解

1.获取联系人详细信息在(一)中我们只是获取了联系人的ID和NAME,但是这是远远不够的,怎么样获取其他的值呢?[java] view plain copypublic void fetchContactInformation() {      String id,name,phoneNumber,email;      Co

2016-03-22 14:44:35 2981

转载 Android 学习笔记 Contacts (一)ContentResolver query 参数详解

1.获取联系人姓名一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NAME。[java] view plain copypublic void fetchAllContacts() {      ContentResolver contentResolver = this.getContentResolver();     

2016-03-22 14:43:25 438

转载 Java中hashCode的作用

以下是关于HashCode的官方文档定义:[plain] view plain copyhashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。     hashCode 的常规协定是:   在 Java 应用程序执行期间,在同一对象上多次调用 has

2016-03-21 09:54:45 283

转载 Android Studio 打包及引用 aar

1、 简述在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,比如:<img alt="通用配置" src="http://www.2cto.com/uploadfile/Collfiles/20150519/20150519085924119.png" title="" http:="

2016-03-19 21:58:40 1138

转载 全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件

在做一个程序的时候,需要时刻保持某一服务是启动的,因此想到了通过监听屏幕SCREEN_ON和SCREEN_OFF这两个action。奇怪的是,这两个action只能通过代码的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到。查了一下,发现这是PowerManager那边在发这个广播的时候,做了限制,限制只能有register到代码中的receiver才能接收。

2016-03-15 10:10:59 2342

转载 Android四大组件Broadcast Receiver详解

本文主要讲述了:一、BroadcastReceiver概述:二、BroadcastReceiver事件分类三、BroadcastReceiver事件的编程流程四、两类BroadcastReceiver五、普通广播和有序广播六、Service与BroadcastReceiver如何交互?七、开机自动运行service

2016-03-09 13:49:19 367

转载 java中线程队列BlockingQueue的用法

在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。[@more@]认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数

2016-03-08 14:33:17 353

转载 ReentrantLock的使用

ReentrantLock是一个可重入的互斥锁,重入锁是一种递归无阻塞的同步机制。ReentrantLock由最近成功获取锁,还没有释放的线程所拥有,当锁被另一个线程拥有时,调用lock的线程可以成功获取锁。如果锁已经被当前线程拥有,当前线程会立即返回。 重入锁的构造方法提供一个可选的公平参数:     公平情况下,操作会排一个队按顺序执行,来保证执行顺序。   

2016-03-07 17:01:08 373

转载 Java中的ReentrantLock和synchronized两种锁定机制的对比

原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造

2016-03-07 16:02:19 348

原创 android 自定义permission的说明

以跨进程调用service的例子来说明(aidl),在app1中的定义:123 4   5            android:permission="wo.cao">6       7   下面说明一下1,表示我们要自定义一个permission,2表示要使用这个permission 5,表示所有调用service的client都要使

2016-02-25 18:21:12 2070

转载 linux文件系统简介

文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识。    本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。相信有了这些知识对于深入的学习linux会有一定的帮助。文章例子主要是基于ubuntu发行版。    如有不对之处请大家多多指出。1.Linux

2016-02-23 11:48:03 358

转载 Linux操作系统文件系统基础知识详解

一 、Linux文件结构   文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。  目录提供了管理文件的一个方便而有效的途径。  Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。                      /根目录          

2016-02-23 11:46:02 318

转载 linux lsof命令详解

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打

2016-02-22 17:57:35 312

转载 你造么,Android中程序的停止状态

很多人遇到过广播收不到的问题,比如Google Play推广安装广播没有收到等,诸如这些问题,又都是什么原因呢,这篇文章将进行回答.从Android 3.1(HoneyComb) 也就是API 12开始,Android引入了一套新的启动控制,这就是程序的停止状态.那让我们看一下Google对于程序的停止状态的描述.什么是程序的停止状态Starting from Andr

2016-02-19 15:51:14 812

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

Android IPC通信有两种方式,上一篇文章深入分析AIDL原理讲解了AIDL方式,这篇文章讲解另一种IPC通信方式——Messager方式。Messager实现IPC通信,底层也是使用了AIDL方式。和AIDL方式不同的是,Messager方式是利用Handler形式处理,因此,它是线程安全的,这也表示它不支持并发处理;而AIDL方式是非线程安全的,支持并发处理,因此,我们使用AID

2016-02-16 15:38:42 333

转载 Android获得全局进程信息以及进程使用的内存情况

package linuxidc.process;import java.util.List;import android.os.Bundle;import android.os.Debug.MemoryInfo;import android.widget.TextView;import android.app.Activity;import android.app.A

2016-02-16 15:37:07 650

转载 Android应用内多进程的使用及注意事项

Android应用内多进程介绍及使用一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名,进程是系统分配资源和调度的基本单位,每个进程都有自己独立的资源和内存空间,其它进程不能任意访问当前进程的内存和资源,系统给每个进程分配的内存会有限制。如果一个进程占用内存超过了这个内存限制,就会报OOM的问题,很多涉及到大图片的频繁操作或者需要读取一大段数据在内存中使用时,很容易报

2016-02-16 15:36:27 475

转载 Android 通过Service单独进程模仿离线推送 Server Push

概述:         首先简单阐述一下我对于消息推送的理解,这里拿QQ来举例吧,当我们手机端的QQ离线了,并且退出了QQ应用,但是这时候如果别人给我们发了信息,我们没有上线。服务器会将发送者发送的信息推送过来然后我们发布通知来显示通知我们的用户  原理简单阐述:         通过以上概述,我们基本了解我们需要一个独立进程的后台服务,在AndroidMa

2016-02-16 15:35:24 492

转载 Android中Parcelable接口用法

1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR, which

2016-02-16 10:31:55 306

转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message

作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被g

2016-02-15 14:04:20 338

转载 ThreadLocal

首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作

2016-02-15 10:12:58 351

空空如也

空空如也

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

TA关注的人

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