自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android M运行时权限问题

1、Android M对权限管理系统进行了改版,之前我们的App需要权限,只需在manifest中申明即可,用户安装后,一切申明的权限都可来去自如的使用。但是Android M把权限管理做了加强处理,在manifest申明了,在使用到相关功能时,还需重新授权方可使用。当然,不是所有权限都需重新授权,所以就把这些需要重新授权方可使用的权限称之为运行时权限。2、如果App的targetSdkVers...

2019-12-04 14:48:13 263

原创 深入分析 Volatile 的实现原理

引言在多线程并发编程中 synchronized 和 Volatile 都扮演着重要的角色,Volatile 是轻量级的 synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比 synchronized 的开销更小,本文将深入分析在硬件层面上 Inter 处理器是如何实现 Volati...

2019-12-02 11:44:58 220

原创 android studio中New Module及引用

一:Android Studio创建module,New Module窗口提示选项的各个module区别:1、Phone & Table Module,创建手机类型或平板电脑类型的module,换句话说创建手机或平板电脑的Android项目,通常Android开发者都默认选中该选项,除非想要开发Android Watch(智能手表)2、Android Library,创建Android...

2019-11-29 11:20:21 2325

原创 Android 原生锁屏页面音乐控制

Android5.0 提出了全新的MediaSession概念用于播放器与控制器之间进行交互,它取代之前的RemoteControlClient,并提供了更为灵活的客户端受控端模型。但是MediaSession框架只能在安卓5系统上使用,如何兼容低版本呢? Google在support-v4(21以上版本)中也提供了MediaSessionCompact兼容包。通过它可以告诉Android系统与...

2019-04-03 16:55:06 3332

转载 MediaMetadataRetriever类、方法以及使用详解

MediaMetadataRetriever类简单介绍(1)属于在android api的那个包下:`android.media.MediaMetadataRetriever` (2)类简单介绍: MediaMetadataRetriever类提供了用于从输入媒体文件检索帧和元数据的统一接口。 (3)这个是android提供的类,用来获取本地和网络media相关文件的信息MediaMet...

2019-04-03 15:02:13 11867 2

转载 Java annotation(注释)@interface、@Retention、@Target详解

一、注解:深入理解JAVA注解要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation):元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元...

2019-04-01 15:46:22 519

原创 Android中ActionBar和ToolBar添加返回箭头的实例代码

1.ActionBar添加返回箭头、//onCreate方法中ActionBar actionBar = this.getSupportActionBar();actionBar.setTitle("搜索功能");actionBar.setDisplayHomeAsUpEnabled(true);//activity类中的方法@Override public boolean onO...

2019-03-28 17:55:41 1089

转载 Android注解使用之ButterKnife 8.0注解使用介绍

前言:App项目开发大部分时候还是以UI页面为主,这时我们需要调用大量的findViewById以及setOnClickListener等代码,控件的少的时候我们还能接受,控件多起来有时候就会有一种想砸键盘的冲动。所以这个时候我们想着可以借助注解的方式让我们从这种繁重的工作中脱离出来,也让代码变得更加简洁,便于维护,今天主要学习一下只专注View、Resource、Action注解框架Butte...

2019-03-28 11:31:33 135

原创 Android 之 ?attr/ 用法

?attr 是和主题Theme有关,也就是说在Resource资源中定义,在主题Theme中赋值,使用的时候,该值会随着主题的变化而获取的值也是不同的。一、自定义属性att基本用法(1)、定义在values文件夹中创建一个attrs_base.xml,名称随意起。定义一个属性,并给出属性的格式。<resources> <attr name="playBarBack...

2019-03-27 15:58:56 8674

转载 java回调机制

