自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xn的博客

来啊!编程吧!反正有大把时光...

  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 AIDL接入Android 8.0和Android 11以上版本需要添加的设置

AIDL高版本接入补充说明

2023-12-19 11:36:58 445

原创 [AS3.6.1]Kotlin学习笔记6(操作符,快捷扩展函数)

前言kotlin学习第六篇文章!历史文章[AS3.6.1]Kotlin学习笔记1(基本声明,函数,条件)[AS3.6.1]Kotlin学习笔记2(常量,数组,修饰符)[AS3.6.1]Kotlin学习笔记3(简化操作,泛型)[AS3.6.1]Kotlin学习笔记4(接口,Lambda,协程)[AS3.6.1]Kotlin学习笔记5(类说明,函数说明)操作符kotlin资料Kotlin 常用操作符...

2020-08-04 18:42:22 291

原创 [AS3.6.1]Kotlin学习笔记5(类说明,函数说明)

前言kotlin学习第三篇文章!历史文章[AS3.6.1]Kotlin学习笔记1(基本声明,函数,条件)[AS3.6.1]Kotlin学习笔记2(常量,数组,修饰符)[AS3.6.1]Kotlin学习笔记3(简化操作,泛型)[AS3.6.1]Kotlin学习笔记4(接口,Lambda,协程)类前面我们讲过一些类的内容,比如Any就是Object,使用:替代java中的继承extends和接口implements,多个之间使用,隔开等。现在我们来具体了解下类,包括一些说明和object、dat

2020-07-31 18:56:53 1134

原创 [AS3.6.1]Kotlin学习笔记4(接口,Lambda,协程)

前言kotlin学习第三篇文章!历史文章[AS3.6.1]Kotlin学习笔记1[AS3.6.1]Kotlin学习笔记2[AS3.6.1]Kotlin学习笔记3资料Kotlin 的 Lambda 表达式,大多数人学得连皮毛都不算

2020-07-27 18:35:03 326

原创 [AS3.6.1]Kotlin学习笔记3(简化操作,泛型)

前言kotlin学习第三篇文章!历史文章[AS3.6.1]Kotlin学习笔记1[AS3.6.1]Kotlin学习笔记2简化构造器我们还是从kotlin的构造器开始讲解,前面我都说过kotlin中初始化构造器需要加入新的关键字constructor其实在kotlin中我们可以更简单的创建构造器//按java写法的kotlinclass KClass { var name: String constructor(name: String){ this.name

2020-07-06 18:08:48 240

原创 [AS3.6.1]Kotlin学习笔记2(常量,数组,修饰符)

