自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不学习傻了吧

纸上得来终觉浅,绝知此事要躬行。

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

原创 AndroidStudio4.x版本More than one file was found with OS independent

最近把Android Studio从3.4.x 升级到4.x.x,Gradle Plugin从3.4.x 升级到4.0.1,Gradle从4.1升级到6.1.1,导致原来使用Cmake构建的项目编译失败了。下面我们看看原因是啥:自动打包 CMake 使用的预构建依赖项早期版本的 Android Gradle 插件要求您使用 jniLibs 明确打包您的 CMake 外部原生 build 使用的所有预构建库。您的库可能位于模块的 src/main/jniLibs 目录中,也可能位于在 build.grad

2020-11-10 15:51:34 50

原创 H5开发学习摘要

网页三兄弟:HTML、CSS、JavaScript由上图可以发现 HTML 负责把网页的结构构建出来,所以看起来都方方正正的不是很美观,而 CSS 负责把外貌给显示出来,让网页的外貌看起来美观一些,最后 JavaScript 负责去控制网页里面的内容以及使用者的操作行为。HTMLHTML语法什么是 HTMLHTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup

2020-08-22 14:17:57 103 1

原创 Flutter高效率开发经验

通用/共性良好的命名是关键;MaterialApp中配置全局主题(文字、颜色、装饰器、Style、Theme);配置通用的工具、常量、色值、TextStyle、尺寸;梳理通用/共性UI(出错、无数据、下拉刷新、普通列表、Tab列表);梳理通用/共性Widget,Widget的值尽量用final的属性,而不是创建对象;列表的Item尽量使用明确的尺寸,而不是根据Item的内容计算,这样...

2020-03-06 19:43:09 1975

原创 Flutter 竖线 垂直分割线

