自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android反射1-基本反射技术

1.1基本反射技术反射包括以下技术:1、根据一个字符串得到一个类的对象。2、获取一个类的所有公用或私有、静态或实例的字段、方法、属性。3、对泛型类的反射。1.1.1 根据一个字符串得到一个类1.getClass通过一个对象,获取它的类型。类型用Class表示://通过getClass,每个Class都有这个函数String str = "abc";Class c1 = st...

2019-07-29 19:46:22 216

原创 Android 自定义注解处理器详解

文章目录1 新建 Java Library1.1 新建1.2 确定依赖关系2 创建自定义注解1 注解:Route2 注解 :Extra3 测试注解3 注解处理器3.1 新建RouteProcessor3.2 注册注解处理器34Annotation Processor是javac的一个工具,它用来在编译时扫描和处理注解。通过Annotation Processor可以获取到注解和被注解对象的相关信...

2019-07-25 09:48:45 2051

原创 Android开发效率提升十倍的利器-Gradle

Android开发效率提升十倍的利器-Gradle1 Gradle介绍1 语言和作用Gradle是一种自动化构建语言,是一种DSL(Domain Specific language),目前是Android的默认构建工具,还一个编程框架。Gradle特性语言:Groovy,先将其编译成java类字节码,然后通过JVM来执行这个java类。支持环境Android S...

2019-07-23 22:07:16 540

原创 Android 面向对象式数据库架构设计2-分库

Android 面向对象式数据库架构设计1文章目录1 User2 UserDao3 BaseDaoSubFactory4 PrivateDataBaseEnums5 UserImg6 PhotoDao7 使用在多用户的情况下,我们可以通过分库的方式,让不同的用户持有自己的一个数据库文件,类似QQ。1 UserQQ中只能有一个用户在线,所以需要一个参数来记录用户的状态。在改变下User中添...

2019-07-23 17:50:08 208

原创 Android 面向对象式数据库架构设计1

文章目录1 BaseDaoFactory2 IBaseDao3 两个注解4 javabean-User5 BaseDao5.1 实现IBaseDao接口5.2 创建表生成创建表的sql语句initCacheMap5.3 实现插入5.4 更新5.5 删除5.5 查询6 BaseDao的扩展greenDao的流程图:下面代码展示了数据库的使用: BaseDao baseDao = BaseDa...

2019-07-23 16:37:47 209

原创 Android greenDa源码分析

