自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 四种阴影实现方式对比

1、点九生成阴影优点 随意调整 效果立即可见,快速实现。缺点 自带大小会压缩布局;如果布局内有图片,容易被图片覆盖阴影https://inloop.github.io/shadow4android/2、shape生成阴影<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item a

2021-05-15 11:15:23 588

原创 Android 单列模式

public class Singleton { private Context context; private Singleton(Context context) { this.context = context; } public static class Holder { private static Singleton Instance; public static Singleton getInstance.

2021-05-15 09:31:00 159

原创 Android studio实现java文件夹转换为txt文本

前言:在工作生活中,我们经常需要拷贝一些工具类或是一些代码作为以后的参考,可以使在以后的工作中能够快速的实现。但是公司一般都是对java文件进行了加密,所以我们需要对java文件进行重新拷贝命名就能使用。一、Andorid Studio新建java项目在新建module的时候选择java项目,结构如下所示然后MyClass右键直接执行run就可以运行MyClass里面的代码,如下图所示二、具体的代码实现 先在MyClass.java中增加入口程序如下所示 public s

2021-05-13 17:52:14 521

原创 AndroidStudio打包apk缺失.so库文件

在module下的build.gradlesourceSets { main { jniLibs.srcDirs = ['libs'] } }

2021-04-29 18:40:00 1274

原创 安卓分辨率文件夹详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、Andorid不同文件夹分辨率解释前言主要是记录安卓不同资源文件夹对图片的缩放提示:以下是本篇文章正文内容,下面案例可供参考一、Andorid不同文件夹分辨率解释1、看下获取的数据 /* *2.75dpi drawable 240*2.75=660 160=160*1 *2.75dpi ldpi ...

2021-04-27 18:35:52 1280

原创 Android音频

https://www.cnblogs.com/hellokitty2/p/10917545.html

2021-04-20 16:29:27 66

原创 Unable to add window -- token null is not for an application的解决方案

1、替换mContext为Activity2、getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);if (!(mContext instanceof Activity)) { getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);}设置diaolg的类型为键盘类型...

2021-03-10 18:03:59 501

转载 用一张图片实现按钮按下和普通效果的样式

https://www.cnblogs.com/tianzhijiexian/p/4505190.html第一种方法(强烈推荐)方法:selector做遮罩,原图做background。我们做按钮的时候经常需要用两个图片来实现按钮点击和普通状态的样式,这就需要提供两种图片,而且每个分辨率下还有多套图片,大大增加了apk的大小。我们希望让这两张图片合二为一,而且还能实现两种或者多种状态,怎么做呢?我们首先建立一个圆形的selector,正常情况下是完全透明的,按下后透明度变小。norm

2021-02-04 13:59:10 631

转载 「译」 MotionLayout 介绍 (Part IV) 深入理解关键帧

原文链接在 MotionLayout 中定义运动路径介绍MotionLayout 是一个来自 ConstraintLayout 2.0 的专注于动画的新布局。本系列的前几篇文章对该系统进行了很好的概述。我强烈建议你在阅读本文前先去查看它们。Introduction to MotionLayout (part I) 中文点这 Custom attributes, image transitions, keyframes (part II) 中文点这 Taking advantage of

2020-12-04 09:15:49 636

转载 「译」MotionLayout介绍 (part III)

原文链接前言在本系列的第一部分和第二部分中,我们介绍了 MotionLayout,并给出了各种示例:basic motion swipe handling custom attribute interpolation keyframes第一部分和第二部分概述了 MotionLayout 中引入的基本概念。现在将介绍如何在现有应用程序中使用 MotionLayout,并将其集成到现有布局(如 CoordinatorLayout,DrawerLayout或ViewPager)中。配合

2020-12-04 09:14:39 156

转载 「译」MotionLayout 介绍 (part II)

原文链接: Introduction to MotionLayout (part II)前言这是系列文章「MotionLayout 介绍」的 part II。阅读之前请先查看 part I! (中文点这)在文本中,我们将继续通过各种示例揭露基本的 MotionLayout 特性,介绍自定义属性 (custom attribute)、图像操作 (image operations) 和关键帧 (keyframes)。示例 03: 自定义属性 (Custom attribute)在part I

2020-12-04 09:11:56 224

转载 MotionLayout 基础教程 2

阅读说明:本文假设读者已掌握如何使用 ConstraintLayout。 本文假设读者已对 MotionLayout 有了基本了解,知道如何创建 MotionScene 文件,以及如何使用 MotionLayout 在两个 layout 布局文件间创建过渡动画。如您完全不了解这些,建议您阅读 《MotionLayout 基础教程》。 建议读者在阅读过程中动手实践,有助于更好的理解,如您现在不方便,建议稍后阅读。 由于官方文档不全,部分内容来自笔者的个人理解,如有错误,欢迎指正。本文是 《Moti

2020-12-04 09:10:42 281 1

转载 MotionLayout 基础教程

阅读说明:本文假设读者已掌握如何使用 ConstraintLayout。 本文是一篇 MotionLayout 基础教程,如您已了解如何使用 MotionLayout,本文可能对您帮助不大。 本教程共有两篇文章,这是第一篇,另一篇请点击 这里。 建议读者跟随本文一起动手操作,如您现在不方便,建议稍后阅读。 本文基于 ConstraintLayout 2.0.0-alpha4 版本编写,建议读者优先使用这一版本。 由于 MotionLayout 官方文档不全,有些知识点是根据笔者自己的理解总结的

2020-12-04 09:09:47 924

转载 2020-08-12

Android通过adbshell命令查看内存,CPU,启动时间,电量等信息Android通过adb shell命令查看内存,CPU,启动时间,电量等信息by:授客QQ:10335531221、查看内存信息1)查看所有内存信息命令:dumpsys meminfo例:C:\Users\laiyu>adb shellshell@android:/ $ dumpsys meminfodumpsys meminfoApplication...

2020-08-12 18:06:27 173

原创 安卓LogUtils根据系统调试模式打开关闭

import android.content.Context;import android.os.Build;import android.provider.Settings;import android.support.annotation.RequiresApi;import android.util.Log;public class LogUtils { private static boolean mUsbDebug; @RequiresApi(api = Build..

2020-07-07 09:54:09 228

原创 安卓GridView出现高度不受控制修改

public class MyGridView extends GridView { public MyGridView (Context context) { super(context); } public MyGridView (Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onMeasure.

2020-07-07 09:52:11 242

原创 ScrollView里面的内容会自动滑动距离

在ScrollView的第一个布局里面加入<ScrollView android:id="@+id/scrollView" android:layout_width="0dp" android:layout_height="212dp" android:layout_weight="1" android:overScrollMode="never" android:scrollbars="none"&

2020-07-07 09:50:06 1003

原创 MusicProgressBar(圆形渐变)

public class MusicProgressBar extends View { /** * 画笔对象的引用 */ private Paint paint; /** * 圆环的颜色 */ private int roundColor; /** * 圆环进度的颜色 */ private int roundProgressColor; /** * 圆环的宽度 *.

2020-06-10 11:04:46 219

转载 Android 关于定位中的那点事(GPS,GPGGA,NMEA-0183,RTCM)

首先关于定位一些解释通常在Android端地图相关用的最多的都是第三方的Sdkj进行二次开发,如百度,高德,World Wind ,arcgis等,对于手机自带的GPS芯片和国内的北斗芯片了解的相对较少,GPS在android中已经由android底层驱动封装好了,对于导航定位下面我先说基本的常识:GNSSNMEA协议Rtcm协议GPGGA数据差分定位GNSS:一般指全球导航卫星系统,其实GNSS就是所有导航系统的统称。GNSS:Global Navigation Satellite S

2020-05-29 17:43:02 1991 1

转载 Linux下diff与patch命令的配合使用

在Linux下,diff与patch命令配合使用可以进行简单的代码维护工作。[A] diffdiff命令用于比较文件的差异,可以用于制作patch文件。但此命令参数众多、格式多样,所以在此仅介绍较常用的格式。例如有以下2个文件,源文件为old/test.txt,经修改后的新文件为new/test.txt,其内容分别如下:old/test.txt:This is the first line!This is the second line!This is the third line!This

2020-05-29 17:41:13 268

原创 安卓监听是否有闹钟设置

一、广播监听private static final String CLOCK_STATE_ACTION = Intent.ACTION_ALARM_CHANGED;IntentFilter simStateFilter = new IntentFilter();simStateFilter.addAction(CLOCK_STATE_ACTION);mContext.registerReceiver(simStateReceiver, simStateFilter);private Br

2020-05-15 17:52:59 731

原创 亮度自动调节与数据开关

public static boolean getAutomaticAvailable(Context context){ return context.getResources().getBoolean( com.android.internal.R.bool.config_automatic_brightness_available); }/** * 获得当前系统的亮度模式 * SCREEN_BRIGHTNESS_MODE_.

2020-05-15 17:44:57 415

原创 安卓定位开启与关闭

private final static String TAG = "LocationUtils"; private static final boolean WCN_DISABLED = SystemProperties.get("ro.wcn").equals("disabled"); private static final boolean LOCATION_GPS_ENABLED = SystemProperties.get("persist.sys.location.gps")..

2020-05-15 17:39:57 1973 2

原创 数据库升级

public class TelePhoneBookProvider extends ContentProvider { private static final String TAG = "TelePhoneBookProvider"; private static final UriMatcher s_urlMatcher = new UriMatcher( ...

2020-04-22 17:49:32 229

原创 安卓默认权限的增加

给应用增加默认的动态申请权限,具体解析流程自己梳理,系统主要是去读取xml文件的权限第一、在frameworks\base\services\core\java\com\android\server\pm\DefaultPermissionGrantPolicy.java中的方法private void grantDefaultSystemHandlerPermissions(i...

2020-03-16 11:09:00 347

原创 安卓8.1后台进程活动与后台流量限制策略记录

一、在实际调试过程中,出现应用在前台能够正常运行,但是在后台的时候出现没有反应,后来考虑到网络的问题,发现在前台网络是正常的,但是切到后台的时候出现网络断开链接。其实这是安卓本身的一个网络策略,后台运行一般是默认打开的,但是后台流量默认则是断开的。二、解决办法,给自己的所需要的应用默认打开不限制数据流量。具体的策略机制自己网上百度,我这里只是做修改记录。在源码的位置,就是这个网...

2020-03-16 09:49:47 1145

原创 安卓自定义ViewGroup(加上了内外边距)

一、实现的效果图比较简单,主要是记录onMeasure()与onLayout加边距的使用二、onMeasure(),仅仅是为了测量出当前自定义View的宽高,通过该宽高就能确定改View的显示的大小@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {//这个方法测量出...

2020-03-11 17:58:15 581

转载 Android 自带的应用统计服务(UsageStatsService)

最近要弄在 framework 中弄一个统计应用使用时长的功能。刚开始想着要怎么是不是要在 ActivityManagerService(AMS)的几个 Activity 的生命周期那埋几个统计点,后面发现 android 自带了一个 UsageStatsService(USS)的系统服务。这个东西统计的数据已经满足这边的需求了。只不过 android 好像只是统计了数据,并没怎么用(不过不排除 ...

2019-11-09 16:01:41 1964

原创 Android4.4.4 闹钟数据库查询

一、闹钟数据库一共有四张表,如下图所示:数据信息主要是存储在alarm_instances,alarm_templates两张表1、alarm_instances主要是开启的闹钟,alarm_templates是所有的闹钟,里面包含循环方式(alarm_instances表没有这个数据列),这两张表的结构与数据如下所示(1)alarm_instances如下所示,alar...

2019-10-18 16:55:09 1330

原创 RecyclerView的Item上CheckBox的错位处理

public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> {private static String TAG = "ImageAdapter";private OnRecyclerViewItemClickListener<ImageItem> mItemClic...

2019-09-30 19:04:15 220

原创 Glide设置缓存并读取

一、正常加载//存储url,采用sp或是其他方式String url = response.getContent().getSchoolLogo();Glide.with(iv_logo) .load(response.getContent().getSchoolLogo()) .error(R.mipmap.ic_error) .place...

2019-09-30 18:56:54 902

转载 关于Android RecyclerView的那些开源LayoutManager

FanLayoutManagerGithub源码地址:https://github.com/Cleveroad/FanLayoutManager来自国外一家名为Cleveroad的科技公司的开源作品,因其效果就像风扇扇叶旋转一样,所以名中带Fan。效果不错,API上也有很多的配置参数,用起来还是挺灵活的。CarouselLayoutManagerGithub源码地址:h...

2019-09-17 14:15:39 119

转载 Android Studio打包签名apk

如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cxq.signdemo" android:sharedUserId="android.uid.shell"&gt...

2019-09-11 14:47:03 251

原创 androidStudio导入其他项目作为module依赖库

一、背景:有时候我们做了两个项目,各自有各自的功能,各自依赖了一些开源的库,如网络或者数据库的开源库,现在项目a要用到项目b的功能,总不能直接重新敲一遍项目b的代码吧,在androidstudio中,我们可以直接将另一个项目导入作为module,然后将此module add 为lib,下面看看操作:(1) 添加module(2) 选择你要的项目导入进来(3) 导入进来以后,可能项目原先...

2019-09-09 09:45:04 1199

原创 自定义View使用BlurMaskFilter实现阴影效果

介绍在自定义View的时候 我们可能需要对自定义View 做出一些阴影效果 在Android5.0后提供了Cardview 可以去轻松实现 其实还可以通过paint.setMaskFilter(MaskFilter maskfilter)去实现 参数MaskFilter 有2个子类BlurMaskFilter:模糊遮罩滤镜 改变图像的透明度值来实现的EmbossMaskFilter:浮...

2019-09-05 14:10:54 792

原创 RxPermission权限申请

一、RxPermission使用1、引用依赖:allprojects { repositories { ... maven { url 'https://jitpack.io' } }}dependencies { implementation 'com.github.tbruyelle:rxpermissions:0.1...

2019-09-04 10:47:02 338

转载 Rxjava

给 Android 开发者的 RxJava 详解作者:扔物线HenCoder 给高级 Android 工程师的进阶指南:成为赞助方/开始写作前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开...

2019-08-16 10:23:27 369

转载 各种控件

https://www.cnblogs.com/abao0/p/6726763.html RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除,折叠) https://github.com/h6ah4i/android-a...

2019-02-10 18:31:02 450

转载 git 使用详细教程

一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程:Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后...

2019-01-24 09:26:11 158

转载 http请求与响应,TCP三次握手&四次分手

从前端发起请求到后台的整个过程,是一个面试中经常遇到的问题。大概的流程想必有一点基础的人都明白,但是要细说,却未必能一一道出来,曾经老师教过的知识也都差不多忘干净了。所以,我上网找了点资料,加上自己的理解,做个记录。**********************************************************  华丽的分割线 ***********************...

2018-11-14 09:28:33 260

安卓短息Demo,可自己查询使用

短息DEMO,会话查询数据库都有自己记录资源所用,要写这么多!

2018-09-02

空空如也

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

TA关注的人

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