自定义博客皮肤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事件分发-总结

android中的事件处理方式: ① 事件传递,由外层向内层隧道式传递 ② 事件相应,由内层向外层冒泡处理 android中一个完整的事件是由ACTION_DOWN到ACTION_UP Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(Mo...

2019-03-20 13:39:02 61 0

转载 android gradle依赖:implementation 和compile的区别

转载:https://www.jianshu.com/p/f34c179bc9d0 2017 年google 后,Android studio版本更新至3.0,更新中,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gra...

2019-03-06 15:39:44 202 0

原创 总结--Android四大组件的工作过程(写了一个)

首先几个类说明: TaskRecord:启动的Activity所在的栈 ProcessRecord:描述一个应用程序进程 ActivityRecord:描述一个Activity,记录一个Activity的所有信息 ServiceRecord:描述一个Service,记录一个Service的...

2019-02-15 19:46:30 153 0

原创 总结--应用程序进程启动过程

首先要想启动一个应用程序,要保证这个应用程序锁需要的应用进程已经启动。 Zygote的java框架层中会创建一个Server端的Socket,这个Socket用来等待AMS请求Zygote来创建新的应用程序进程,Zygote通过fock自身创建应用程序进程,这样应用程序进程就会获得Zygote进...

2019-02-15 19:13:01 209 0

原创 Android系统启动流程

在此说明,此文章只是个人的一个关于“Android系统启动流程”的一个总结,没什么源码。 Android系统启动流程: 1、启动电源以及系统启动: 当电源键按下时引导芯片代码从预定义的地方(固化在ROM)开始执行。加载引导程序BootLoader到RAM中,然后执行。 2、引导程序Boot...

2019-02-12 17:35:34 3135 0

原创 Android 查看源码的方式

在线源码查看网站:http://www.grepcode.com、http://androidxref.com、https://www.androidos.net.cn 源码下载地址:https://pan.baidu.com/s/1iVtXKj773oqDH6eCckFyTQ 本地源码查看工...

2019-02-11 09:29:07 113 0

原创 java中的各种同步方法--syncharonized、Lock、Volatile、原子变量(Android通用)

在大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取时,这时往往我们为了保证数据的正确性、甚至不发生异常需要对相关的数据进行加锁处理。 我们首先看一个例子:有一个银行,里面有一百个账户,每一个账户里面有1000块钱,100个账户总共是100000元,每一个账户都有自己一个独立...

2019-02-02 10:14:11 310 0

原创 Activity中的onSaveInstanceState()、onRestoreInstanceState()源码实现

一、作用 Activity中的onSaveInstanceState()、onRestoreInstanceState()两个方法是用于保存Activity中的状态的。当Activity不是正常方式退出,且Activity在随后的时间内被系统杀死之前会调用者两个方法让开发人员可以有机会存储Act...

2019-01-31 18:01:36 162 0

原创 java反射举例---通过反射获取类、方法、属性、类中类

本文通过一个小例子来简单记录下如何使用java反射: 例子作用:获取Android有线网络下的网络信息,适用于Android5.0以上(机顶盒上有有线连接): 先上代码吧: public void getEthernet(Context context){ try{ ...

2018-10-24 17:28:37 3601 0

原创 Android 官方架构组件--ROOM 数据库操作简单介绍

本文只是简单的介绍一下怎么在我们的项目中使用ROOM和一个简单的小例子。                ROOM是Google官方推出的一个持久性数据库,Room持久性库提供了SQLite的抽象层,以便在充分利用SQLite的同时允许流畅的数据库访问。        ROOM的引用: co...

2018-10-23 15:52:08 444 0

原创 AS build失败:Failed to complete gradle execution

打开 File — Project Structure — SDK location:在Use embedded JDK(recommended)前打钩,再次运行,即可

2018-10-22 10:05:36 126 0

转载 每天一个linux命令目录

注:转载目录:https://www.cnblogs.com/peida/archive/2012/12/05/2803591.html    开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令。学习的主要参考资料为:   1.《鸟哥的linux私房...

2018-10-19 14:22:41 52 0

原创 Android 架构组件——Lifecycle

       首先介绍一下,这个架构是google官方推出的,主要也是为了代码规范,这个架构主要分为三个部分:Lifecycle、LiveData和ViewModle 共同组成了MVVM的模式。个人感觉其实和我们大家使用的MVP架构是一样的,不过在MVP的基础上又优化了一些,既然是官方推的,还是建...

2018-09-30 13:57:36 133 0

原创 Android巧妙调用那些系统级的API(比如那些只有system进程root进程才能调用的API)

首先说下系统/system/framework这个目录,这个目录里面存放的就是Android系统java源码,里面是大量的jar包,具体每个jar包是负责那一块的内容请参考:https://blog.csdn.net/wangrengxing/article/details/38847225 其...

2018-08-31 16:28:40 3976 3

原创 Android 根据包名获取应用的ROM占用大小,应用安装大小、缓存大小、数据大小等等

获取第三方应用rom大小,主要是通过系统接口IPackageStatsObserver和PackageStats来获取的,而这两个文件我们是直接访问不到的。这边是通过ADIL的方式来调用的。 1、创建两个AIDL文件IPackageStatsObserver和PackageStats,要求包名和...

2018-08-23 16:47:28 1972 0

转载 正则表达式验证工具类RegexUtils.java

注:转载地址:https://www.jb51.net/article/96328.htm Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为...

2018-08-20 16:45:57 173 0

原创 Windows(10)下安装MySql(8.0.12)

注:参考文章:https://blog.csdn.net/weixin_40396510/article/details/79277731 1、下载Mysql:官网地址:https://dev.mysql.com/downloads/mysql/ 拉到界面最下方,点击对应的版本进行下载:(注:...

2018-08-14 13:26:22 1331 0

原创 Android设计模式之代理模式

1、代理模式定义: 对象A通过对象B来达到访问对象C的目的,那么这个对象B就是一个代理。 2、代理模式的UML类图: 其中client实现了我们的接口Subject,ReadSubject为我们的真实对象,ProxySubject为代理对象,里面包含一个真实对象的实例。 public...

2018-08-13 14:26:25 104 0

原创 java-多线程同时操作同一个对象之解决方法:读写锁ReadWriteLock的使用

说明一下,这边文章写得比较简单,只涉及到ReadWriteLock的使用,具体源码实现原理并不涉及。 1、使用场景:            首先我这边是实际开发中使用到了,开发的环境情况为:有一个数据中心(暂且当做一个Map集合),有两个子线程A、B,其中A线程每5秒钟从其他地方获取到新来的数...

2018-08-10 14:51:16 5302 0

原创 Android获取局域网网关地址(也就是我们说的网关地址),包括各种网络连接方式

1、WIFI情况下获取网关: 这种情况很简单,也就是通过DhcpInfo直接获取 WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); DhcpInfo info=wi...

2018-07-30 15:16:03 2602 0

原创 Android获取路由网关(上联设备)MAC地址

  我这边直接贴代码吧,里面有一些注释: 具体的我就不解释了,但是这种方式我本地测试过,是准确的,包括有线和无线的连接方式,具体里面的一些之类和文件的含义,可以自己百度下。 /** * 获取路由器MAC地址 * @return */ publi...

2018-07-30 14:59:36 2051 2

转载 获得App的包名和启动页Activity

包名,activity

2017-02-08 16:36:38 2829 0

原创 Android使用Handler实现子线程与子线程、主线程之间通信

今天这篇文章只讲一下怎么使用Handler实现子线程与子线程之间、子线程与主线程之间如何进行通信,关于具体的内部实现因为我也没研究过,所以这篇文章讲不了。一、子线程向主线程传值:这个实现比较简单,因为主线程自带Looper机制,所有我们不用创建Looper了,看一下代码吧:首选在主线程里创建一个H...

2017-01-15 14:13:57 17927 11

原创 Fragment系列解析之三---Fragment和Fragment、Activity之间传值

今天这篇文章我们来聊一下和Fragment有关的传值。 1、先来说一下Fragment和Fragment之间是怎么传值得吧。一、 在Fragment的宿主Activity创建一个变量,然后给它设置set和get方法,然后我们可以在Fragment中取出此值,也可以改变此值。 这种方法一般是用...

2017-01-14 22:43:11 354 0

原创 Process子进程和主进程间互传信息--及遇到的问题解决

最近公司新上了一个自动化测试的项目,需要在我们的App里面开启一个进程去调用测试的App,在这工程中,主进程可能随时向子进程发送一些命令,而子进程在测试完成后也要把结果返回给子进程,因为本人以前对Process相当陌生,所以写的过程出现各种问题,而且发生网上的一些解决方法对自己也并不适用,所以就写...

2017-01-14 10:34:38 1735 0

原创 面向对象的六大原则

还记得我刚开始接触java的时候,刚一开始学感觉还挺简单,什么if啊变量、常量啊等基础知识,感觉还挺好理解,但是当开始接触面向对象这个思想的时候,顿时就蒙了,当时脑子里转不过圈,无法理解这种思维,懵懵懂懂的接触了一两个月,反过来再一想时,自己才有自己的理解,对面向对象也是开始慢慢的明白了。好了这篇...

2017-01-07 19:27:55 210 0

原创 Android之SurfaceView讲解

一、SurfaceView与View的区别 首先我们了解下view的绘图机制,View是通过刷新来重绘视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新的间隔时间为16ms。如果再16ms内View完成了你所需要执行的所有操作,那么用户在视觉上,就不会产生卡顿的感觉;而...

2017-01-01 13:19:57 238 0

原创 Android设计模式之策略模式

作为一个菜鸟,每次自己写完代码后,回头一看发现自己的代码实在太乱了,不仅阅读起来很困难,而且以后改逻辑的话改起来也特别的麻烦,所以买了一本设计模式的书,自己没事就看看,最近看到了策略模式,所以就想写一写,若是写的不好还望大家见谅。 一、策略模式的定义: 策略模式定义了一系列的算法,并将每一个算...

2016-12-29 23:01:22 195 0

原创 小米5之Root攻略

这两天公司下来了两个新的小米5,领导说让我Root一下,本人以前从没Root过手机,也没了解过类似的东西,不过既然说了让我弄,自己就要想办法弄成 ,然后便开发网上搜资料了,最终是成功的Root成功了,下面将我Root过程中的步骤写一下,大家如果有类似需要的话可以参考一下。 一、小米手机Root第...

2016-12-28 12:54:00 3709 0

原创 Fragment的系列解析之-------Fragment、FragmentManager、FragmentTransaction中的方法

一、Fragment对象1.void setArguments(Bundle args); 这个函数为Fragment提供构造参数(也就是数据),参数以Bundle类型封装。因为官方不建议把数据的传递提供写在构造函数当中,因此提供了这个方法。2.Bundle getArguments(); 通过这...

2016-12-18 22:41:15 616 0

原创 Fragment的系列解析之二 Fragment管理中有关的那些方法及区别

上一篇中简单介绍了Fragment的一些基础信息,这一篇我们就来讲讲Fragment管理中的那些方法,如:add,replace,remove,hide,show,回退栈等:Add(): 在我们动态的添加、管理Fragment中,Add属于最基础的方法了,用法也很简单,如下就是向Activity...

2016-12-18 22:28:20 203 0

原创 Fragment的系列解析之一 Fragment的产生,生命周期及使用

从今天起我将开始写一系列的Fragment文章,因为个人以前没怎么写过博客,所以写的比较慢,同时会有一些格式上或者内容的不好之处,还望大家见谅。下面简单介绍下这一系列文章将讲解的内容:Fragment的产生及优点; Fragment和Activity的生命周期关系; Fragment的使用:静...

2016-12-17 12:07:02 204 0

原创 Android自动化测试UiAutomator之环境配置

(1)首先就是配置环境了:配置jdk和sdk的环境变量,这我就不写了,网上一搜一大堆,这里sdk除了配置sdk/tools目录外,还应配置sdk/platform-tools这个目录,我这是除了创建SDK_HOME变量外,又单独创建了一个android变量: 然后配置ANT_HOME变量,如...

2016-12-14 13:01:58 394 0

原创 Android获取Apk包名和启动的Activity

在我们的开发业余时候,有可能会用到一个APK的包名和启动Activity。 Android根据Apk获取包名和启动Activity的方法有几种,下面简单介绍两种: 1:根据re-sign.jar工具,也就是我们平时用的apk重签名工具, 首先:肯定是下载jar包了,如果你没有的话。 ...

2016-12-08 12:53:49 2365 0

原创 使用RadioGroup实现底部导航栏效果,不需要java代码。

使用RadioGroup实现底部导航栏效果,不需要java代码。

2016-05-04 16:16:18 726 0

转载 RelativeLayout常用属性介绍

RelativeLayout用到的一些重要的属性

2016-05-04 15:34:33 196 0

原创 调用系统相机拍照、调用相册、调用系统录像并获取缩略图

第一次写博客,可能写的不太好,望各位IT人士包涵。 这里介绍了如何调用系统拍照并返回、调用系统相册选取图片并返回、调用系统相机录像并获取缩略图。 注:TAKE_PICTURE、CHOOSE_PICTURE、TAKE_VEDIO均为自定义的常量,用于拍照成功、选取图片成功、录像成功返回标识

2016-04-13 09:36:28 632 1

原创 欢迎使用CSDN-markdown编辑器

个人第一篇微博 关于获取相册图片、照相、和获取录像缩略图

2016-04-13 08:59:44 246 0

翻译 bitmap的二次采样

Bitmap二次采样 一、二次采样: (一)、意义或目的:  1、用BitmapFactory解码一张图片时,有时会遇到该错误。这往往是由于图片过大造成的。要想正常使用,则需要分配更少的内存空间来存储。BitmapFactory.decodeFile(imageFil...

2016-03-15 18:31:38 220 0

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