自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android 权限

android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序android.permission.FACTORY_TEST作为一个工厂测试程序,运行在root用户android.permission.FLASHLIGHT访问闪光灯,android开发网提示HTC Dream不包含闪光灯android.permission.FORCE_BACK允许程序强行一个后退操作是否在顶层act...

2021-09-28 10:30:29 174

原创 Android Intent常用flags

1、FLAG_ACTIVITY_NEW_TASK:根据Activity 的affinity(一个app系统默认affinity的值为包名,task自身的affinity的值取决于根activity的affinity,相同affinity的activity属于同一个task)寻找task 栈,如果一个task 的 affinity与 activity 的 affinity的相同,则Activity会压入栈中。如果没有找到相同的,则新建立栈,并且把activity压入栈中。2.FLAG_ACTIVITY_C

2021-08-05 14:07:31 948

原创 Android 闹钟服务AlarmManager

一、通常我们实现定时任务有三种方式: Timer,有一个明显的问题,它并不太适合用于需要长期在后台运行的定时任务。我们都知道,为了能让电池更加耐用,每种手机都会有自己的休眠策略,Android手机就会在长时间不操作的情况下自动让CPU进入睡眠状态,这就有可能导致Timer中的定时任务无法正常运行。 Hnadler,Handler的postDelay方法也可以实现定时操作,它同样也是不靠谱的,因为默认Hnadler依赖于线程(main线程或者子线程),所以只要进程被杀死,所...

2021-08-02 13:06:23 641

原创 Git 修改commit提交信息

修改commit提交信息分为两种情况,一种是commit到本地版本库,既push到远程之前,一种是push到远程之后一、commit到本地版本库 1、命令行执行:git commit --amend,git commit –amend既可以对上次提交的内容进行修改,也可以修改提交说明 2、利用vim语法,点击i进入编辑模式,修改对应文本内容 3、点击Esc退出编辑模式 4、按键:wq强制退出二、push到远程之后 1、git lo...

2021-04-08 14:40:06 12341 1

原创 Android 获取屏幕宽高

获取屏幕宽高的方法如下:方法一: WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDispl...

2020-04-30 09:07:38 1872

原创 Android PorterDuff.Mode

做过图形图像处理coding的Android程序员一定用过或了解过PorterDuff.Mode这个枚举变量中的某些值,对此了解不多理解不深刻的时候是不是会很纠结到底该用那个模式呢?至少不能快速准确地用到恰当的模式,那么PorterDuff.Mode究竟是什么,它的各个枚举值有什么作用呢?这里我整理一下笔记,加深理解。PorterDuff.Mode是什么public Xfermod...

2020-04-28 11:53:35 396

原创 Android最常用第三方框架

分类 二级分类 框架名称 简介 UI 刷新 SmartRefreshLayout 智能下拉刷新框架 UI 刷新 Android-PullToRefresh 比较早的一款下拉刷新框架 UI 刷新 android-Ultra-Pull-To-Refresh 下拉刷新框架 UI 刷新 BeautifulR...

2020-02-11 11:31:25 1370

原创 Android 获取唯一标识

一、前言app开发过程中,需要对本地数据进行加密,因此了解了app所能获取到的一些标示。常见唯一标示imeiAndroid_idmac地址Installtion ID : UUIDPseudo-Unique ID二、IMEI需要获取权限<uses-permission android:name="android.permission.READ_PHONE_S...

2019-10-28 18:18:28 904

原创 Android 沉浸式开发

目录一、前言二、5.0沉浸实现三、6.0状态栏文字颜色变化四、fitsSystemWindows一、前言 从Android5.0开始,加入了一个重要的属性和方法android:statusBarColor(对应方法为 setStatusBarColor),通过这个方法我们就可以轻松实现沉浸式。也就是说,从Android5.0开始,系统才真正的支持沉浸式,所以...

2019-10-23 17:18:46 1163

原创 获取软键盘高度