主要是利用DecoratedBox的decoration属性:Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ FlatButton( ...

2020-02-26 21:21:07 4374

原创 Flutter AppBar设置渐变色背景

主要是通过AppBar的属性:弹性空间flexibleSpaceclass GradientPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('G...

2020-02-22 16:14:38 2417

原创 Android架构组件-Paging库的使用

Paging 库可以使我们在应用程序的 RecyclerView 中轻松做到逐渐加载数据。大多数应用程序都是从包含大量条目的数据源中获取数据,但一次只显示一小部分数据。Paging 库可帮助我们的应用程序观察并显示该数据的合理子集,这个功能有几个优点:数据请求会消耗更少的网络带宽和更少的系统资源。有计量或小数据计划的用户会喜欢这种关注数据的应用程序。即使在数据更新和刷新期间,应用程...

2018-09-02 11:58:52 3384

原创 Android架构组件-Lifecycle

生命周期LifecycleOwner实现自定义LifecycleOwner生命周期感知组件的最佳实践生命周期感知组件的用例处理停止事件生命周期感知组件执行操作以响应另一个组件(例如活动和片段)的生命周期状态的更改。这些组件可帮助您生成更易于组织且通常更轻量级的代码,这些代码更易于维护。一种常见的模式是在活动和片段的生命周期方法中实现依赖组件的操作。但是,这种模式导...

2018-07-30 22:09:07 1714

原创 Android架构组件- Room数据库的使用

使用Room将数据保存在本地数据库中使用Room实体定义数据使用主键注释索引和唯一性定义对象之间的关系创建嵌套对象使用Room DAO访问数据为方便起见定义方法插更新删除查询信息简单的查询将参数传递给查询返回列的子集传递一组参数可观察的查询使用RxJava进行响应性查询直接光标访问查询多个表迁移Room数据库测试迁移导出模式测试...

2018-07-24 21:34:23 6645

原创 DataBinding使用指南(五):绑定布局视图到架构组件

DataBinding使用指南(一):布局和binding表达式DataBinding使用指南(二):使用可观察的数据对象DataBinding使用指南(三):生成binding类DataBinding使用指南(四):BindingAdapterDataBinding使用指南(五):将布局视图绑定到架构组件版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: ...

2018-06-04 23:30:30 4581

原创 DataBinding使用指南(四):BindingAdapter

DataBinding使用指南(一):布局和binding表达式DataBinding使用指南(二):使用可观察的数据对象DataBinding使用指南(三):生成binding类版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/80352385,本文出自:【张华洋的博...

2018-06-02 16:57:18 20797 1

原创 Android架构组件-WorkManager

使用WorkManager安排任务WorkManager API可以轻松指定可延迟的异步任务以及何时运行,这些API可让您创建任务并将其交给WorkManager,以便立即或在适当的时间运行。例如,应用程序可能需要不时从网络下载新资源。...

2018-05-21 20:41:52 18102 3

原创 DataBinding使用指南(三):生成的binding类

DataBinding使用指南(一):布局和绑定表达式DataBinding使用指南(二):使用可观察的数据对象版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/80343247,本文出自:【张华洋的博客】 DataBinding库会生成用于访问布局的变量和Vie...

2018-05-20 00:40:36 6821

原创 DataBinding使用指南(二):使用可观察的数据对象

但是

2018-05-17 15:54:52 2933 1

原创 DataBinding使用指南(一):布局和binding表达式

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/80206037,本文出自:【张华洋的博客】 数据绑定库数据绑定库是一个支持库,它允许你在 APP 中使用声明性格式而不是编程方式将数据源绑定到布局的UI组件中。布局通常定义在Activity中,使用UI框架方...

2018-05-05 15:39:35 9960 9

原创 ThreadLocal使用及源码分析

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/79250212 ,本文出自:【张华洋的博客】 ThreadLocal 提供了线程本地变量。这些变量不同于普通变量,每个线程都可以通过 ThreadLocal 的 get 或 set 方法访问这个线程自己的变量,独立初始化...

2018-02-10 21:26:53 991 1

原创 IntentService和HandlerThread源码分析

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/79301446,本文出自:【张华洋的博客】 在这篇文章中我将介绍 在 Android 中的 IntentService,在分析 IntentService的原理时,将顺便分析 IntentService中使用到的 Han...

2018-02-09 22:22:50 757

翻译 Android架构组件-App架构指南

与传统的桌面应用程序不同,Android应用程序的结构要复杂得多,在大多数情况下,它们只在桌面快捷启动方式中有一个入口,并且作为单个进程运行。一个典型的Android应用程序是由多个 app组件(Android四大组件) 构成的,包括 **activities**, **fragments**, **services**, **content providers** and **broadcast receivers

2017-11-08 00:55:21 14150 3

原创 JNI和NDK编程-JNI入门

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/78400415,本文出自:【张华洋的博客】 1、原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 NDK可以让您将 C 和 C++ 源代码构建为可用于Android应

2017-10-31 10:19:59 1211

翻译 Android Studio 3.0 发行说明

Android Studio是Android开发的官方IDE,包含构建Android应用程序所需的一切。要获取最新版本,请单击 **Help > Check for update**(在Mac, **Android Studio > Check for updates**)。或者您可以在 [这里下载Android Studio](https://developer.android.google.cn/stu

2017-10-26 11:53:59 14208 4

原创 Android组件化之终极方案

那么如果解决这些问题呢?我想大多数Android开发者都能想到这个办法。如果你把开源的三方库当做一个功能组件的话,那么很显然,我们在使用这些三方库的时候是通过什么方式呢?难道你会下载它的源代码吗,应该很少有人会这样做吧。那么让我们看看我们是怎么引入三方库的:

2017-09-21 21:27:39 24569 32

原创 JNI和NDK编程-使用AndroidStudio进行NDK开发

注意: 1、本文中的原生源代码(native Code)均指代 C\C++源代码文件; 2、预构建库 指代 已经预先编译的二进制库(自己编译好或者第三方提供); 3、ABI是Application Binary Interface的缩写,指应用程序二进制接口,它定义了二进制文件(Android平台专指 .so 文件)如何运行在相应的系统平台上,包括使用的指令集、内存

2017-07-19 22:00:59 4296 5

原创 使用Retrofit2封装适用于组件化项目的网络库

Android组件化项目HttpClient的封装过程这篇文章主要讲解Android组件化项目中的网络请求工具类HttpClient的封装过程,首先简单介绍了Url和Http请求的概念,接下来讲解了Retrofit的使用方法,最后是HttpClient的封装思想和封装过程。

2017-07-05 14:14:55 10438 4

原创 Android面试题

----# 数据结构> 1、栈 Stack> 2、队列 Queue> 3、链表 Linked List> 4、数组 Array> 5、哈希表 Hash Table> 6、二叉树 Binary Tree> 7、堆 Heap> 8、并查集 Union Find> 9、字典树 Trie# 算法 > 1、二分搜索 Binary Search> 2、分治 Divide Conquer> 3、

2017-06-19 21:52:25 4237

原创 AndroidStudio本地化配置gradle的buildToolsVersion和gradleBuildTools

gradle.properties有两个非常有用的属性: 1. **在Android项目中的任何一个build.gradle文件中都可以把gradle.properties中的常量读取出来,不管这个build.gradle是组件的还是整个项目工程的build.gradle;** 2. **gradle.properties中的数据类型都是String类型,使用其他数据类型需要自行转换;**

2017-05-22 20:47:35 20203 5

原创 学习大数据的第一步-搭建Scala开发环境,以及使用Intellij IDEA开发Scala程序

# 1、为什么要学习Scala语言?1. 结合Spark处理大数据这是Scala的一个主要应用,而且Spark也是那Scala写的。2. Java的脚本语言版可以直接写Scala的脚本,也可以在.sh直接使用Scala。3. 代替JavaScala的编程风格更简洁,当然也很可能降低可读性,不过Java语言还是有其优势。

2017-04-01 20:38:41 72183 10

原创 Android OkHttp实现HTTPS访问,支持Android 4.X系统HTTPS访问

这是目前最完善的Https证书校验工具类,实现了服务端和客户端之间的基于身份认证的交互,并且真正实现了 TrustManger 的 checkServerTrusted() 方法,对服务器证书域名进行了强校验,另外也真正实现了 HostnameVerifier 的 verify() 方法。

2017-02-21 20:48:25 7354 1

原创 Android组件化方案

随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将很难进行多人协作开发,而且Android项目在编译代码的时候电脑会非常卡,又因为单一工程下代码耦合严重,每修改一处代码后都要重新编译打包测试,导致非常耗时。

2017-02-15 19:01:52 108289 166

原创 Android Handler源码解析

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/article/details/53412281,本文出自:【张华洋的博客】 Handler允许我们发送和处理Message , 还可以将Runnable对象关联到线程的MessageQueue;每个Handler实例都会与一个线程以及线程的消息队列相关...

2016-11-30 19:23:55 5315

原创 Android Studio Terminal 不是内部或外部命令,也不是可运行程序或批处理文件

在Android Studio中自带了命令行终端Terminal,但是我们在输入命令时经常会发现:“XXX”不是内部或外部命令,也不是可运行程序或批处理文件。

2016-11-11 16:25:39 32133 6

原创 Windows环境变量Path、ClassPath、JAVA_HOME的作用

很多人都会有个疑惑:有些博客使用的是PATH、CLASSPATH和JAVA_HOME,但是有些博客又是 path、classpath 和 java_home ,搞得新手是一头雾水,还没学习编程已经就懵了。其实这是因为Windows操作系统不区分大小写,设置Path和PATH并没有区别;而Linux操作系统是区分大小写的,设置Path和PATH是有区别的,因此只需要设置PATH环境变量即可。

2016-03-30 19:12:46 5440 1

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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