自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭

有句话说的很对,会用是一回事,深入理解又是另一回事了 ╮( ̄▽ ̄”)╭

  • 博客(22)
  • 资源 (17)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android开发——IntentFilter的匹配规则

1.IntentFilter中的过滤信息启动Activity分为显式调用和隐式调用,前者没什么好讲的,后者需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息。包括action、category、data。一个Activity中可以有多个IntentFilter,一个Intent只要能匹配任何其中一组IntentFilter即可成功启动该Activity。...

2016-07-28 16:08:33 11022

原创 Android开发——Activity启动模式详解

1. Activity的启动模式1.1 Standard标准模式系统默认的启动模式,即便实例存在,每次启动都会创建一个新的实例,每个实例可以属于不同的任务栈。若ActivityA以此模式启动了Activity B,那么B会进入A所在的栈。注意,若是非Activity类型的Context,如ApplicationContext,并没有任务栈,因此以ApplicationConte...

2016-07-28 14:19:32 12962

原创 Java实现——字符串分割以及复制目录下的所有文件

0. 前言今天有个需求,把Android中data/data目录下指定(通过读预置的XML文件)的多个应用下的多个目录全部内容通过OTG模式复制到U盘中。首先读取XML文件内的某个节点的属性值,这个已经在Java实现——Dom4j读写XML文件中详细介绍过了。那么毋庸置疑第一步就是理清如何将一个文件夹内的全部内容一起复制到指定的新的文件夹下。后面这个FileUtils工具类类可以完全满......

2016-07-26 15:14:09 11866

原创 DOM、SAX、JDOM、DOM4J以及PULL在XML文件解析中的工作原理以及优缺点对比

1. DOM(DocumentObjectModel)文档对象模型(1)DOM是W3C指定的一套规范标准,DOM的核心是按树形结构处理数据,DOM解析器读入XML文件并在内存中建立一个结构一模一样的树,可以指定要访问的元素,进行随机访问,随意修改XML文件。尤其是向前处理时非常容易。(2)DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。......

2016-07-25 21:02:02 14770

原创 Network——Socket网络通信机制以及实现举例(TCP、UDP等)

1. 网络通信与Socket前言TCP/IP协议族中网络层的IP地址可以唯一标识网络中的主机,而传输层的端口可以唯一标识主机中的应用程序。Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的......

2016-07-22 17:23:16 16364

原创 Java实现——Dom4j读写XML文件

1. dom4j概述解析DOM4J是一个开源XML解析包,采用了Java集合框架并完全支持DOM,SAX和JAXP。最大的特色是使用了大量的接口,主要接口都在org.dom4j里定义。2. dom4j的使用2.1Doucment相关用法2.11 解析XML文件,获得Document对象SAXReader reader = new SAXReader();Docu......

2016-07-22 09:55:08 12551

转载 Android开发工具——Gradle知识汇总

1.什么是构建工具Eclipse大家都知道是一种IDE(集成开发环境),最初是用来做Java开发的,而Android是基于Java语言的,所以最初Google还是希望Android能在Eclipse上进行开发,为了满足这个需求,Google开发了一个叫ADT(AndroidDeveloper Tools)的东西,正是因为有了ADT,我们只需要码好代码,然后直接在Eclipse上进行编译、运

2016-07-21 21:32:11 10751

原创 Android开发——程序锁的实现(可用于开发钓鱼登录界面)

1.程序锁原理实时检测栈顶Activity的包名,如果和我们预置的包名相符(可用SQLite数据库对要进行匹配的包名进行信息存储),则新开一个Activity栈,将拦截画面置于用户面前。只有在用户输入密码,并且验证成功后,才“放行”。代码实现比较简单,获取到topActivity的包名即可进行程序锁的逻辑判断。...

2016-07-17 18:52:18 14348 5

原创 Android开发——流量统计

1.获取应用UID在设备的proc目录下我们可以看到一些比较熟悉的目录/文件,比如data,system,cpuinfo(获取CPU信息)等,其中uid_stat的各个以应用Uid命名的目录下,便存储该应用的流量信息,包括上传和下载两个value,value/1024/1024即为MB)。因此我们需要拿到应用的Uid。Uid是一个应用在手机里的唯一标识,一旦安装,便不会修改。...

2016-07-17 16:39:40 13136

原创 Android开发——获取应用数据/缓存大小并清理缓存

1.获取应用数据/缓存大小其中pm为实例化的PackageManager,因为需要遍历所有的已安装的应用。因此需要开启子线程进行处理。还有需要注意的是,在Android4.2之前getPackageSizeInfo方法参数是没有第二个int类型的参数的,贴出来的代码适合4.2以后的版本,在反射获取方法时,增加了userHandle的参数信息。至于增加的参数userHandle的解...