前言kotlin学习第二篇文章!直接开始!历史文章[AS3.6.1]Kotlin学习笔记1init上篇我们讲到类的使用JavaC.class和KotlinC.kt继续扩展,首先我们讲的是初始化代码块,java和kotlin的不同!不太懂可以看下这篇文章Java初始化块(静态代码块和非静态代码块)public class JavaC { private String name = "JavaC"; private List<String> strs; {

2020-07-01 11:34:22 634

原创 [AS3.6.1]Kotlin学习笔记1(基本声明,函数,条件)

前言久违的写博客了!这段时间也算是加班完了累又不想学习,然后搁那疯狂的摸鱼。一直想开始记录学习kotlin都没时间,这次算是闲下来给自己个目标把kotlin学完吧!基本使用声明变量kotlin和java一样都是有变量的,但是声明的方式有挺大的区别 //java 声明变量 int x; //默认值 0 String name; //默认值null final int finalX = 5; final String phone = "17712345678" //kotlin var

2020-06-28 18:38:17 279

原创 安卓7.0文件路径适配 FileProvider

前言原先有适配过,但是当时就copy能用就行了。最近在写轮子工具,就再次查了下资料,就顺便整个都了解一下,记录下来。适配7.0(既调用FileProvider)创建provider数据就是在清单文件manifest.xml中的application节点下面添加如下配置<manifest> ... <application> ... <provi...

2019-04-12 15:58:12 1602

原创 [AS3.0.1]蓝牙的基本使用,搜索和配对

蓝牙的最基本的用法,搜索和配对!

2019-03-12 16:32:51 1599 3

原创 [AS3.0.1]Android 5.0新特性跳转动画Transition

前言很早的时候算是看过一些关于Android 5.0的新特性,但是当时也就是记录一下用法,也没后续去看,前段时间看到一个动画切换效果,我还傻乎乎的去写,后来发现居然是Android自带的,找了些资料算是补习了!本篇包括Transition、Shared Element、Circular Reveal的内容。TransitionTransition是Android 5.0新加入的过渡动画效...

2018-11-22 17:28:47 477

原创 反射学习记录

反射官方说明Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. This is a relatively advance...

2018-11-13 17:24:43 170

原创 Java正则表达式学习记录

Pattern p = Pattern.compile(&amp;amp;amp;quot;\\w+&amp;amp;amp;quot;); //p.pattern() 返回正则表达式的字符串形式 print(&amp;amp;amp;quot;-&amp;amp;amp;amp;gt; &amp;amp;amp;quot; + p.pattern()); p = Pattern.compile(&am

2018-11-08 15:25:20 1783

原创 [AS3.0.1]关于FragmentTabHost不调用setUserVisibleHint如何实现懒加载

前言以前写过一篇[AS3.0.1]关于ViewPager、FragmentPagerAdapter、Fragment源码研究文章,上面探究了一些懒加载的实现。但是我后面写了一个[AS2.3.3]底部栏实现 (使用FragmentTabHost+Fragment实现)然后在使用的时候突然发现,调用懒加载的方式并不适用,那么我们就只能用新的方案了!探究首先我们能从生命周期中知道,onResum...

2018-10-24 15:53:39 417

原创 编程笔记

List&amp;amp;amp;amp;amp;amp;lt;String&amp;amp;amp;amp;amp;amp;gt; 转 new String[] String[] strings = list.toArray(new String[list.size()]);new String[] 转 List&amp;amp;amp;amp;amp;amp;lt;String&amp;amp;amp;amp;amp;amp;gt;

2018-09-25 10:59:49 217

原创 [AS3.0.1]ViewDragHelper学习记录

官方说明/** * ViewDragHelper is a utility class for writing custom ViewGroups. It offers a number * of useful operations and state tracking for allowing a user to drag and reposition * views within...

2018-08-30 17:44:49 161

原创 [AS3.0.1]关于今日头条的屏幕适配方案学习理解

前言首先是今日说法很早就提到的适配方案一种极低成本的Android屏幕适配方式 原理是修改手机屏幕的density和dpi实现所有屏幕的宽度都被强制设置成和设计图上面的宽度一致。这个方案是和在开发中xml布局查看时切换不同的屏幕时效果。 下面可以看下xml布局查看的效果Nexus4 Nexus5 Pixel 2 可以看到屏幕变了之后,确实只有宽度随着变动了,高度...

2018-08-27 16:39:02 1172

原创 [AS3.0.1]关于注解记录

本篇大部分来自网络。算是一个注解整合!注解说明注解分类标示注解: 成员个数为0单值注解: 成员个数为1完整注解: 成员个数大于1系统注解: 系统提供的注解元注解: 为注解所注解系统注解@override被修饰的方法必须为父类方法重写, 标示为该方法是方法重写@Deprecated被修饰的方法的方法名出现删除线, 标示为该方法已被废弃, 该修饰有继...

2018-08-03 13:54:22 238

原创 [AS3.0.1]Bugly接入记录使用(崩溃记录及热更新)

前言记录bugly的使用和记录,主要讲解热更新相关的内容。 本篇使用的版本如下崩溃记录上传 implementation 'com.tencent.bugly:crashreport:2.6.6.1' implementation 'com.tencent.bugly:nativecrashreport:3.3.1'热更新 //项目根目录 cl...

2018-07-27 12:11:17 568

原创 [AS3.0.1]关于ViewPager、FragmentPagerAdapter、Fragment源码研究

前言关于fragment的生命周期大家几乎都懂了。不过还是贴下图吧!这张图挺不错的比较直观。 fragment的恢复是从onDestroyView到onCreateView然后我们使用ViewPager的时候都知道,他会自动加载下一个fragment,以达到流畅的滑动,但是也会因为数据过多或者不断的刷新页面导致应用卡顿等问题。所以想要让fragment不提前加载,查了下百度,大部...

2018-07-18 15:09:29 282

原创 从设置Android透明状态栏和深色模式了解Activity的结构View

前言开始,想写一个设置状态栏的通用类,之后又需要结合小米和6.0之后状态栏字体变为黑色等,就找了些资料。 一下子就实现了功能,觉得也挺快的。然后做了一些就想了解一下一个Activity的布局到底有那些view,因为,我们对一些没有放出接口的方法,只能用反射才能获取,然后再设置属性。所以想着就了解一下Activity的View布局做一个简单的状态栏设置通用类开始都是copy代码...

2018-06-14 16:58:19 1158

原创 [AS3.0.1]简单的标签流式布局

一个简单的标签流式布局效果如下图 使用代码如下 首先是依赖allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } }}dependencies { implementation 'com.g...

2018-05-30 15:07:37 347

原创 [AS3.0.1]自定义ViewGroup的学习,写一个FlowLayout布局

前言关于上篇的[AS3.0.1]自定义选项listview(标签流式布局)自定义view,是使用了一个很简单是计算得来的,这样会导致使用了之后,创建多个LinearLayout,并且随着越来越多的参数可能会导致绘制卡顿。所以我查了叫标签流式布局之后自己写了个新的。在学习的时候也顺便学习了下,自定义viewgroup的使用。自定义ViewGroup简单实现首先我这边创建一...

2018-05-28 16:11:41 360

原创 [AS3.0.1]自定义选项listview(标签流式布局)

一个自定义选项listview,超过实际宽度会自动换行。 可以先看下效果!效果展示使用如下xml布局&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;amp;gt;&amp;amp;lt;FrameLayout xmlns:android=&amp;quot;http://schemas.a

2018-05-22 12:10:52 1375

原创 获取手机全部图片

这边图和效果就用其中一栏展示了 具体就看下面代码了!获取手机全部图片想要展示呢第一步就需要先获取全部图片下面是获取全部图片的代码 我写了一个类,来获取全部的图片 PhotoAlbumUtils.javaimport android.content.Context;import android.database.Cursor;import android.n...

2018-04-10 15:08:07 2117

原创 Uri说明

关于android.net.Uri的说明。官方注释/** * Immutable URI reference. A URI reference includes a URI and a fragment, the * component of the URI following a '#'. Builds and parses URI references * which con...

2018-03-26 16:49:23 648

原创 [AS2.3.3]Bitmap学习日记

前言关于bitmap的学习。研究bitmap使用时,占用的内存和一些计算的原理,以及Bitmap优化相关内容Bitmap占用内存densityDpi、density说明以下摘自官方api /** * The logical density of the display. This is a scaling factor for the ...

2018-03-22 17:21:34 238

原创 [AS2.3.3]Zxing二维码的学习使用

前言Zxing二维码是谷歌官方提供的扫码方法。 百度查的很多第三方库都是很老的Zxing代码生成的扫码库。虽然都能用,但是也有很多扫码很慢或者方法过老的情况。没有更新新的版本!本篇就是探究一下扫码库和Zxing库的使用Zxing的使用首先说下,其实Zxing的二维码编码和解码的代码都写在了github项目的core文件夹内,其实我们只需要core内的代码就可以实现二维码的...

2018-03-21 16:45:40 1903

原创 [AS2.3.3]ViewSwitcher的使用

前言安卓控件TextSwitcher的使用(实现Textview的上下滚动) 这篇中说到ViewSwitcher的使用,这边算是对Switcher的具体说明使用类的效果展示使用如下 List&lt;String&gt; list = new ArrayList&lt;&gt;(); for (int i = 0; i &lt; 5; i++) ...

2018-03-15 11:13:26 249

原创 [AS2.3.3]WebView使用学习记录2

前言本篇是webview的下篇,主要对webview和网页的js交互处理webview学习记录上篇本篇的gif效果先贴下Android对网页Javascript的调用想让Android通过webview调用网页上面的Javascript其实很简单只要网页上面的Javascript方法名字就可以直接调用了在Android Api 19之前 webview调...

2018-03-14 15:53:47 374

原创 位操作说明

位操作 &lt;&lt; | &amp; ^ 的计算 算是一个记录x = 1 # 0001x = x &lt;&lt; 2 # 0001 =&gt; 0100print(x) # 4x = x &gt;&gt; 2 # 0100 =&gt; 0001print(x) # 1x = x | 2 # 0001 or 0010 =&gt; 0011...

2018-03-07 23:20:49 147

原创 Python3学习日记 类型讲解

自学Python3的日记 学习日记来自于《Python学习手册(第4版)》和 菜鸟教程关于组建python构建环境和运行,本篇就不讲了! 该学习日记使用的环境和工具为 Python 3.6 JetBrains PyCharm Community Edition 2017.3.3 x64数据类型数字类型有整数型 int、浮点数型 float、 复数型 comp...

2018-03-07 23:07:27 363

原创 [AS2.3.3]WebView使用学习记录1

前言关于webview其实很简单的使用也都会,经历一段时间的使用,发现自己都没有很系统的整合一样使用。本篇和之后的续篇就是用来记录从网上和使用webview的文章。WebView简介webview是官方提供的一个浏览网页控件。首先是继承于AbsoluteLayout,所以是可以在webview中直接加入新的控件的。再是webview当时有js漏洞问题,所以4.4版本官方...

2018-03-06 10:58:41 940

原创 pinyin4j的基础使用

pinyin4j是一个可以讲汉字转换为全拼的开源工具类。具体下载地址可以去官网下载 http://pinyin4j.sourceforge.net/本篇文章使用的是 pinyin4j-2.5.0.jar基础使用PinyinHelperpinyin4j的使用就是调用PinyinHelper帮助类,这边我们把PinyinHelper的方法都使用一遍String[] ...

2018-02-28 17:51:04 890

原创 安卓控件TextSwitcher的使用(实现Textview的上下滚动)

经常可以在app上面看到许多的上下滚动textview,是可以直接使用TextSwitcher直接实现的。 开始还写了个自定义view来实现,然后发现官方原来有(:з」∠)。控件还有ImageSwitcher和ViewSwitcher。TextSwitcher和ImageSwitcher都是继承于ViewSwitcher的,所以使用方法都一样只不过对象不一样罢了。效果只是稍微...

2018-02-22 17:34:17 13081 6

原创 [AS2.3.3]使用TabLayout+ViewPager实现滚动导航栏

滚动导航栏以前写过一个,使用RadioGroup+ViewPager来实现的。 而后在看来,觉得以前的写的好乱。想要重新整合一下,这边使用的新的方式来试下,就是TabLayout+ViewPager,由谷歌的官方控件来实现了。 上一篇底部导航栏的新整合也重新写了下,可以点击查看 我这边就写一个调用类来使用就好了!效果和使用效果 使用 List.BarTa

2018-02-02 17:36:19 372

原创 [AS2.3.3]高德地图使用学习记录

一篇来自自己学习官方文档的文章。使用的sdkAMap3DMap_5.7.0AMapNavi_5.6.0AMapSearch_5.7.0AMapLocation_3.7.0主要内容如下地图相关 创建显示地图 地图属性设置Marker相关 创建Marker显示在地图上 Marker操作绘画相关 绘制了线和圆poi相关 关键字搜索 周边检索 ID检索

2018-02-01 15:58:08 1089 1

原创 [设计模式]访问者模式

在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。意图主要将数据结构与数据操作分离。实现抽象访问者 //抽象访问者 public in

2018-01-25 10:52:22 179

原创 [设计模式]模板模式

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。实现实现如下 一个游戏抽象类,不同的游戏加载

2018-01-25 10:21:40 135

原创 [设计模式]策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。实现实现如下 按照不同的策略

2018-01-24 17:44:12 128

原创 [设计模式]状态模式

在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。意图允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。实现实现如下 判断一个Context的状态变化创建接口 publ

2018-01-24 11:36:19 134

头部+底部双导航demo

Android-实现顶部+底部双导航界面功能demo

2016-09-06

空空如也

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

TA关注的人

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