自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肥宅

指出错误我会非常感谢

  • 博客(18)
  • 收藏
  • 关注

原创 最全面的Kotlin协程: Coroutine/Channel/Flow 以及实际应用

协程这个概念在1958年就开始出现, 比线程更早, 目前很多语言开始原生支, Java没有原生协程但是可以大型公司都自己或者使用第三方库来支持协程编程, 但是Kotlin原生支持协程.我认为协程的核心就是一个词: 作用域, 理解什么是作用域就理解协程了什么是协程协程是协作式任务, 线程是抢占式任务, 本质上两者都属于并发Kotlin协程就是线程库不是协程? 内部代码用的线程池?最知名的协程语言Go内部也是维护了线程, 他也不是协程了?协程只是方便开发者处理异步, 线程才能提升性能效率, 两者本

2021-07-04 20:52:31 1684 2

原创 DataBinding最详细使用

Google开源的数据绑定框架, 实现了MVVM架构, 增强了xml的功能, 大幅度精简了java代码量, 并且代码可读性更高, 对性能的影响基本为零. DataBinding会自动在build目录下生成类. 因为被集成进AndroidStudio所以不需要你手动编译会实时编译, 并且支持大部分代码补全.启用DataBindingandroid{ dataBinding {...

2018-08-29 11:30:14 29043

原创 GridLayout

GridLayoutGridLayout Attributesandroid:alignmentMode 排列模式alignBounds 对齐边界alignMargins 对齐margin如果子视图存在margin(边距), 可以控制是否对齐margin还是对齐子视图的边界. padding无效android:columnCount 列数android:rowCount 行数超过行数或

2017-08-10 12:57:22 937

原创 Retrofit

我首先说句话, 我不是针对某个文章, 我是说所有的retrofit教程都没有我写的好. Retrofit 是Square公司推出的简化HTTP请求的第三方库, 是对其公司另一网络请求库OkHttp的封装实现了对响应数据解析的封装, 可以不需要自己去解析网络请求回来的数据. 使用方法采用注解的形式.想要了解Retrofit的使用, 需要先了解Okhttp的用法. 因为Retrofit是基于Okhttp

2017-08-10 12:56:01 366

原创 Android设置界面_Preference

AndroidPreference基本上每个应用都有一个设置(首选项)界面, Google其实提供了默认的设置界面实现方式. 介绍下Preference该类拥有多个直接或间接的子类, 这些子类可以组成不同内容的首选项界面. 和一般界面不同的关键类:Preference 普通 RingtonePreference 铃声CheckBoxPreference 选择按钮SwitchPreferen

2017-08-10 12:53:06 1711

原创 Constraintlayout

Constraintlayout译为”约束布局“, 是Google在AndroidStudio2.2引入的布局. 在AndroidStudio 2.3直接替代了之前的Activity创建的默认布局RelativeLayout. 可以看到Google对其重视性.特点配合布局编辑器,提升效率(鼠标创建布局)更好的屏幕适配(百分比适配屏幕和控件)解决布局嵌套过多引起的性能问题(只需要一个根布局就能解

2017-08-10 12:50:39 3085

原创 EventBus_事件传递框架

EventBus由greenRobot公司开发, 目的是简化开发中的事件传递. 优点注释没有使用反射, 在编译时完成注解解析不影响程序性能代码简单, 使用注解简化了代码量,代码逻辑更加清晰简化组件通讯, 在不同的activity等组件之间方便的传递事件优化线程传递, 在不同的线程处理事件(例如ui或者耗时操作)不再需要考虑线程切换使用AsyncTask之类的方法演示EventBus由三部分

2017-01-05 19:19:55 449

原创 OkHttp

OkHttp   当前最火Http框架, 由,Square公司推出, OKHttp的项目地址:https://github.com/square/okhttp特点创建连接池缓存响应数据来减少重复的网络请求基于Http的文件上传文件下载加载图片支持SPDY, Google开发的基于TCP的应用层协议IP地址自动切换GZip压缩减少传输的数据包大小, 文本压缩率极大请求OkHttp必须创

2017-01-03 16:16:17 705

原创 Android创建菜单

菜单android实现菜单 一般是现在menu文件夹中创建xml文件, 然后在activity中调用XML菜单文件Menu是Android定义的菜单XML布局文件, 指定在menu文件下根节点必须是子节点分为三种:item单一条目, 只能包含子节点<item android:title="更多"> <menu> <item andr

2016-12-18 17:08:26 723

原创 NavigationView_分离视图

NavigationView这是在 Android 6.0 推出的新控件, 目的是配合DrawerLayout 方便的实现 Google的Material Design设计规范, 简单的说就是将一个菜单和一个布局组成一个新的布局NavigationView.演示添加依赖这是Google提供的design包下的控件, 后面的版本号可以建议跟随最新的sdk版本号compile 'com.android.

2016-12-18 17:07:09 680

原创 Dagger2依赖注入框架

Dagger2Dragger2是Android上的依赖注入框架, 是属于Dragger1的分支项目, 有Google开发维护, 而Dragger1是Square公司受到Google的轻量依赖注入框架Guice的启发创建的依赖注入框架. 后来Google收到Auto项目的启发开发了Dragger2, Auto就没必要介绍了官网: [https://github.com/google/dagger][h

2016-12-18 17:04:49 931

原创 Android 注解入门

注解 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释. 注解分类标示注解: 成员个数为0单值注解: 成员个数为1完整注解: 成员个数大于1系统注解: 系统提供的注解元注解: 为注解所注解系统注解@overr

2016-12-06 11:36:33 913

原创 反射

反射可以通过反射获取应用的任意类和类中的成员, 并且可以执行和设置其值, 需要注意的是反射影响性能, 因为反射是存在于程序运行中才会加载类, 会产生运行堵塞.这也就是动态加载类动态加载类和静态加载类动态加载: 即通过字节码加载类, 例Class.forName("xx"), 编译时期类可以不存在, 在运行时期存在即可静态加载: 即new Clazz()或Clazz.method()等方式创建对象

2016-12-06 09:53:38 262

原创 Actionbar

ActionbarActionbar是Google在android3.0推出的控件, 用于取代传统菜单键, 将菜单显示在顶栏, 虽然在Android5.0 后Google推出Toolbar来取代Actionbar. 不过系统默认还是使用的Actionbar作为应用的标题栏// 得到系统的ActionBarActionBar supportActionBar = getSupportActionBa

2016-12-05 21:59:31 372

原创 Toolbar_学会使用

Toolbar​ Toolbar是android5.0 后Google推出的用于替代actionbar控件的新的标题栏控件, 同时提供兼容包android.support.v7.widget.Toolbar 演示在activity_main.xml布局文件中添加控件<android.support.v7.widget.Toolbar android:id="@+id/toolbar"

2016-12-05 21:58:01 753

原创 设备管理器

声明设备管理器Javapublic class SuperAdmin extends DeviceAdminReceiver {}配置文件 android:name=".SuperAdmin" android:label="@string/sample_device_admin"    // 设备管理器名字 and

2016-10-19 15:28:31 827

原创 四大组件の属性 android:exported

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性android:exported="true" | "false"默认值exported的默认值在无filter时是false, 只能在该应用内部开启activityexported的默认值在

2016-10-19 15:25:36 376

原创 浮点型数据类型存储方式

float类型 在计算机中用4个字节存储。遵循IEEE-754格式标准:一个浮点数有2部分组成:底数m和指数e指数部分 占用8bit的二进制数,可表示数值范围为0-255 但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数 所以,float类型的指数可从-126到128底数部分 使用二进制数来表示此浮点数的实际值 底数部分实际是占用24bit的一个值,但是最

2016-08-17 19:36:14 948

空空如也

空空如也

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

TA关注的人

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