所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,比较经典的回调方式:Class A实现接口CallBack callback——背景1class A中包含一个class B的引用b ——背景2class B有一个参数为callback的方法f(CallBack callback) ——背景3A的对象a调用B的方法 f(CallBack...

2019-03-21 16:27:12 138

原创 Android运行adb Shell命令(范例),包含代码和XML

上图大家看效果1、直接上java代码,MainActivity.javapackage com.runqian.adbshell;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;im...

2019-02-18 16:00:13 3097 2

原创 Android运行底层linux外部命令的实现,判断手机是否root

在 Android 中,如果要使用系统限制的权限(比如 android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到 /system/app/ 下。 下面以 SecureSetting.apk 为例,演示这个操作。需要准备一台已经获得 Root 权限的手机。1、通过 USB 连接手机和电脑。2、使用 adb 控制手机。 源码打印?$ adb pu...

2019-02-18 12:02:45 310

转载 Android屏幕适配及DisplayMetrics解析

一、基本概念dip : Density independent pixels ,设备无关像素。dp :就是dippx : 像素dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度density : 直接翻译的话貌似叫 密度。常见取值 1.5 , 1....

2019-01-22 15:33:15 898

转载 android中ImageView属性src和background区别,有坑啊

ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下:...

2019-01-17 17:57:30 599

原创 AndroidStudio快捷键中文版

2019-01-16 17:26:40 154

转载 单向链表的逆序输出(java)

将单向链表逆序输出,方法有三种: a.遍历链表,将每个节点的内容存入一个数组中,然后逆序输出数组(最简单的做法) b.使用栈来逆序输出 c.直接将链表逆序然后输出先介绍c方法: 1). 若链表为空或只有一个元素,则直接返回; 2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指向节点的后继; ...

2019-01-16 15:57:23 12790 1

原创 SharePreferences使用总结,优缺点(包含升级篇,深入理解,面试必读)

开发应用需要保存一些配置参数,对于Android应用来说,我们最适合采用SharedPreferences保存数据,它是一个轻量级的存储类,特别适合用于保存软件配置参数。一、如何使用SharePreferences保存数据使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。例如: SharedPre...

2019-01-03 16:05:20 5584

转载 Activity、Fragment动画切换效果、视图组(ViewGroup)中子元素的出场效果

转自https://blog.csdn.net/carson_ho/article/details/72827747一、Activity 的切换效果即 Activity 启动 / 退出时的动画效果。a.启动动画Intent intent = new Intent (this,Acvtivity.class);startActivity(intent);overridePendingTr...

2018-12-26 12:23:16 265 1

转载 Android 补间动画

一、平移动画(Translate)设置方法1:在XML 代码中设置步骤1:在 res/anim的文件夹里创建动画效果.xml文件 此处路径为res/anim/view_animation.xml步骤2:根据 不同动画效果的语法 设置 不同动画参数,从而实现动画效果。平移动画效果设置具体如下:view_animation.xml&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; enc...

2018-12-26 11:44:14 142

原创 Axure RP v8.1.0.3377 Enterprise 中文破解版(附注册机+汉化包+安装教程)

1、双击“AxureRP-Setup.exe 安装,初次运行不要打开运行。2、双击“keygen.exe”注册码,在“Licensee”选项中,输入“ www.jb51.net ” 之后点击“Generate” 按钮,这时候会自动生成选中版本所需的 Key 注册码。3、运行AxureRP,点击浮窗Enterlicense,输入注册机生产的License和Key,最后“Submit”授权即可。...

2018-12-16 15:41:06 2630 1

原创 Android消息处理机制(Handler 与Message)

一、handler的使用场景为么会有handler?二、handler的消息处理机制在Android中提供了一种异步回调机制Handler,使用它,我们可以在完成一个很长时间的任务后做出相应的通知。    -UI线程:就是我们的主线程,系统在创建UI线程的时候会初始化一个Looper对象,同时也会创建一个与其关联的MessageQueue;-Handler:作用就是发送与处理信息,如...

2018-12-11 10:00:51 1479

原创 Build.gradle详细配置说明(3.0.1以下版本)

apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库android {    compileSdkVersion 22//编译的SDK版本    buildToolsVersion "22.0.1"//编译的Tools版本    de...

2018-12-10 11:52:42 619

转载 AndroidStudio、gradle、buildToolsVersion概述,版本对应关系

使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目重新sync后都会报错,提示更新相应的其他版本,比如AndroidStudio、gradle、buildToolsVersion版本;AndroidStudio: 是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,,类似之前的eclipse,但是比eclip...

2018-12-10 11:50:31 16017

原创 Android Studio3.0 添加依赖由compile变为implementation的区别

前言Android Studio版本更新至3.0了,更新后,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4.0 里程碑版本作为gradle的编译版本,该版本gradle编译速度有所加速,更加令人兴奋的是完全支持Java8。当然,对于Kotlin的支持,在这个版本也有所体现,Kotlin插件默认是安装的。一...

2018-12-07 17:16:49 1197

Axure RP v8.1.0.3377 Enterprise 中文破解版(附注册机+汉化包+安装教程)

1、双击“AxureRP-Setup.exe 安装,初次运行不要打开运行。 2、双击“keygen.exe”注册码,在“Licensee”选项中,输入“ www.jb51.net ” 之后点击“Generate” 按钮,这时候会自动生成选中版本所需的 Key 注册码。 3、运行AxureRP,点击浮窗Enterlicense,输入注册机生产的License和Key,最后“Submit”授权即可。 4、将“lang”文件将,复制到Axure RP 8.1软件安装根目录。

2018-12-16

空空如也

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

TA关注的人

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