检测手机是否打开vpn
![240](https://upload.jianshu.io/users/upload_avatars/7075146/fa9698cb-bbe2-4b9e-af27-b0d230512615.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
检测手机是否打开vpn
介绍 ISO 3166 是国际标准化组织(ISO)针对国家、属地、具有特殊地理意义的地区、以及其子行政区(如:省或州)名称定义的国际标准代码。该标准的官方正式名称为“代表国家...
今天带给大家一个比较实用的轮播图框架,banner1.导入依赖 2.添加权限 3.添加布局 4.在Activity 中编写代码,相关代码含义已经全部添加注释 还有要记得加代码...
本文参照Data Binding Library - Android Developers 谷歌官方 这篇文章主要讲述我自己使用过程中遇到的一些问题和自己的理解,后面也列出许...
缘起 Android已经发展了11年,可以说是比较成熟的技术了,一开始时框架很少,也没有什么规范,所有的代码都是要自己写,比如网络请求,数据库请求,数据解析等等。后来出现了一...
背景 Android热修复方案有很多,我们没有必要去解析每个框架的热修复具体实现。我们只需要掌握热修复的几个基本原理即可。目前Android热修复的技术方案大致可以归类为以下...
一、微信Tinker简介 1、Tinker是微信官方的 Android 热补丁解决方案,它支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。2、...
内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新ViewPager图表(Chart)菜单(Menu)浮动菜单...
收藏夹里面吃灰吧😂
前言 要想实现自定义 来电秀,首先我们先这样 再这样,然后你这样,最后你再这样一下,就可以了,很好实现的,听懂了么? 效果图 TODO 添加包活lib,提高App在设置成功后...
在写SparseArray某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseArray不需要对key和value进行auto-boxing(将原始...
Data Binding Library 是一个非常厉害的的数据绑定框架,通过数据绑定框架可以给我们带来很大的方便,以前我们可能需要在每个Activity里写很多的findV...
写的很详细、实用,给你点赞👍👍👍
Android开发中的MVP模式详解在Android开发中,我们通常会去将项目分成一个个的模块文件夹,来进行管理维护,有的人是直接按照功能来分模块,这也是最常见的,有的人则会按照一定的设计模式,再结合功能来进行...
一 、关于Rxjava 异步:RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and even...
文章参考StatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏) StatusBaStatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏)这是...
写在前面的话 之前一直在学习任玉刚老师的《Android开发艺术探索》,并且也有通过笔记的形式记录下自己认为符合自己需要的内容,一是加深记忆,二是方便以后查找复习。目前的工作...
原文链接Android Studio 中 Gradle 依赖的统一管理 为什么要对 Gradle 统一管理 在实际项目中,经常会出现一个 Project 中有多个 Modul...
在项目开发中我们会经常引入多个Module,然而每个Module中又包含了V4、V7,为了升级新版本依赖包只用更改一次,我们决定采用Gradle依赖的统一管理,避免重复繁琐的...
本篇不再去分析Handler Looper MessageQueue 等相关源码 为了下面内容好理解可以看看我的上两篇文章Handler消息机制Handler Looper ...
前言 据我个人了解,很多工作很久的开发者对HTTP的理解非常的片面甚至有些偏差,经常把HTTP和TCP混淆,所以我认为我有必要将这两个概念进行澄清,前两篇文章我们描述了传输层...