自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HardWorkingAnt的博客

千里之行,始于足下。光阴似箭,年华不负。

  • 博客(88)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android7.0修改时间服务器

最近有一个需求,需要修改Android设备的时间服务器。如果是普通的Android手机可以通过GPS或者其它的方法在没有网的情况下同步时间,但是对于只是搭载了Android系统的设备(如门禁、售货机之类)在无法连接外网的环境中就不那么容易做到了。

2021-01-08 10:25:25 6702 4

原创 Android实现多线程下载并显示通知

1、前言相信大家都使用过一些可以下载文件的 App,在下载列表中通常都会显示一个进度条实时地更新下载进度,现在的下载都是断点重传的,也就是在暂停后,重新下载会依照之前进度接着下载。我们这个下载的案例是有多个线程同时下载一个任务,并能提供多个文件同时下载,在下载的同时会显示通知,因为下载线程是放在 Service 中的,所以就算程序运行在后台也可以继续下载。当启动下载时,就会发送通知提示开始下载,下载

2017-12-02 00:03:22 1951 2

原创 Android四大组件--BroadCastReceiver介绍

1、广播1、定义BroadCastReceiver 意为广播接收者。Android应用程序可以发送或接收来自Android系统和其他Android应用程序的广播消息。这些广播是在感兴趣的事件发生时发送的。例如,Android系统在发生各种系统事件时发送广播,例如当系统启动或设备开始充电时。应用程序也可以发送自定义广播,例如,通知其他应用程序他们可能感兴趣的东西(例如,一些新的数据已被下载)。应用程序

2017-11-23 21:43:16 1386

原创 Android--Notification基础介绍

1、通知我们使用的每个应用都有通知的功能,最常看到的就是 QQ 和微信了。通知是我们可以在应用的常规 UI 外部向用户显示的消息。当我们告知系统发出通知时,它将先以图标的形式显示在通知区域中。用户可以打开抽屉式通知栏查看通知的详细信息。 通知区域和抽屉式通知栏均是由系统控制的区域,用户可以随时查看。通知区域中的通知:抽屉式通知栏中的通知:相信大家对这个样式都很熟悉了。通知的目的是告知用户 App 事

2017-10-23 20:42:14 1363

原创 Android四大组件--Service详解

Service 作为 Android 四大组件之一,可以说是一个合格的 Android 应用的基石。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,依然让 Service 在后台保持运行状态。1、Service介绍Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其

2017-10-22 10:43:00 1181

原创 使用Kotlin开发Android基础介绍

在今年的 Google I/O 大会上宣布 Kotlin 为 Android 开发的第一语言,既然官方都已经选择了它,我们正在学习 Android 的和 Android 开发者们自然就要了解如何使用它。1、为什么使用KotlinKotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android

2017-10-21 11:34:33 1121

原创 Android小例子--实现微信界面

大家都用过微信,相信都对那种页面在手指滑动间自由切换的效果十分惊奇吧,这篇博客就介绍如何用 ViewPager + Fragment 来实现自由切换页面。ViewPager 和 Fragment 的基本介绍我在以前的博客中都有介绍,有兴趣的朋友可以去看看。1、TitleBar的实现一般都是认为从上而下,所以首先是来实现 TitleBar。我这里是使用 ToolBar 来实现,首先是布局文件中 Too

2017-10-04 14:51:27 5055 1

原创 Android--ToolBar基本介绍

1、简介ToolBar 是 Android5.0 推出的导航控件,官方在某些程度上认为 ActionBar 限制了 android app 的开发与设计的弹性,所以 ToolBar 的出现可以说是用来代替 Action_Bar。的确对比 Action_Bar,ToolBar 的使用灵活的多,我们可以将我们想要的控件任意的添加在 ToolBar 里面,得到缤纷的效果。2、使用前说明1、兼容官方考虑到仍

2017-09-25 13:26:02 1224

原创 Android图形处理--PorterDuff.Mode那些事儿

