自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android各版本新特性

1.Android 5.0新特性1.1 全新的 Material Design 设计风格Material Design是一种大胆的平面化创新1.2 支持多种设备Android系统的身影早已出现在多种设备中,比如:智能手机、平板电脑、笔记本电脑、智能电视、汽车、智能手表甚至是各种家用电子产品等1.3 全新的通知中心设计谷歌在Android 5.0中加入了全新风格的通知系统。改进后的通知...

2020-05-04 10:51:40 987

原创 四大组件系列--Activity回顾

概念Activity是一个应用的组件,他在屏幕上提供一个区域,这个区域用户可以操作,与之交互,他可以充满整个屏幕或者比屏幕小,也可以在其他窗口的上方,总之一句话:它用于显示用户操作界面,用户可以与他交互,一个应用可以有多个Activity,负责UI元素的加载和页面的跳转,代表一个页面单元生命周期代码表示:public class TestLifeCycleActivity extends ...

2019-06-23 17:51:12 290

原创 线程池回顾复习

线程池的作用降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。可有效控制最大并发线程数,(线程并发数量过多,抢占系统资源从而导致阻塞)提高线程的可管理性。使用线程池可以进行统一的分配,调优和监控。线程池的启动策略线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。当调用 execute() 方法添加...

2019-06-21 17:14:01 241

原创 适配8.0以上系统开启前台服务

后台执行限制Android 8.0 为提高电池续航时间而引入的变更之一是,当您的应用进入已缓存状态时,如果没有活动的组件,系统将解除应用具有的所有唤醒锁。此外,为提高设备性能,系统会限制未在前台运行的应用的某些行为。具体而言:现在,在后台运行的应用对后台服务的访问受到限制。应用无法使用其清单注册大部分隐式广播(即,并非专门针对此应用的广播)。默认情况下,这些限制仅适用于针对 O 的应用。...

2019-06-18 17:53:34 2073

原创 Studio抽风系列2 - 无法安装模拟器,[INSTALL_FAILED_NO_MATCHING_ABIS]

记一次使用android studio模拟器的采坑之旅换新东家之后,当然是下载studio,配置各种环境,因为需要使用模拟器,就去下载模拟器,不知道是公司对网络有限制还是其他的原因,各种手段用尽,实处浑身解数,依然不能下载模拟器文件,这里就产生了第一个问题,不能下载模拟器怎么办?可以copy别人的sdk目录下的system-images目录,这个目录下存放的都是模拟器需要的相关文件当解决...

2019-06-04 16:21:54 336

原创 adb命令大全

ADB 操作命令详解及用法大全一、ADB是什么?二、ADB有什么作用?三、ADB命令语法单一设备/模拟器连接多个设备/模拟器连接四、ADB常用命令4.1 基本命令4.1.1 查看adb的版本信息4.1.2 启动adb4.1.3 停止adb4.1.4 以 root 权限运行 adbd4.1.5 指定 adb server 的网络端口4.1.5 查询已连接的设备/模拟器列表4.2 设备连接管理4.2....

2019-06-03 22:19:07 10770 1

原创 Settings数据库的读取和监听

我们还是先来了解一下settings.db数据库中system表存放的是什么。从字面意思我们就可以看出,settings.system为系统数据库,里面存放的数据大多为系统的一些配置数据,包括还有一些应用存放的其他数据信息。用Settings来保存数据简单易用,app把数据保存到Settings的数据库里面,在另外一个app访问该数据库的数据,到达应用共享数据的效果你也可以在项目中把自己的数...

2019-05-22 21:52:29 2717 1

原创 java扫盲系列1-float,double详解

当时在做区块链项目时,遇到过用户下订单时候因为使用的float计算金额引起的问题,才意识到自己对这个数据类型了解不是很深,就详细了解了下float和double这两个基本数据类型基本介绍浮点数用来表示有小数值的数值,在java中有两种:这里主要是有两个问题为什么浮点数是不精确的?我们首先来看为什么浮点数是不精确的:其实这句话本身就不精确, 相对精确一点的说法是: 我们码农在程序里写的...

2019-05-17 14:59:04 931

原创 Studio抽风系列1-XML布局文件没有自动提示

更换电脑以后,新安装studio之后,导入公司项目,准备美滋滋开始干活的时候,遇见了下面让人很糟心的事情各种属性都不提示,然后就开始了漫漫的折腾之路方法1:省电模式File —>power save mode—>取消勾选方法2:清理Studio的缓存File —>Invalidate Caches/Restart… --> Invalidate ...

2019-05-16 15:29:19 325

原创 Activity转场动画设置

在公司项目时,遇到一个问题,在此总结一下当隐式启动一个Activity的时候,会有一个默认的启动动画,是个缩放效果,就造成每次别的应用启动音乐时,会有明显的动画效果,与设计不符,就需要去除掉默认的动画,查阅了相关的转场动画,在此记录一下转场动画的设置方式代码设置通过overridePendingTransition方法进行设置,代码如下先创建两个动画的xml文件<set xm...

