自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Kotlin空指针安全

1.可为null类型在Kotlin中通常我们直接定义的类型是不可以为null的,如下:fun main() { var s = "abc" s = null //编译错误:null can not be a value of a non-null type String var i = 1 i = null //编译错误:null can not be a...

2019-09-27 21:22:07 233

原创 Kotlin基础语法

Kotlin基础语法1.定义包名、导包当我们新建一个Kotlin文件时(文件以kt为后缀),我们首先需要声明包名和导包,使用的方式和Java一样,包名声明需要在第一行使用关键字package xxx,需要注意的是包名不需要和文件的路径一致,导入别的地方的类使用关键字import,如:package com.xinxue.kotlindemoimport android.os.Bundle...

2019-09-26 21:26:53 215

原创 Kotlin流程控制语句

Kotlin流程控制语句分支语句 if、when循环语句 for、while跳转语句 return、break、continue、throw一.if表达式在Kotlin中,if是一个表达式,即它会返回一个值.if作为代码块时,最后一行作为返回值可以这样写表达式fun max(x: Int, y: Int): Int { if (x > y) { retu...

2019-09-26 19:49:10 184

原创 Android 动画设置

Android动画的详解Android动画分为三种 补间动画,帧动画,属性动画补间动画首先我们要在res文件夹下创建一个文件夹命名必须为anim来存放动画xml文件在xml文件中写动画的类型补间动画的类型有 渐变 位移 缩放 旋转渐变代码如下<alpha xmlns:android="http://schemas.android.com/apk/res/android" ...

2019-08-08 22:21:25 356

原创 RXJava基本原理

什么是RXjavaRxJava是近两年来越来越流行的一个异步开发框架,使用起来十分简单方便,功能保罗万象,十分强大首先以代码的执行顺序来描述RXJava,回答几个问题RxJava框架内部的主干逻辑是怎样的?RxJava究竟是如何实现一句话线程切换的?多次调用subscribeOn()或observeOn()切换线程会有什么效果?回答了这几个问题之后,我们大概就能对RxJava的基本原理...

2019-08-07 17:17:48 873

原创 MVP模式

Android MVP PatternAndroid MVP 模式 是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把Activity的View和Controller抽离出来就变成了View和P...

2019-08-06 22:02:09 172

原创 ButterKnife和dagger2

ButterKnife注于Android系统的View注入框架,当一个布局十分复杂时,需要引入执行大量的findViewById代码来找到View的对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的...

2019-08-05 21:20:57 421

原创 Calces组件化及Module传值

功能介绍1.自动组件化构建插件根据Gradle配置,自动实现Android组件的构建模式(application or library)可配置多个依赖不同组件的App自动要依赖需要的组件自动配置组件独立运行2.屏幕适配插件根据Gradle配置,自动生成你需要的smallestWidth适配文件自动压缩位图快速开始自动组件化构建插件1.导入依赖库 在项目的build.gra...

2019-08-05 20:34:46 250

原创 Android组件化

一.组件化首先新建项目 正常创建项目需要使用几个组件就创建几个当组件被整合到同一个app中的时候,多个组件的资源会产生冲突,因此我们在资源文件命名的时候通常会带上组件名作为前缀组件分为三种:一种是基础组件,提供各种方法供别的组件使用。另一种是可单独运行的独立组件。最后一种是打包时包含其他组件的。三种组件build.gradle的区别基础组件组件头apply plugin:...

2019-08-02 21:56:41 111

原创 xml解析

xml解析一.xml介绍:1.XML:Extensible Markup Language,即可扩展标记语言. 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据.举例如下:<?xml version="1.0" enco...

2019-07-18 21:59:01 200

原创 蓝牙设备

一.蓝牙的介绍:是以中无限技术标准,可以实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,主要掌握这几项技能:1.添加权限: <!-- 用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS...

2019-07-17 08:12:13 365

原创 slidemenu实现流程以及常用的方法+surfaceview播放视频+surfaceview发送弹幕整理代码

SlideMenu实现 第三方 需要导入moudle(slidemenu)SlideMenu实现抽屉1.SlideMenu的属性:设置模式: setMode(SlidingMenu.LEFT);设置触摸屏幕的模式:setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//TOUCHMODE_FULLSCREEN全屏;TOUCHMODE_M...

2019-07-09 21:46:45 187

原创 Recyclerview基础+接口点击事件+多布局+随机值瀑布流

标准的适配器Recyclerview基础一.效果:线性/网络/瀑布流二.重要的方法三.RecyclerView的使用四.代码五.实现多布局只给出适配器代码:微信通讯录页面六.随机高度瀑布流1.适配器代码:2.item行布局ImageView添加的属性七.XRecyclerView的使用:上拉加载 下拉刷新1.XRecyclerView和RecyclerView的区别:2.XRecyclerView...

2019-07-04 20:34:39 258

原创 Fragment基础知识

Fragment一.Fragment介绍Fragment,英文碎片的意思,早期应用在平板设计中二.Fragment应用

2019-06-20 21:43:07 169

原创 EventBus和Otto第三方

EventBus一.EventBus介绍EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思)。

2019-06-19 21:40:02 166

原创 ListView多布局

多布局什么是多布局?图例:多布局就是实现像qq或者微信这样的聊天页面首先要写两个布局左布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="ma...

2019-06-19 21:30:14 859

原创 BroadCastReceiver广播

BroadCastReceiver一.BroadCastReceiver介绍:BroadCastReceiver广播接受者,安卓四大组件之一广播三要素:(1)广播发送者 : 发送广播(2)广播接收者(调频): 用于接收广播(3)要处理的事情 :处理广播的相关信息, Intent有图对象广播的使用场景:(1)同一APP下多个组件之间传递数据(Activity...

2019-06-18 21:06:09 1067

原创 ContentProviderneir内容提供者

A:ContentProvider一.ContentProvider介绍:1.ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能。2.技能get点:(1)访问系统自带的内容提供者(******)手机联系人/音频/视频/图库/短信/系统设置(2)自己写内容提供者3.注意:Contentprovider3个重要的点Contentpr...

2019-06-18 20:32:25 182

原创 SQLite数据操作

SQLite数据库一.SQLite数据库介绍1.Android 系统中集成的轻量级的数据库2.特点:轻量级 只用一个动态的库, 是以单个文件的形式进行存取跨平台 支持多个操作系统零配置 无需安装, 直接使用嵌入式 内嵌到手机中3.在程序的内部可以通过数据库的名称访问, 其他应用不能访问4.路径: data/data/应用程序包名/database/ ****.db5...

2019-06-18 16:20:18 223

原创 Bitmap三级缓存+二次采样

Bitmap三级缓存一.为什么使用Bitmap三级缓存?1.没有缓存的弊端:费流量,加载速度慢2.加入缓存的优点:省流量,支持离线浏览二.原理思路:1.从内存获取图片,如果存在,则显示;如果不存在,则从SD卡中获取图片2.从SD卡中获取图片,如果文件中存在,显示,并且添加到内存中,否则开启网络下载图片三.代码(1).添加读写SD卡的权限和网络权限<uses-permis...

2019-06-17 14:07:22 324

原创 editetext监听+shape圆角

EditText监听1.editText.addTextChangedListener(new EditChangedListener());可以监听EditText中的内容变化可以用来配合按钮的点击效果代码:editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTe...

2019-06-11 21:30:55 143

原创 安卓5大存储

安卓5大存储一.sharePrefrences共享参数存储1.sp介绍 保存少量的数据,且这些数据的格式非常简单。存储5种原始数据类型:boolean,float,int,long,String 比如应用程序的各种配置信息(如果是否打开音效、是否使用震动效果、)...

2019-06-11 21:21:17 742

原创 通知栏

通知栏1.普通通知栏代码//普通通知@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)private void bt_custom(){ //TODO 1:通知管理者 --- 老师 NotificationManager manager = (NotificationManager) getSystemService(NOTIF...

2019-06-10 21:22:49 193

原创 PopupWindow弹出窗体

PopupWindow 显示方法显示方法显示位置showAsDropDown(View anchor, int xoff, int yoff)显示在anchor控件的下方showAtLocation(View parent, int gravity, int x, int y)显示在parent控件的某个位置一.PopupWindow介绍PopupWindo...

2019-06-10 00:46:33 294

原创 Menu菜单

常用的菜单菜单显示菜单事件监听系统菜单onCreateOptionsMenuonOptionsltemSelected上下文菜单AlertDialog.Builder()setSingleChoiceltems()1.系统菜单OptionsMenu...

2019-06-08 22:41:08 135

转载 对话框

一.常用的对话框对话框类特殊普通AlertDialog.Builder()单选AlertDialog.Builder()setSingleChoiceItems()多选AlertDialog.Builder()setMultiChoiceItems()日期DatePickerDialognew DatePickerDialog(context,Da...

2019-06-05 22:58:30 153

转载 selector选择器的使用

切换selector选择器的使用selector选择器一、效果点击底部实现切换,底部图片和颜色跟着改变二.如何创建选择器1.创建文字颜色改变选择器:selector1.xml在drawable下面直接生成selector1.xml文件,编写xml文件2.创建图片改变选择器selector2.xmlchat1和chat2图标直接调用系统提供的,步骤如下:(1)drawab...

2019-06-05 16:45:33 1869

空空如也

空空如也

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

TA关注的人

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