我们在绘制图形图像的时候经常会用到 PorterDuff.Mode,它对我们绘制图形有很大的帮助,如果我们对它不甚了解甚至根本不理解,那会是很麻烦的事情,我这篇博客就是来给大家介绍一下 PorterDuff.Mode。1、基本介绍在介绍 PorterDuff.Mode 之前,我们首先要了解一下 Xfermode。Xfermode 被许多人称为过渡模式,就是指图像的饱和度、颜色值等参数的计算结果的图像

2017-09-20 20:41:42 4702 2

原创 Android--关于Fragment的基础介绍(二)

1、Activity与Fragment通信我们知道 Activity 与 Activity 中间通信可以通过 startActivityForResult() 和 Intent,它们通过的都是 Bundle 这个容器,我们的 Fragment 如果要与 Activity 通信也可以使用 Bundle。Activity 向 Fragment 传数据,我们可以在 Activity 中创建 Bundle

2017-09-18 09:40:42 1307

原创 Android--关于Fragment的基础介绍(一)

1、基本介绍Android 运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板等超大屏的。Fragment 的出现就是为了做到一个 App 可以同时适应手机和平板。Fragment 的诞生是为了支持更动态、更灵活的 UI 设计,在我们平时开发的时候都是用 Activity 加载一个布局文件,所有

2017-09-18 09:36:51 922

原创 LayoutInflater.inflate()方法解析

1、基本介绍在开发中 LayoutInflater. inflate() 这个方法还是非常有用的,它的作用类似于 findViewById()。不同点是 inflate() 是用来找 res/layout/ 下的 xml 布局文件,并且实例化,而 findViewById() 是找 xml 布局文件下的具体 widget 控件(如 Button、TextView 等)。对于一个没有被载入或者想要动态

2017-09-11 23:32:27 3713 1

原创 Android多点触控实现图片缩放预览

在我的博客 Android手势识别基础介绍 中介绍了 MotionEvent 的一些知识,看过的朋友或者对手势识别有了解的都应该知道一般的触摸事件也就是单点触控该如何处理,所以我的这篇博客要介绍的就是关于如何实现多点触控。我在博客中也介绍了多点触控的知识,但是并没有用实例实践,这里就用一个例子来说明。相信大家都经常在手机上浏览图片,大家的应用上也一定可以对图片进行放大或者缩小的处理,来让用户更

2017-09-08 21:33:31 2762

原创 Android--获取View的宽高的几种方法