greenDao源码架构图:greenDao流程图:在自定义的Application中对greenDao进行初始化操作,如下:public class App extends Application { private DaoSession daoSession; @Override public void onCreate() { super.o...

2019-07-22 16:30:05 236

原创 Android greenDao简介和使用

Github地址:greenDAO1 简介1.1 ORM框架介绍对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间。映射的元数据,将程序中的对象自动持久化到关系数据库中。java中的类------------------------> 表java里面的类属性---------------> 字段java里面的类...

2019-07-22 11:20:14 209

原创 Android 动态式换肤框架5-字体换肤

可以先看前两篇文章:Android 动态式换肤框架1-setContentView源码分析:https://blog.csdn.net/hongxue8888/article/details/95494195Android 动态式换肤框架2-实现背景替换:https://blog.csdn.net/hongxue8888/article/details/95390639Android 动...

2019-07-19 13:58:30 751

原创 Android 动态式换肤框架4-自定义控件换肤

1 自定义实现SkinViewSupport接口public interface SkinViewSupport { void applySkin();}所有需要换肤的自定义View都需要实现SkinViewSupport接口。2 app的资源和布局自定义一个CircleView实现SkinViewSupport接口。在attrs.xml文件中添加自定义属性:<re...

2019-07-19 13:48:42 637

原创 Android 动态式换肤框架3-Fragment、状态栏换肤

可以先看前两篇文章:Android 动态式换肤框架1-setContentView源码分析:https://blog.csdn.net/hongxue8888/article/details/95494195Android 动态式换肤框架2-实现背景替换:https://blog.csdn.net/hongxue8888/article/details/95390639文章目录1 Fra...

2019-07-17 17:52:18 793

原创 Google为什么以Fullter作为原生突破口

前言在 Google I/O ’17 上,Google 向我们介绍了 Flutter —— ⼀款新的⽤于创建移动应⽤的开源库。正如你所想的那样,Flutter 是能够帮助创建拥有漂亮 UI 界⾯的跨平台移动应⽤解决⽅案。Flutter 的界⾯设计与 web 应⽤类似,因此,你能够从 Flutter 上找到像使⽤ HTML/CSS 那样熟悉的感觉。Google 表⽰:Flutter 将会帮你...

2019-07-17 16:24:57 1150

原创 Android 动态式换肤框架2-实现背景替换

1、QQ,美团,网易云 动态式换肤架构分析2、手写网易云可动态替换的换肤框架(字体,状态栏换肤,自定义控件,fragment换肤))换肤模式:内置换肤在Apk包中存在多种资源(图片、颜色值)用于换肤时候切换。自由度低,apk文件大一般用于没有其他需求的日间/夜间模式app高德地图动态换肤通过运行时动态加载皮肤包。网易云音乐...

2019-07-16 17:24:41 1052 1

原创 Android 贝赛尔曲线实现QQ红点拖动

参考:https://blog.csdn.net/harvic880925/article/details/51615221https://study.163.com/course/courseLearn.htm?courseId=1209399928#/learn/live?lessonId=1279356094&courseId=1209399928

2019-07-15 15:48:53 286

原创 Android 一阶和二阶贝塞尔曲线

参考:https://baike.baidu.com/item/贝塞尔曲线/1091769?fr=aladdin1 简介贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是...

2019-07-14 22:40:24 1381

原创 Android WebP压缩

文章目录前言WebP探究WebP兼容性WebP命令行工具安装WebP优势WebP劣势解码速度会提高编码也会提高前言不管是PC还是移动端,图片一直是流量大头。不管是在京东首页还是频道页,商品图片以及广告图片占据了大部分的流量。评价网站性能好坏的一个主要指标就是页面响应时间,也就是说用户打开完整页面的时间。基于JPEG还有PNG图片格式的网页,其图片资源加载往往都占据了页面耗时的主要部分,那...

2019-07-13 19:42:22 518

原创 Android 动态式换肤框架1-setContentView源码分析

文章目录1 AppCompatActivity.java2 AppCompatDelegateImpl.java3 LayoutInflater.java这里分析AppCompatActivity的setContentView方法,Activity的setContentView方法会不同。1 AppCompatActivity.java/android.support.v7.app.AppC...

2019-07-11 17:07:23 542

原创 Flutter-刷新和加载更多控件

import 'dart:math';import 'package:flutter/material.dart';void main() => runApp(MaterialApp( home: HomePage(), ));class HomePage extends StatefulWidget { @override _HomePageStat...

2019-07-10 22:33:16 1990

原创 Flutter 动画篇

文章目录1 概述2 Animation3 AnimationController4 Curve5 Tween1 概述Flutter中的动画分为补间(Tween)动画和基于物理(Physics-based)的动画。在补间动画中,定义了开始点和结束点、时间线以及定义转换时间和速度的曲线,然后由框架自动计算如何从开始点过渡到结束点。在基于物理的动画(遵循物理学定律)中,运动被模拟为与真实世界...

2019-07-10 22:30:46 2989

原创 Flutter 常用组件-7 表单组件

表单是一个包含表单元素的区域。表单元素允许用户输入内容,比如文本域,下拉列表,单选框,复选框等。常见应用场景有:登录、注册、输入信息等。表单里有两个重要的组件,一个是Form组件,用来左整个表单提交使用的;另一个是TextFormField组件,用来做用户输入的。Form组件常用属性属性名类型说明keyKey组件在整个Widget树中的key值autovalid...

2019-07-10 08:11:56 425

原创 Flutter 常用组件-6 网格布局组件

网格布局组件GridView可以实现多行多列布局的应用场景。使用GridView创建网格列表有多种方式:GridView.count:通过单行展示个数创建GridView.extent:通过最大宽度创建常用属性属性名类型默认值说明scrollDirectionAxixAxis.vertical滚动的方向,Axis.vertical为垂直方向,是默认值...

2019-07-10 08:07:37 601

原创 Flutter 常用组件-5 列表控件

列表是最常见的需求。在Flutter中,用ListView来显示列表项,支持垂直和水平方向展示,通过一个属性我们就可以控制其方向,列表有以下几类:水平的列表垂直的列表数据量非常大的列表矩阵式的列表1 基础列表组件基础列表组件为ListView组件。常用属性属性名类型默认值说明scrollDirectionAxixAxis.vertical列表的...

2019-07-10 07:58:40 3021

原创 Flutter 常用组件-4 图标及按钮组件

文章目录1 图标组件常用属性2 图标按钮组件常用属性3 凸起按钮组件常用属性4 示例1 图标组件图标组件Icon展示图标的组件,该组件不可交互,要实现交互图标,可以考虑使用IconButton组件。图标相关组件有以下几个:IconButton:可交互的IconIcons:框架自带Icon集合IconTheme:Icon主题ImageIcon:通过AssetImages或者其他图片显...

2019-07-09 22:58:03 1497

原创 Flutter 常用组件-3 文本组件

文章目录1 Text2 RichText3 Text示例1 Text文本组件Text负责显示文本和定义显示样式。常用属性属性名类型默认值说明dataString数据为要显示的文本maxLinesint0文本显示的最大行数styleTextStylenull文本样式,可定义文本的字体大小、颜色、粗细等textAlignTextAl...

2019-07-09 22:48:40 329

原创 Flutter 常用组件-1 容器组件

容器组件Container包含一个子widget,自身具备alignment、padding等属性,方便布局过程中摆放child。常用属性属性名类型说明keykeyContainer唯一标识符,用于查找更新alignmentAlignmentGeometry控制child的对齐方式,如果Container或者Container的父节点尺寸大于child的尺寸...

2019-07-09 22:25:07 381 1

原创 Flutter 常用组件-2 图片组件

文章目录1 图片组件2 图片组件Image示例1 图片组件图标 https://www.iconfont.cn/头像 https://www.randomuser.me/photos图片组件Image显示图像的组件,有多种构造函数:new Image:从ImageProvider获取图像new Image.asset:加载资源图片new Image.file:加载本地图...

2019-07-09 22:16:16 290

原创 Flutter 自定义View

文章目录1 概述2 画布Canvas3 画笔Paint1 概述与Flutter自带Widget一样,自定义view也会被Skia引擎编译成原生代码,性能是一样的。2 画布Canvas画布就好比是教室里的黑板,画布是一个矩形区域,可以在上面任意涂鸦。我们可以画点、线、路径、矩形、圆形、图像等。与画布相关的方法主要有:drawLine:画直线drawCircle:画圆drawOval...

2019-07-09 17:08:21 579

原创 Flutter 手势篇

文章目录1 概述2 GestureDetector3 Dissmissible1 概述Flutter中的手势分为两层,第一层是触摸原始指针(Pointer)事件,描述了屏幕上指针(如触摸、鼠标和触控笔)的位置和移动。指针(Pointer)代表用户与屏幕交互的原始数据,有四种事件类型:PointerDownEvent: 指针接触到屏幕PointerMoveEvent: 指针从屏幕上的一个...

2019-07-09 17:07:13 2130

原创 Flutter 页面布局

文章目录1 布局及装饰组件说明2 基础布局处理2.1 Container(容器布局)2.2 Center(居中布局)2.3 Padding(填充布局)2.4 Align(对齐布局)2.5 Row(水平布局)2.6 Column(垂直布局)2.7 FittedBox(缩放布局)2.8 Stack/Alignment2.9 Stack/Positioned2.10 IndexedStack2.11 O...

2019-07-09 17:02:33 1252

原创 Flutter Cupertino风格组件

文章目录1. 概述2 CupertinoActivityIndicator组件3 CupertinoAlertDialog4 CupertinoButton5 Cupertino导航组件5.1 CupertinoTabScaffold5.2 CupertinoTabBar5.3 CupertinoTabView5.4 CupertinoPageScaffold5.5 CupertinoNaviga...

2019-07-09 16:58:39 5762

原创 Flutter Material Design风格组件

文章目录1. 概述2. App结构和导航组件2.1 MaterialApp(应用组件)2.1.1 设置主页2.1.2 路由处理2.1.3 自定义主题2.2 Scaffold(脚手架组件)2.3 AppBar(应用按钮组件)2.4 BottomNavigatorBar(底部导航栏)2.5 TabBar(水平选项卡及视图组件)2.6 Drawer(抽屉组件)3. 按钮和提示组件3.1 Floating...

2019-07-09 16:53:32 617

原创 Flutter Widget和Element

文章目录1 Widget2 Element1 Widget/// Describes the configuration for an [Element]./// 为Element提供配置信息////// Widgets are the central class hierarchy in the Flutter framework. A widget/// is an immuta...

2019-07-09 16:42:57 603

原创 Flutter 常用组件-总览

文章目录1. 重要概念2. 容器组件3. 图片组件1. 重要概念一切皆组件。flutter所有的元素都是由组件组成。比如一个布局元素、一个动画、一个装饰效果等。2. 容器组件容器组件Container包含一个子widget,自身具备alignment、padding等属性,方便布局过程中摆放child。常用属性属性名类型说明keykeyContainer唯...

2019-07-09 16:37:24 1149

原创 Flutter基础篇

文章目录1 基础介绍2 Container示例3 Image示例1 基础介绍图 Flutter默认demo图 视图树创建widget树。调用runApp(rootWidget),将rootWidget传给rootElement,做为rootElement的子节点,生成Element树,由Element树生成Render树,Render树的根是一个RenderView。...

2019-07-09 16:17:30 181

原创 Dart语言详解-13 隔离、元数据、注释

文章目录1 隔离-Isolates2 元数据(注解)2.1 元数据(注解)-@deprecated2.2 元数据(注解)-@override2.3 元数据(注解)-自定义3 注释3.1 注释-单行注释3.2 注释-多行注释3.3 注释-文档注释1 隔离-Isolates所有Dart代码都在隔离区内运行,而不是线程。每个隔离区都有自己的内存堆,确保不会从任何其他隔离区访问隔离区的状态。2...

2019-07-09 13:25:29 1184

原创 Dart语言详解-12 生成器

文章目录1 生成器-同步生成器2 生成器-异步生成器3 生成器-递归生成器1 生成器-同步生成器void main(){ //同步生成器 //调用getSyncGenerator立即返回Iterable var it = getSyncGenerator(5).iterator; // 调用moveNext方法时getSyncGenerator才开始执行 while ...

2019-07-09 13:23:40 586

原创 Dart语言详解-11 异步

1 异步-async和awaitimport 'dart:async';main() async { // async wait getName1(); getName2(); getName3();}// async waitFuture<void> getName1() async {// getStr1();//可以不用await打断点看下awa...

2019-07-09 13:22:31 296

原创 Dart语言详解-10 库

文章目录1 库-使用核心库2 库-载入第三方库3 库-载入文件4 库-指定库前缀5 库-选择性载入6 库-延迟载入7 库-自定义库1 库-使用核心库使用import关键字来载入库:import "dart:math";void main() { print(sqrt(4));//开平方 2.0}2 库-载入第三方库https://pub.flutter-io.cn/1.编写...

2019-07-09 13:21:10 612

原创 Dart语言详解-9 泛型

文章目录1 泛型-泛型函数2 泛型-构造函数泛型3 泛型-泛型限制4 泛型-与java区别先看一个List和Map的例子:void main(){ //使用泛型,很多的容器对象,在创建对象时都可以定义泛型类型,跟java一样 var list = List<String>(); list.add('aaa'); list.add('bbb'); list.ad...

2019-07-09 13:19:45 604

原创 Dart语言详解-8 Mixin

8 Mixin可以理解为多进程。main() { Bicycle().transport(); Motorcycle().transport(); Car().transport(); WoodenCar().transport(); //四轮木制脚踏车}//交通工具类,拥有运输功能abstract class Transportation { //运输功能 ...

2019-07-09 13:17:49 308

原创 Dart语言详解-7 类

文章目录1 类-构造函数2 类-命名构造函数3 类-重定向构造函数4 类-初始化列表5 类-调用超类构造函数6 类-常量构造函数7 类-工厂构造函数8 类-Setter和Getter9 类-抽象类10 类-可调用类1 类-构造函数//java中写法class Point { double x; double y; Point(int x, int y) { this....

2019-07-09 13:16:57 401

HxSkin.zip

Android 动态换肤实现,模仿网易云音乐,简单易懂,值得学习!

2019-07-16

空空如也

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

TA关注的人

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