2016-07-17 16:08:41 16097

原创 Android开发——查询/卸载手机里的应用、应用图标创建

1.获取手机里的所有已安装的应用以前写过一个SoftProviderUtil工具类,拿出来分享一个。通过PackageManager,不仅可以获取PackageName,判断此进程是否为系统应用,安装位置(在内存卡还是SD卡),还可以应用名称以及应用图标。代码如下。其中SoftInfo为自定义的业务类,成员变量即为要获取的信息,加上set/get方法即可。/** * For Info......

2016-07-17 09:20:24 12849

原创 Android开发——查询/杀死手机里正在运行的进程

0. 前言以前有同学好像做过一个叫“自习君”的App,开启后自动检测用户这一天的自习时间,在学校里宣传广告还打了不少。其实实现原理非常简单,在SQlite数据库(也可以通过文件)先预置众多应用的PackageName,比如QQ,微信等等,然后开启一个线程,不间断的获取到手机里的所有进程信息,如果检测到其中有processInfo.processName和预置的某个应用的PackageName相...

2016-07-17 08:43:04 15442

原创 Android开发——短信电话拦截/接听电话

1.短信拦截首先需要声明的是,Android4.4版本以上,如果想做到短信拦截,必须成为default sms,把所有短信相关的功能都包揽了,然后再做短信拦截。但这种做法,适配性和兼容性的工作是非常巨大的,短信、wapush(多种)、彩信、单双卡等等,相当于要求短信拦截类的软件要集成一个功能非常完善的通讯录类应用的功能。但是即使拦截不到短信,同样是可以接收到短信的内容。4.4版本以前没...

2016-07-16 14:24:12 13740 2

原创 Android开发——GPS定位

1.LocationManagerLocationManager系统服务是位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题。与LocationManager相关的两个知识点:1.1 providerLocationManager获取位置信息的途径,常用的有两种:GPS和NETWORK。GPS定位更精确,缺点是只能在户外使用,耗电严重,速度较慢NETWOR...

2016-07-16 09:35:40 12170 2

转载 Android开发——V1及V2签名原理简析

发送后台邮件需要用到三个第三方的库,分别为activation.jar,additionnal.jar,mail.jar。发送邮件的时候需要用到很多信息,包括发送邮件的服务器的IP和端口、邮件发送者的地址、邮件接收者的地址、登陆邮件发送服务器的用户名和密码、邮件主题、邮件的文本内容等等。这里需要注意的是,我们发送后台邮件需要给出账号密码等敏感信息,这些邮件信息,除了邮件的文本内容信息,其他的信息我们都可以在程序里面编写好……

2016-07-15 13:59:50 42889 57

原创 Android开发——后台获取用户点击位置坐标(可获取用户支付宝密码)

首先是根据adb shell getevent命令获取到被点击位置的信息。以我的真机为例,输出如下我看到网上很多人的输出很简单,这样分析起来还比较简单。因厂家而异吧,我的输出就有些复杂,通过我的大量点击测试分析,在本机上,上面除了xy坐标,其他指令是固定的,当然我也获得很多其他指令(每一行的倒数第二个数),因为不是必须的,所以没列出来。经过查阅资料,其他信号的对应信息如下。...

2016-07-15 13:14:16 25733 1

原创 Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)

这里所说的模拟点击不是在自己的APP里点击,点自己APP上的控件没什么好说的不仅是支付宝转账,其他的获取别人百度云里的某个文件信息,或者获取别人邮箱APP里的邮件等都是可以实现的。这里我们要实现的是,通过一定的触发条件,开启我们事先嵌入到应用代码里的脚本命令(其实就是Shell语句的代码实现),这个触发条件根据自己的想法随意指定,前提是屏幕必须亮着...

2016-07-15 11:57:45 33734 13

原创 Android开发——遍历读写U盘、SD卡等外部存储

1.首先需要得到挂载在手机上的有哪些盘符 这里需要用到一个被系统隐藏的方法,即StorageManager下的getVolumePaths()方法。具体通过反射得到。方法返回值为字符串数组,在我的真机上可以获得三个盘符:sdcard0 sdcard1 usbdisk。这样就完成了所有文件的遍历,如果需要读写,通过指定路径拿到File对象实例,再操作文件流即可。这里需要说明的是,手机如果想读写USB,本身需要支持USB-OTG功能。...

2016-07-15 10:26:42 23622 14

原创 Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)

1.何为Accessibility机制?许多Android使用者因为各种情况导致他们要以不同的方式与手机交互。对于那些由于视力、听力或其它身体原因导致不能方便使用Android智能手机的用户,Android提供了Accessibility功能和服务帮助这些用户更加简单地操作设备,包括文字转语音、触觉反馈、手势操作、轨迹球和手柄操作。开发者可以搭建自己的Accessibility服务,这......

2016-07-14 20:46:07 44478 5

原创 Android开发——常用ADB命令的使用

ADB全称Android Debug Bridge, 是android sdk里的一个工具, 位于 SDK/platform-tools/ 目录下,其源码位于/system/core/adb 目录下。ADB采用C/S架构,包括以下三个部分: (1)客户端部分:运行在PC端,可以通过在命令行中运行adb命令来调用该客户端。 (2)服务端部分:运行在PC端的后台进程,用于管理客户端与运行在模拟器/真...

2016-07-13 16:34:52 14749 2

原创 Android开发——Activity生命周期

Android开发—-Activity生命周期Activity作为四大组件之首,也是使用最频繁的一种组件。本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下的Activity生命周期。1. 正常情况下的Activity生命周期所谓正常情况下的生命周期,是指有用户参与的情况下,Activity所经过的生命周期的改变。正常情况下,Activity会经历如下过程。...

2016-07-12 21:16:52 22468 3

原创 JVM——内存管理和垃圾回收

1. 何为GCJava与C语言相比的一个优势是,可以通过自己的JVM自动分配和回收内存空间。垃圾回收机制是由垃圾收集器Garbage Collection来实现的,GC是后台一个低优先级的守护进程。在内存中低到一定限度时才会自动运行,因此垃圾回收的时间是不确定的。为何要这样设计:因为GC也要消耗CPU等资源,如果GC执行过于频繁会对Java的程序的执行产生较大的影响,因此实行不定...

2016-07-12 21:05:30 20936 12

Android高斯模糊效果的简单实现

Android高斯模糊效果的简单实现示例代码。

2017-01-17

Android使用AIDL完成自定义对象的远程传递示例

Android使用AIDL完成自定义对象的远程传递的完整代码示例。

2017-01-03

Android使用AIDL完成简单的远程加法计算示例

Android使用AIDL完成简单的远程加法计算的完整示例代码。

2017-01-03

Android IPC之Messenger使用示例

使用Messenger进行进程间通信的简单示例代码。

2017-01-03

RecyclerView的使用示例

RecyclerView的使用示例,包含了简单的动画设置、点击事件处理等。

2016-12-25

SurfaceView使用示例

该示例介绍如何使用SurfaceView的上述模版代码实现一个绘图板。

2016-12-19

实时的隐藏Toolbar

比如ListView向下滑动时,为了获得更大的阅读空间,隐藏Toolbar,向上滑时再显示。

2016-12-18

ListView实现两种布局

一个简单的聊天界面示例,来演示如何在ListView的getView方法里更优雅地实现加载不同的布局。

2016-12-16

异步任务中Activity销毁时保证提示框不出问题的代码示例

如果在进行异步任务,如进行下载时,该示例保证在旋转屏幕,不会对加载任务进行中断重启,并且对话框正常显示。

2016-12-11

异步任务中Activity销毁时的代码示例

异步任务中Activity销毁时的代码示例

2016-12-11

增量更新PC端工具

增量更新PC端生成补丁和形成新包的工具。

2016-11-13

Android检测用户心率应用源码

亲测可用。当打开软件时,手机的闪光灯也会自动打开,将手指放在摄像头上时,可以将用户的心跳条形图和心率数值显示出来。

2016-10-21

远程电脑屏幕监控

网上有很多远程监控的代码,但大多不全,这个是代码完整,亲测可用。实现一台电脑对另一台电脑的屏幕监控。

2016-10-19

Android热修复完整示例

Android热修复的例子网上很多,但是很多不全,这是一个简单的实例,易懂可用。

2016-10-18

Java实现文件的Zip压缩解压缩(可以加解密)

在Java代码里实现对文件的zip压缩(支持使用密码)以及解压缩,在网上搜索了好多这方面的资料,都不全面,花了几天时间整理了一下代码,资源里包括了5个jar包,实例代码简单易懂,希望可以帮到你。

2016-10-18

APK权限修改器(免Root)

可以在手机不需要Root的情况下对已安装的第三方应用进行权限“阉割”,比如单机游戏去掉网络权限以防止广告,一般应用去掉读取手机短信的等不必要的权限等。

2016-10-18

东南大学校庆论文

2016-09-27

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

TA关注的人

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