2019-05-16 11:19:52 775

原创 HashMap趣味问答

看多了各种各样源码介绍,属性分析,让我们来点新花样,以面试官一问一答的方式看这篇文章“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而HashTable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显...

2019-04-30 16:42:37 155

原创 WebView的url跳转时方法执行顺序

在实际项目开发中,我们用到WebView的场景,大多是在对接协议、第三方应用或网页时出现。对于页面加载,WebView没有自带等待效果。所以,需要我们去自定义各种带进度条的WebView,网上相关的例子也是不胜枚举,今天我们就来谈谈一条地址请求在WebView中的跳转问题:WebView中有两个工具类负责管理网页各种行为:WebChromeClient和WebViewClient。分别通过set...

2019-04-29 14:58:49 1710 1

原创 数据结构系列1-数据结构绪论

导言数据结构系列,一直是希望重新学习整理的一个系列,现在有时间,对数据结构方面进行一个回顾,把零散的数据结构碎片串联起来,作为一个整理,本系列主要参考书籍有:< 大话数据结构 >数据结构与算法分析1 数据结构的基本概念1.1 数据那么什么是数据呢?数据是描述客观事实的符号,是计算机可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合,比如:数值类型(整型、...

2019-04-24 10:59:48 1091

原创 算法示例1-斐波那契数列的写法(java实现)

斐波那契数列的定义斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)百度百科关于斐波那契数列的来源请参见兔子问题根据其定义我们可以很方便的构建出该数列的数据结构实现。实现方法实现一:基于递归形式实现这种写法...

2019-04-24 10:06:52 584

原创 android studio使用单元测试

单元测试的作用在Android开发中,如果对一个简单的功能,每次修改代码都重新运行到设备中进行测试,会浪费大量时间,降低开发工作效率。如果使用单元测试,编写单元测试类,执行测试单元测试类就可以对某些功能进行测试,大大提升了开发工作效率。单元测试框架的引入 testImplementation 'junit:junit:4.12' androidTestImplementation 'c...

2019-04-23 18:55:28 855

原创 Android的性能优化(1)

Android的性能优化简介Android设备作为一种移动设备,不管是内存还是CPU都收到了一定的限制,过多的使用内存,会导致内存溢出,既OOM,过多的使用CPU资源,一般指大量的耗时任务,会造成卡顿,甚至ANR;除了性能方面的,我们也应该维护代码的可扩展性和可维护性,1.1 Android性能优化的方法1.1.1 布局优化删除无用的控件和层级有选择的使用性能较低的ViewGroup...

2019-04-08 23:13:44 111

原创 View的事件分发机制和滑动冲突解决

View的事件分发机制概念所谓的事件分发机制就是对MotionEvent事件的分发过程,当一个MotionEvent产生以后,系统需要把它分发给一个具体的View,这个传递的过程就是事件分发机制重要方法这套机制涉及到三个重要的方法:public boolean dispatchTouchEvent(MotionEvent ev)用于进行事件的分发,返回值受当前View的onTouc...

2019-04-07 19:26:55 618

原创 Handler机制和源码分析

Handler概念:Handler是android提供的一套ui更新机制,也是一套消息处理的机制ThreadLocal 介绍ThreadLocal是一个线程的内部存储类,通过它可以在指定的线程中存储数据,数据存储后,只有在指定的线程才能拿到数据,对于其他线程来说则无法获取数据先看一段代码: private ThreadLocal<Boolean> mThreadLocal...

2019-04-06 17:53:28 105

原创 java注解学习

注解注解如同标签想像代码具有生命,注解就是对于代码中某些鲜活个体的贴上去的一张标签。简化来讲,注解如同一张标签。在未开始学习任何注解具体语法而言,你可以把注解看成一张标签。注解,标签。注解,标签。注解语法注解的定义注解通过 @interface 关键字进行定义。public @interface TestAnnotation {}它的形式跟接口很类似,不过前面多了一个 @ 符...

2019-04-06 09:27:58 144

原创 java反射机制

java反射机制反射的概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.简单一句话...

2019-04-06 08:47:52 100

原创 Java虚拟机和内存管理

Java虚拟机和内存管理java虚拟机的运行流程例如A.java文件会通过编辑器转换成A.class文件,这个Class文件会有虚拟机进行处理,虚拟机和java文件没什么联系,他是和class文件有关联,任何能够编译成class文件的,都可以被虚拟机执行java虚拟机的结构比较难理解的几点说明下1.程序计数器为了保证程序能够连续的执行下去,处理器必须具有某些手段来确定下一条指令的地...

2019-03-28 17:21:42 140

原创 动画的重新学习,整理

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

2017-09-14 15:02:45 196

原创 RecyclerView的学习

RecyclerView的学习

2016-10-11 09:59:02 272

原创 调用系统相册,完成更换头像的操作

相机,系统图片,裁剪,更换头像

2016-10-09 15:39:20 789

空空如也

空空如也

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

TA关注的人

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