private static int getDecorViewInvisibleHeight(final Activity activity) { final View decorView = activity.getWindow().getDecorView(); if (decorView == null) return sDecorV...

2019-03-06 12:16:19 1849

转载 Android studio debug

今天的文章,我要记录的就是有关调试的技巧,不论你是否已经掌握,都值得一看。对了,文章的截图是我利用下班时间整理的,所以一般会很晚回去,到家都是十点半左右,因为时间还是比较仓促的,有些地方遗漏或者不正确的,欢迎指正!下面进入正题。1. 调试窗口先来一张大图,途中详细标注了调试窗口中,各个常用的功能区域和按键。如果你觉得图片看不清,可以选择在单独的标签页打开,然后放大看(实在不行,可以留下邮箱我...

2018-12-21 12:01:57 680

转载 PendingIntent第四个参数flags在Notification中的不同作用

PendingIntent第四个参数为int类型的flags,首先看一下官方文档对它的描述:flags May be FLAG_ONE_SHOT, FLAG_NO_CREATE, FLAG_CANCEL_CURRENT, FLAG_UPDATE_CURRENT, or any of the flags as supported by Intent.fillIn() to control whi...

2018-07-21 12:57:11 470

转载 Android 31个开发者工具

文中部分工具是收费的,但是绝大多数都是免费的。FlowUp这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等等。FlowUp根据用户数量收费。Stetho由Facebook开发的一个强大的开源Android debug平台,Stetho让原生 Android app的debug跟使用Chrome的开发者工具debug web页面一样简单。它能让你...

2018-07-06 13:54:34 527

转载 android 5.0系统新增默认颜色

伴随着Android5.0的发布也更新了support-v7-appcompat 到V21,其中增加了ToolBar、recyclerview、cardview等控件。Android5.0对改变APP样式下了不小的功夫,写法也和以前不一样了,下面先简单介绍一下colorAccent,colorPrimary,colorPrimaryDark……的作用:1.colorPrimary 应用的主要色调,...

2018-05-16 14:50:03 264

转载 PNG-8、24、32区别介绍

知名图片压缩格式PNG,在使用大部分制图软件导出时可以选择PNG-8,PNG-24或者PNG-32。本文将介绍这三种PNG之间有什么不同。图片的编码首先要是想要完整的保存一张图片上的全部信息,自然是要把每个像素点的色值全部记录下来。按照这个方式来编码图片,那么图片的大小就是:像素数量 × 每个像素包含信息的字节长度例如一张1080×720大小的图片,假设每个像素的深度(所占的bi

2018-01-22 18:00:27 3761

转载 Android WebView 的缓存机制

前言由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发但我知道你一定在烦恼 Android Webview 的性能问题,特别突出的是:加载速度慢 & 消耗流量今天,我将针对 Android Webview 的性能问题,提出一些有效解决方案。目录1. Andr

2017-12-01 10:41:32 688 1

转载 Android 属性动画详解

前言动画的使用 是 Android 开发中常用的知识本文将详细介绍 Android 动画中 属性动画的原理 & 使用相关文章阅读: 1. Android 动画系列 Android 动画:手把手教你使用 补间动画 Android 动画:你真的会使用插值器与估值器吗?(含详细实例教学) 2. 自定义View的原理,请参考我写的文章: (1)自定义View

2017-12-01 10:31:17 830

转载 Android RxJava 操作符详解系列:过滤操作符

前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJav

2017-12-01 10:15:32 292

转载 Android RxJava操作符详解 系列:功能性操作符

前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJav

2017-12-01 10:13:55 334

转载 Android RxJava操作符详解 系列:组合 / 合并操作符

前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJava操作符中最

2017-12-01 10:12:03 4622

转载 Android RxJava操作符详解系列: 变换操作符

前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJav

2017-12-01 10:02:09 284

转载 Android RxJava操作符详解系列: 创建操作符

前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。如果还不了解 RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求今天,我将为大家详细介绍RxJav

2017-12-01 09:59:06 281

原创 Java 8新特性 Lambda、方法引用以及Stream

一、 LambdaLambda允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据,同时引入了函数式接口的概念,函数式接口就是一个具有一个方法的普通接口,这样的接口,可以被隐士转换为lambda表达式,在实际使用过程中,函数式接口时容易出错的,如某个人在接口定义中增加了另一个方法,这时这个接口就不再是函数式接口了,并且编译过程会失败,为了克服这种脆弱性并且能够明确声明接

2017-11-30 10:49:40 2216

原创 activity长时间后台的回收重建

Android系统的回收机制会在未经用户主动操作的情况下销毁activity(比如长时间后台运行),而为了避免系统回收activity导致数据丢失,Android为我们提供了onSaveInstanceState(Bundle outState)和onRestoreInstanceState(Bundle savedInstanceState)用于保存和恢复数据。一、onSaveInsta

2017-11-27 19:33:01 2102

转载 Java IO

主要内容java.io.File类的使用IO原理及流的分类文件流FileInputStream / FileOutputStream / FileReader / FileWriter缓冲流BufferedInputStream / BufferedOutputStream /BufferedReader / BufferedWrit

2017-10-13 14:59:16 272

原创 设计模式

一、设计原则       1、运用复用机制       ①继承和对象组合:面向对象系统中功能复用的两种最常用技术是类继承和对象组合,类继承允许你根据其他类的实现定义一个类的实现,这种通过生成子类的复用通常被称为白箱复用,“白箱”是相对可视性而言,在继承方式中,父类的内部细节对子类可见。对象组合是类继承之外的另一种复用选择,新的更复杂的功能通过组装或者组合对象来获得,对象组合要求被组合的对象

2017-08-29 09:23:20 279

转载 深入理解MediaPlayer

1)如何获得MediaPlayer实例:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了2) 如何设置要播放的文件:MediaPlaye

2017-08-22 11:11:12 356

原创 Android总结之事件处理

一、Android事件处理概述       Android提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理,对于Android基于监听的事件处理而言,主要做法就是为Android界面组件绑定特定的事件监听器,对于Android基于回调的事件处理而言,主要做法是重写Android组件特定的回调方法或者重写Activity的回调方法,Android为绝大部分界面组件都提供了事件响应

2017-07-11 17:05:50 491

原创 Android总结之UI

一、布局管理器      1、LinearLayout:线性布局      2、TableLayout:表格布局      TableLayout继承自LinearLayout,采用行、列的形式来管理UI组件,通过添加TableRow(也是继承自LinearLayout)、其他组件来控制表格的行数和列数,它独有的三种行为方式为: ①Shrinkable:该列所有单元格的宽度是否可以被收

2017-07-06 12:29:41 542

原创 Java基础回顾

1、Builder模式:当一个类需要不确定数量的参数的时候,可以使用重叠构造器模式,但首先在使用时,需要了解每个参数的意义,同时也很容易传递错误的参数,我们也可以使用JavaBean模式,使用无参的构造函数,通过set方法逐个设置参数值,但当我们需要更改这些值时,容易导致不一致的状态,这时我们就可以采用Builder模式,创建一个Builder类,定义设置参数值得方法并将该Builder类作为返回

2017-04-14 14:56:29 415

转载 Android Handler基础

这篇文章从 为什么要有 Handler 到 如何使用 Handler 两个方面对 Handler 进行了介绍,并对我们熟知的常识『Android 中不允许在子线程中更新 UI』做了一个简要的分析。算是一篇比较基础的 Handler 介绍分析文章。这篇文章主要讲解和记录自己对 Handler 的理解。因为一开始接触 Android 就接触到了 Handler,所以对 handler 的了解应该比

2017-04-14 11:22:54 440

转载 Android Paint

自定义控件具有很强的灵活性,可以根据你的想法画出各种各样的图案,在Android中如果是自定义控件的话,Paint这个类用的还是较多的,这一篇就来简单介绍Paint这个类的使用,先来看一下这个类的注释[java] view plain copy /**  * The Paint class holds the style and color in

2017-04-13 12:09:40 304

原创 Android 内存优化

一、Android Monitors二、Heap Snapshot(基于Android studio)       Heap Snapshot用于获取Java堆内存详细信息,在Android studio中通过点击Dump Java Heap按钮生成一个hprof文件,点击进入Heap Snapshot面板,其具体列表意义如下:       Total Count:内存中该类的对象个数

2017-04-12 22:52:29 320

原创 算法及数据结构(下)

一、排序算法       所谓排序,就是按照某种次序,重新排列某一序列中的所有元素。为此,任意一对元素之间都应该能够比较大小,即在所有元素之间可以定义一个全序关系。排序算法种类繁多,根据其处理数据的规模与存储特点,可分为内部排序和外部排序算法,前者处理的数据规模不大,内存足以容纳,后者处理的数据规模很大,必须将数据存放于外部存储器中,根据输入不同的形式,排序算法可以划分为脱机算法与在线算法,在

2017-03-24 11:34:16 952

转载 Android-taskAffinity

Activity的归属,也就是Activity应该在哪个Task中,Activity与Task的吸附关系。我们知道,一般情况下在同一个应用中,启动的Activity都在同一个Task中,它们在该Task中度过自己的生命周期,这些Activity是从一而终的好榜样。那么为什么我们创建的Activity会进入这个Task中?它们会转到其它的Task中吗?如果转到其它的Task中,它们会到什么样

2017-03-21 16:59:02 264

转载 Android activity切换黑屏/白屏

本篇博客要剖析和解决的两个问题: 1. APP启动时白屏/黑屏、Activity打开时白屏/黑屏。 2. APP启动速度慢,如果实现点击ICON后APP秒开。APP启动加速。APP启动时白屏/黑屏、Activity打开时白屏/黑屏首先要说明的是无论是APP启动,还是startActivity都是Activity的启动,所以这归根结底是一个问题,看完本博客就明白了。这是一

2017-02-21 17:19:39 7584 1

原创 Android 关于切换activity刷屏动画的设置

通过intent切换activity时,我们一般可以通过overridePendingTransition方法设置切换动画,但当我们对intent设置了flag后,在某些机型上,会出现刷屏动画,即使我们通过设置theme的方式取消掉activity的切换动画,仍然会有刷屏动画一闪而过,这时候我们采用的解决方式是,手动调用finish方法,同时设置overridePendingTransition(

2017-02-21 14:07:10 480

转载 Android task任务栈

古人學問無遺力,少壯工夫老始成。紙上得來終覺淺,絕知此事要躬行。南宋.陸遊《冬夜讀書示子聿(yù)》软件行业也是一样,多少前辈不遗余力的奋斗才出现了软件行业的繁荣的景象,其中已有不少成为大师级人物。今天我们站在伟人的肩膀上,自然会有不少的优势,但不要忘了,要在对技术的认知方面有所提升,仍需我们去实践,去实践。今天我们来讲一下Activity的task相关内容。上次我们讲到A

2017-02-08 15:38:49 292

转载 Android大图片裁剪解决方案

约几个月前,我正为公司的APP在Android手机上实现拍照截图而烦恼不已。上网搜索,确实有不少的例子,大多都是抄来抄去,而且水平多半处于demo的样子,可以用来讲解知识点,但是一碰到实际项目,就漏洞百出。当时我用大众化的解决方案,暂时性的做了一个拍照截图的功能,似乎看起来很不错。问题随之而来,我用的是小米手机,在别的手机上都运行正常,小米这里却总是碰钉子。虽然我是个理性的米粉,但是也暗地

2017-01-04 19:56:01 293

转载 java.lang.NoClassDefFoundError:Android5.0以下错误

随着厂里的业务越来越多,需求也越来越多,导致开发的项目也会随之变大。因我厂的项目是类似于电商这种的,前段时间项目有个新需求,加移动客服功能(类似淘宝客服)。在网上找到一些第三方平台,如环信,融云都是不错的选择。结合开发者的比较,最后选定了环信作为这次需求的主力军。一星期后需求按计划完成,也按时上线给客户使用。 但是刚上线不久,工作群中很多客户反应不能安装,这可是个很严重的问题。当时我很纳闷,但奇怪

2017-01-04 16:58:34 896 1

CustomCamera.zip

类似二维码扫描,只拍摄指定矩形区域大小的照片,可用于拍摄名片、二维码小图片,可自定义中间区域位置和大小,满足基本需求。

2020-04-30

空空如也

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

TA关注的人

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