1、getHeight()无效我们先来看看在 onCreate() 中用控件的 getHeight() 和 getWidth() 方法会出现什么情况。public class MainActivity extends AppCompatActivity { private ImageView mImageView; @Override protected void onCreat

2017-08-19 14:12:27 8550 1

原创 Android--ViewTreeObserver介绍

1、ViewTree首先我们来介绍一下 ViewTree 也就是视图树是什么。View 和 ViewGroup 是 Android UI 的基本组件, 而 ViewGroup 作为容器,可以包含一组 View, 并且 ViewGroup 其本身就是 View 的扩展。而各种不同的 Widgets 像 TextView,Button 等等也是View的扩展,只不过是放在各种 Layout 里,比如 L

2017-08-19 13:27:36 3151 2

原创 Android手势识别基础介绍

如今的 Android 手机已经离不开手指与屏幕的交互了,基本上只要在使用手机就避免不了手势的识别,相信各位学习 Android 开发的朋友们大都与手势交互打过交道,我的这篇博客就是使用 GestureDetector 实现手势识别。1、MotionEvent如今在国内,按键手机已经是少之又少了,至少我身边的人用的都是触屏的机器,这也就说明我们手机程序开发者开发的应用应该都是围绕着触控来识别操作。拿

2017-08-16 16:23:28 1805

原创 ViewPager的基础使用介绍

一、简介ViewPager 是 Android 中的类,这个类可以让用户实现左右切换当前的 view,许多的 APP 在安装完后进入的都是一个APP引导图,是一些图文并茂的关于 APP 的功能的介绍或推荐,用户需要滑动切换浏览完所有的view,就可以使用 APP,这里的功能实现毫无疑问用到了 ViewPager。ViewPager类继承自 ViewGroup类,它是一个容器类,可以在其中添加需要的

2017-08-11 21:04:38 923

原创 Android--onKeyDown方法

在Android开发过程中,经常要对部分手机按键进行自定义的处理,我们可以通过重写Activity的方法onKeyDown()来实现,我们根据对不同的键的处理可以增强用户体验。private long mExitTime;//保存上次点击back键的系统时间@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if

2017-06-10 23:42:11 5722

原创 Android网络框架OKHttp初解

1、OKHttp介绍1、简介OKHttp是一款高效的HTTP客户端,支持连接同一个地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势,其核心主要有路由、连接协议、拦截器、代理、安全性认证、连接池以及网络适配,拦截器主要是指添加、移除或者转换请求或者回应的头部信息。OKHttp这个库也是square开源的一个网络请求库(OKHttp内部依赖okio),现

2017-06-10 20:44:13 1229

原创 Android四大组件--Activity详解(二)

1、Task 和 启动模式Task在 SDK中关于Task,有一个很好的比方,说,Task就相当于应用(application)的概念。在开发人员眼中,开发一个Android程序,是做一个个独门独户的组件,但对于一般用户而言,它们感知到的,只是一个运行起来的整体应用,这个整体背后,就是Task。 Task,简单的说,就是一组以栈的模式聚集在一起的Activity组件集合。它们有潜在的前后驱关联,新

2017-06-06 13:47:42 953

原创 Android四大组件--Activity详解(一)

Android四大组件中我相信Activity绝对是大家最熟悉的,但是虽然我们几乎是天天在用它,但真的有好好的了解过它么。如果你没有,那就可以看看这篇博客了,它或许没有什么高深的内容,但也是好好的对Activity整理了一番,相信还是能够让你又所收获的。1、什么是Activity第一点当然是讲我们一直在使用的Activity是什么东西。Activity本质上就是一个承载我们应用页面的框架,可以用于显

2017-06-05 13:56:27 1883

原创 Android控件--RecyclerView

1、简介谷歌在Android5.0之后推出了RecyclerView,它是ListView还有GridView的升级的一个View。它之所以叫RecyclerView,是与它的设计思想有关。RecyclerView与ListView和GridView的设计思想不同,我们看看:不关心Item如何显示,是否显示在正确的位置。不关心Item间如何分隔(例如ListView可以去设置它的divider,

2017-06-03 00:18:31 1050

原创 Android--AIDL基础介绍

1、跨进程通信要想了解AIDL的用途,我们先来上个图,聊聊跨进程通信。图上有进程1、进程2两个进程,如果进程1想要和进程2通信,或者说进程1想要共享数据给进程2,那该怎么做。Android中两个进程想要直接进行通信是不能的,一个应用程序没办法和另一个应用程序进行通讯,这样就保证了数据的安全性,保证一个进程的销毁不会影响到其它进程。所以谷歌就提供了如图的这样一种间接的方法,进程下面的矩形就是我们的An

2017-05-29 22:01:00 941

原创 Android使用Camera2打造自定义相机

从5.0开始(API Level 21),可以完全控制Android设备相机的新api Camera2(android.hardware.Camera2)被引入了进来。在以前的Camera api(android.hardware.Camera)中,对相机的手动控制需要更改系统才能实现,而且api也不友好。不过老的Camera API在5.0上已经过时,在未来的app开发中推荐的是Camera2 A

2017-05-27 23:29:36 9560 5

原创 Android控件--TextureView

1、简介应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重绘一次,因此效率非常低下,不过满足普通应

2017-05-27 19:37:46 19452 2

原创 Android相机基础介绍

我们对摄像头的使用如今已经是比较频繁的啦,在二维码,拍照,扫描中都起着巨大的作用。我们通常有两种方式,一是调用系统的相机或者具有拍照功能的应用,二是自定义相机。1、调用系统相机我们调用系统相机一般有两种做法,一个是可以在Intent中直接指定另一个程序的包名和它的MainActivity,那么我们就可以直接启动这个应用,当然前提是知道程序的完整包名和它的启动Activity。如果你的移动设备确认连接

2017-05-24 19:41:23 899

原创 Android自定义视频播放器

在我的博客Android控件–VideoView中介绍了如何用VideoView去播放本地视频和网络视频,不过我们播放视频是调用的是系统给我们的UI界面,所以这篇博客是介绍如何去定制自己的播放器。我们的UI布局就是实现成这个样子,在横屏的时候有音量的显示,竖屏的时候则会隐藏。另外还可以在画面上滑动实现音量和亮度的变化。我们先来实现布局样式。<RelativeLayout xmlns:android=

2017-05-22 11:16:48 4558 1

原创 Android横竖屏解析

相信大家都或多或少的为横竖屏烦恼过吧,毕竟我们在开发中用到这方面的知识还是挺多的,比如我上一篇讲VideoView的博客,在播放视频的时候,能够自如的切换横竖屏是很有必要的。所以这篇博客就来解析Android中的横竖屏。1、screenOrientation当手机没有关闭横竖屏切换功能时,系统一旦触发横竖屏切换,缺省状态(即系统默认状态)下,当前活动的App的界面就会进行横竖屏切换,由于横竖屏的界面

2017-05-20 19:46:33 1215

原创 Android控件--VideoView

1、简介VideoView顾名思义就是播放视频的控件,使用VideoView是我们除了MediaPlayer + surfaceView之外播放视频的另一种写法,它继承自surfaceView,所以对UI的更新处理不太需要我们担心。视频播放原理: 系统会首先确定视频的格式,然后得到视频的编码..然后对编码进行解码,得到一帧一帧的图像,最后在画布上进行迅速更新,显然需要在独立的线程中完成,这时就需要

2017-05-20 11:07:20 1605

原创 Android自定义控件--ProgressButton

相信大家在手机某个游戏APP的游戏列表中,都能看到这样类似的控件:大家可以看到在这个界面的右侧下载的图标在点击后就会变成这样一个进度条的样子,下载完成后又会显示为打开,这样的ProgressButton是不是很有意思。我们这篇博客就讲一讲如何实现一个类似的控件,我们要完成的效果如下:在显示为三角形的时候,下载暂停或者还没开始,点击开始会做一个放大淡出的动画,之后正方形的图片会出现做一个放大淡入的动画

2017-05-18 22:05:44 1304

原创 Android--自定义控件解析(二)

1、前言在上篇博客中我主要介绍了自定义属性的定义和获取,还有如何在布局文件添加我们的自定义控件。这几乎是自定义控件中必不可少的两步,而onMeasure()、onDraw()方法如果是在我们讲的TopBar这样的只需修改几个属性的控件中使用是可以不做的。onLayout()就更不必说了,它是来设置子View的位置的。所以这篇博客我会仔细讲解这几个方法。2、onMeasure解析我们在TopBar中继

2017-05-17 17:10:15 708

原创 Android--自定义控件解析(一)

1、前言自定义控件在我们的开发过程中占据了很大一部分,可以说如果你不会自定义控件,那么你就不是一个合格的Android工程师。要知道系统给我们提供的控件很可能在样式和效果上跟我们想要实现和呈现给用户的不相符合,这个时候如果你不会自定义控件,那么就只能茫然四顾啦。我的这篇博客并不是特指讲解某个控件的自定义,要介绍的是自定义控件的基础,如自定义控件的流程这样,更多的是一种编程模式,在我看来,无论是哪个控

2017-05-15 19:50:26 716

原创 Android控件--ProgressBar

1、简介ProgressBar 是进度条组件,通常用于向用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好性。就像我现在进行的 apk 下载的任务,它都是通过进度条通知用户下载的进度,如果没有了这个进度条,不能实时地呈现下载进度的话,用户就会想是不是程序失去响应,而要下载的文件比较大的话,用户肯定会想知道下载到了什么地方,什么时候会完成,有了进度条都可以打消

2017-05-13 23:31:54 44039 2

原创 Android属性动画--ViewPropertyAnimator

1、简介ViewPropertyAnimator其实算不上什么高级技巧,它的用法格外的简单,只不过和前面所学的所有属性动画的知识不同,它并不是在3.0系统当中引入的,而是在3.1系统当中附增的一个新的功能。我们都知道,属性动画的机制已经不是再针对于View而进行设计的了,而是一种不断地对值进行操作的机制,它可以将值赋值到指定对象的指定属性上。但是,在绝大多数情况下,相信大家主要都还是对View进行动

2017-05-13 12:57:31 881

原创 Android布局动画--LayoutTransition

1、简介我在我的博客Android–LayoutAnimation介绍中介绍了布局动画,所谓布局动画就是对 ViewGroup 这样的容器去做动画,而不是像补间动画这样只处理某一个View对象。那篇博客中我着重讲了 LayoutAnimationController 这个类,它是用来指定一个应用到 ViewGroup 的每个子View的动画。这里我要讲讲 LayoutTransition 这个类,在

2017-05-12 11:23:12 928

原创 Android属性动画--TypeEvaluator

1、功能介绍可能在大多数情况下我们使用属性动画的时候都不会用到TypeEvaluator,因为属性动画已经比补间动画强大了许多,基本使用已经不成问题。但如果我们遇到了难以解决的问题的时候,使用 TypeEvaluator 可能会有意想不到的效果。TypeEvaluator 的意思是估值器,所以它的作用就是告诉动画系统如何从初始值过度到结束值。我们学习 ValueAnimator 的时候学到的Valu

2017-05-11 10:43:57 687

原创 Android--Property Animation介绍

1、简介属性动画是谷歌在Android3.0提出的动画框架,但我们使用以前的动画框架也能实现很丰富的动画效果,比如位移,旋转,缩放,透明度等等,那为什么谷歌还要提出属性动画。补间动画(Tweened Animations)只能够实现移动、缩放、旋转和淡入淡出这四种动画操作,动画机制就是使用硬编码的方式来完成的,功能限定死就是这些,基本上没有任何扩展性可言。并且补间动画只能作用于View,而且补间动画

2017-05-08 19:48:41 472

原创 Android--LayoutAnimation介绍

1、简介在Android中,最简单的动画就是补间动画(Tweened Animations)了。通过补间动画,可以对一个控件进行位移、缩放、旋转、改变透明度等动画。但是补间动画只能对一个控件使用,如果要对某一组控件播放一样的动画的话,可以考虑layout-animation。Layout Animation 可以用来为 ViewGroup 添加动画,并且按照预定的顺序把一个动画或者一个动画集合应用到

2017-05-06 22:28:31 917

原创 Android--Animation标签介绍

Drawable讲过三个动画,animation-list定义帧动画,animated-rotate定义旋转动画,animated-selector定义选择状态动画,这三个属于drawable动画(也称Frame-By-Frame Animation)。除了drawable动画,Android框架还提供了另外两种动画体系:视图动画(View Animation 也称Tweened Animation

2017-05-05 23:11:04 934

原创 Android--Tweened Animations介绍

1、简介Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 Animations从总体上可以分为两大类:Tweened Animations(渐变动画):该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Ro

2017-05-03 23:50:07 7671

Android Screen Mointor

有时候我们需要在PC上显示真机的屏幕,Android的ADM只能静态的监听一桢图像,所以在Google Code上,Google提供了一个Android Screen Monitor工具来实时显示手机屏幕。

2017-09-08

Source Insight

可以用来查看源码

2017-06-05

UPDATE-SuperSU-v2.46.zip

超级授权管理,是一款对Android手机进行ROOT的超级权限管理工具,超级用户访问权限管理必备利器。Super SU 原生无广告,自带简体中文,支持已ROOT设备上所有应用的超级用户访问权限管理,比Superuser功能更强大,界面更美观,更稳定!

2017-04-20

正则匹配MTracer.exe

支持将正则导成对应的语言如java C# js等还帮你转义了,Copy直接用就行了很方便,另外支持把正则表达式用法解释,如哪一段是捕获分组,哪段是贪婪匹配等等

2017-04-17

QQ截图.exe

可以快速截图

2017-04-17

ScreenToGif2.4.exe

该工具拥有可以制作动图,调用摄像头等多个功能

2017-04-17

MTracer.exe

支持将正则导成对应的语言如java C# js等还帮你转义了,Copy直接用就行了很方便,另外支持把正则表达式用法解释,如哪一段是捕获分组,哪段是贪婪匹配等等

2017-04-17

Genymotion-ARM-Translation_v2.0.zip

让Genymotion模拟器可以运行NDK项目

2017-04-05

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

TA关注的人

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