自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (26)
  • 收藏
  • 关注

原创 安装与配置Flutter开发环境

这篇博客我们介绍了Flutter,并且对比了H5,React Native,Flutter。由于Flutter是跨平台的开发框架,开发一次可以同时运行在Android和iOS上面,所以我们开发时最好使用Mac系统,这样我们可以同时测试两个平台的运行效果。本文我们就来介绍在Mac系统下安装与配置Flutter开发环境,并且运行我们的第一个Flutter应用!为了Flutter的安装配置顺利,请...

2019-03-22 07:38:29 266

原创 Spring Boot 2 - 使用CommandLineRunner与ApplicationRunner

本篇文章我们将探讨CommandLineRunner和ApplicationRunner的使用。在阅读本篇文章之前,你可以新建一个工程,写一些关于本篇内容代码,这样会加深你对本文内容的理解,关于如何快速创建新工程,可以参考我的这篇博客:Spring Boot 2 - 创建新工程概述CommandLineRunner和ApplicationRunner是Spring Boot所提供的接口,他...

2019-03-21 14:13:34 1252

原创 Flutter介绍 - Flutter,H5,React Native之间的对比

Flutter介绍Flutter是Google推出的开源移动应用开发框架。开发者可以通过开发一套代码同时运行在iOS和Android平台。它使用Dart语言进行开发,并且最终编译成各个平台的Native代码,这样既保证了开发效率,也保证了各个平台的运行效率。其相当于从头到尾重写了一套UI框架,不依赖具体平台的组件。其所有的组件都是"Widget"。渲染引擎则依靠高效渲染库Skia实现。下面我...

2019-03-20 18:35:29 1006

原创 Spring Boot 2 - 初识与新工程的创建

Spring Boot的由来相信大家都听说过Spring框架。Spring从诞生到现在一直是流行的J2EE开发框架。随着Spring的发展,它的功能越来越强大,随之而来的缺点也越来越明显,以至于发展到后来变得越来越臃肿,使用起来也非常的麻烦。到后来由于过于强调配置的灵活性,有时即使只为了加入一个简单的特性,而需要相当多的XML配置,从而被人们诟病为"配置地狱"!后来许多优秀的服务端框架涌...

2019-03-19 22:16:50 232

原创 Android开发 - 掌握ConstraintLayout(十一)复杂动画!如此简单!

介绍本系列我们已经介绍了ConstraintLayout的基本用法。学习到这里,相信你已经熟悉ConstraintLayout的基本使用了,如果你对它的用法还不了解,建议您先阅读我之前的文章。使用ConstraintLayout创建动画的基本思想是我们创建两个不同的布局,每个布局有其不同的约束,从而我们使用其动画框架来进行两种约束之间的切换。传统动画以往在我们创建简单动画时,通常我们会使用...

2018-12-05 10:12:00 261

原创 Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

有时候在布局界面的时候,UI要求某个View或者某张图片按比例显示,以适应不同的屏幕分辨率。通常我们时通过自定义View或者引入第三方的库来解决。现在我们既然已经使用了ConstraintLayout,它本身就支持这样的按比例设置View大小的功能。下面我们来介绍如何使用:首先我们在布局中添加一个View:此时,没有添加任何约束,显示的比例就是原始图片的比例。添加水平方向的约束:...

2018-12-04 15:29:27 3171

原创 Android开发 - 掌握ConstraintLayout(九)分组(Group)

使用ConstraintLayout后我们的布局是没有层级关系的,各个View之间都是平级关系,但是如果根据某个业务条件来控制多个View的显示与否,我们需要分别对每个View进行控制,需要调用多次setVisibility()。这样就显得非常不方便。本文所介绍的Group就是解决这个问题的。Group就是一个分组,可以关联多个View,从而只需要对这个分组进行控制就可以实现这样的场景。我们...

2018-12-03 13:47:43 677

原创 Android开发 - 掌握ConstraintLayout(八)障碍线(Barrier)

本文我们来介绍障碍线(Barrier)的使用,平常在开发中用的相对要少一些,但是在需要时会非常方便。它的作用是将多个元素放到这个障碍线里面使时,其中的任何元素的大小或位置变化时都会使它的位置进行改变。可以理解成一面墙,"墙"里面任何元素的位置或大小改变时都会导致它的改变,从而保证所有的元素都在"墙"里面。下面我们来举例进行说明,会更加直观。首先,我们先创建两个元素:接下来,我们...

2018-11-29 14:02:51 999

原创 Android开发 - 掌握ConstraintLayout(七)辅助线(Guideline)

了解过UI设计的同学都知道,在设计的时候,我们经常在界面上拖进一些辅助线来帮我们对齐UI元素,或者方便我们统一的页边距。在ConstraintLayout的编辑器中,同样也支持这样的功能,我们可以创建一些横向的或者纵向的Guideline,在布局界面的时候可以充分利用这些辅助线,对齐我们的View,避免重复写一些marginXXX。创建Guideline打开编辑器,选择Helpers -&g...

2018-11-08 14:14:32 5612

原创 Android开发 - 掌握ConstraintLayout(六)链条(Chains)

本文我们介绍链条(Chains),使用它可以将多个View连接起来,互相约束。可以创建横向的链条,也可以创建纵向的链条,我们以横向的链条举例:我们先创建三个按钮:我们选中三个按钮后在上面点右键创建链条:创建后我们发现这三个View平均分布地排列了:最简单的使用是平均分布,当然也可以不平均分布,具体看约束的具体设置,比如将第一个Button的marginEnd设置成10后...

2018-11-07 14:57:00 2800

原创 Android开发 - 掌握ConstraintLayout(五)偏差(Bias)

比如实现这样一个场景:“在屏幕宽度的1/4的地方放置一个View”使用传统布局时,实现按照屏幕的宽度(高度),或者相对两个View之间距离的一个比例来进行布局,就显得非常麻烦,但是当使用ConstraintLayout时,就可以很简单地实现这样的需求。BiasBias就是为了实现这种需求而设计出来的。我们来举例说明,看下图:当前我们是将这个按钮相对屏幕宽度居中显示。那么我们如何...

2018-11-06 17:44:58 628

原创 Android开发 - 掌握ConstraintLayout(四)创建基本约束

上一篇我们介绍了编辑器的基本使用,本文我们介绍创建基本的约束。"约束"表示View之间的位置关系。当我们在ConstraintLayout布局中创建View时,如果我们没有添加任何约束,虽然在设计视图我们可以拖动它们到任意位置,但是运行后都会在左上角的原点位置,同时代码中也会给出警告:所以我们必须确保我们的View都被添加了适当的约束。我们常用的约束通常有两种,一种是相对父View的约束,...

2018-11-05 18:15:58 187

原创 Android开发 - 掌握ConstraintLayout(三)编辑器

从本篇博客开始我们开始介绍如何使用ConstraintLayout。既然ConstraintLayout叫约束布局,首先我们先介绍什么叫约束(Constraints):约束(Constraints)一个约束表示View之间的"布局约束"关系,以及约束的位置,类似RelativeLayout的"相对"概念。编辑器介绍在工程中我们新建一个布局activity_main.xml,整个界面如下:...

2018-11-01 14:13:27 249

原创 Android开发 - 掌握ConstraintLayout(二)介绍

介绍发布时间ConstraintLayout是在2016的Google I/O大会上发布的,经过这么长时间的更新,现在已经非常稳定。支持Android 2.3(API 9)+目前的Android设置几乎没有低于Android4.4(Api 19)的,所以ConstraintLayout可以支持所有的设备。单独的依赖包ConstraintLayout并不是Android SDK的一部分,...

2018-10-31 15:05:40 204

原创 Android开发 - 掌握ConstraintLayout(一)传统布局的问题

在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面。随着ConstraintLayout的推出,这种现象有了很大的改善,而且它可以实现很多传统布局难以实现的功能。本系列我们就一起来学习ConstraintLayout的使用,来大幅提高我们的生产力。传统...

2018-10-30 15:17:07 511 2

原创 Android开发 - 解决DialogFragment在全屏时View被状态栏遮住的问题

我的上一篇文章:设置DialogFragment全屏显示 可以设置对话框的内容全屏显示,但是存在在某些机型上顶部的View被状态栏遮住的问题。经过测试,发现了一种解决办法,在DialogFragment的onCreateView()中添加一个布局监听器:@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup co...

2018-10-29 11:56:52 3436

原创 Android开发 - 设置DialogFragment全屏显示

默认的DialogFragment并不是全屏,但有些需求需要我们将对话框设置为全屏(内容全屏),Android并没有提供直接的API,通过其它不同的方法设置全屏在不同的机型上总有一些诡异的问题,经过测试,下面的方法可以实现各个机型的全屏。测试 SDK Version = 28覆写Fragment的onStart()方法:@Overridepublic void onStart() { ...

2018-10-22 18:56:06 1002

原创 Android开发 - Retrofit 2 使用自签名的HTTPS证书进行API请求

为了确保数据传输的安全,现在越来越多的应用使用Https的方式来进行数据传输,使用https有很多有点,比如:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。但是即使使用HTTPS有很多有点...

2018-10-19 15:47:28 592

原创 Android开发 - 更"聪明"的申请权限方式

在Android6.0以后,很多权限需要动态申请,只有在用户点同意后,我们才能使用对应API,因此,正确申请权限就显得很重要。常用方式通常我们使用这种方式来判断权限状态:private static boolean isGranted(final String permission) { return Build.VERSION.SDK_INT < Build.VERSION_...

2018-10-18 15:25:46 209

原创 Android开发 - 获取Android设备的唯一标识码(Android 6.0或更高)

在我们的APP开发中,通常需要获取到设备的唯一标识。在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我们获取设备的硬件信息。Android6.0之前的方法(已过时)DEVICE_ID通getSystemService(Context.TELEPHONY_SERVICE).getDeviceId()获取...

2018-10-17 16:39:59 1359

原创 Android开发 - 获取系统输入法高度的正确姿势

问题与解决在Android应用的开发中,有一些需求需要我们获取到输入法的高度,但是官方的API并没有提供类似的方法,所以我们需要自己来实现。查阅了网上很多资料,试过以后都不理想。比如有的方法通过监听布局的变化来计算输入法的高度,这种方式在Activity的配置中配置为"android:windowSoftInputMode=“adjustResize”"时没有问题,可以正确获取输入法的高度,...

2018-10-17 13:57:28 2040

原创 Android开发 - ImageView加载Base64编码的图片

在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片。这种情况出现在服务端需要动态生成的图片,比如:二维码图形验证码…这些应用场景有个共同点就是,这些图片都是由服务器动态生成,并不需要生成后保存成文件再返回给客户端。Android中ImageView加载Base64图片其实非常简单,并不需要引入第三方库,方法如下:imp...

2018-10-15 14:00:04 9117 2

原创 使用Python请求http/https时设置失败重试次数

使用Python的requests库时,默认是没有失败时重试请求的,通过下面的方式可以支持重试请求设置请求时的重试规则import requestsfrom requests.adapters import HTTPAdapters = requests.Session()a = HTTPAdapter(max_retries=3)b = HTTPAdapter(max_retr...

2018-09-19 14:14:31 2895

原创 Windows下安装配置爬虫工具Scrapy及爬虫环境

爬虫工具Scrapy在Mac和Linux环境下都相对好装,但是在Windows上总会碰到各种莫名其妙的问题。本文记录下Scrapy在Window上的安装过程。本文是基于Python2.7及Windows 10安装Scrapy及各种爬虫相关库。下载安装ScrapyScrapy官方文档按照官网建议下载安装Anaconda,使用这个安装比直接pip安装会少很多问题。下载地址安装完...

2018-09-19 14:09:22 503 1

原创 Python地理位置信息库geopy的使用(二):根据中心点坐标,方向,距离计算坐标

上一篇文章我们介绍了geopy的基本使用,这一篇文章我们根据中心点坐标,方向,距中心点距离计算出对应的坐标点,这种用法官网并没有给出详细的文档,我们这里做一下说明生成坐标点的具体方法import geopy.distancedef get_distance_point(lat, lon, distance, direction): """ 根据经纬度,距离,方向获得一个...

2018-09-18 15:06:05 4159

原创 Python地理位置信息库geopy的使用(一):基本使用

geopy是Python关于地理位置的一个第三方库,用这个库来进行地址位置信息的查询和转换非常方便,本文介绍关于geopy的常用的几种用法geopy的安装pip install geopy根据地址查询坐标及详细信息>>> import json, logging>>> from geopy.geocoders import Nominatim&...

2018-09-18 14:53:50 7373

原创 使用Charles对Android App的https请求进行抓包

本文背景 公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截。 所以这里我们要使用Charles来抓取https,但是笔者看了网上很多使用iOS设备进行抓取https的文章,经测试iOS8/10/11均无法进行正常抓取,即使信任证书也不行。 ...

2018-09-17 14:00:34 1268

原创 Mac下更改Mysql5.7的默认编码为utf8

Mac上从官方安装完Mysql5.7后,有一部分的字符集默认为latin1,而非utf8,为避免乱码的产生,本文介绍将所有字符集设置为utf8查看当前字符集编码show variables like '%char%'; 我们会发现这些字符集为latin1修改字符集为utf8关闭Mysql服务新建一个my.cnf配置文件,执行下面命令,如果已存在则会...

2018-09-15 12:27:55 714

原创 Linux系统CentOS 7配置Spring Boot运行环境

从阿里云新买的一台Linux服务器,用来部署SpringBoot应用,由于之前一直使用Debian版本,环境配置有所不同,也较为繁琐,本文主要介绍CentOS下配置SpringBoot环境的过程新建用户由于新拿到的机器只有root用户,用root用户直接进行各种操作会有一定的安全问题,所以我们先创建用户点击这里:创建新用户安装Oracle Java 8Sprin...

2018-09-14 14:01:17 1056

原创 CentOS 7 - 配置服务实现开机自启动

新建系统服务描述文件cd /etc/systemd/systemsudo vim myapp.service添加以下配置:[Unit]# 这里添加你的服务描述Description=myappAfter=syslog.target[Service]# 这里更改为你的用户名User=myapp# 这里路径为你的spring boot工程的jar包路径Exe...

2018-09-14 13:56:09 580

原创 CentOS 7 - 安装Nginx

Nginx是一个高性能的Web服务软件。相比Apache HTTP Server更加的轻量级和灵活,是在WEB及服务端开发中必不可少的工具。 本文我们将介绍CentOS 7下Nginx的安装。添加仓库sudo yum install epel-release安装Nginxsudo yum install nginx启动Nginxsu...

2018-09-13 19:38:06 123

原创 CentOS 7 - 安装MySQL 5.7

CentOS 7的默认yum仓库中并没有MySQL5.7,我们需要手动添加,好在MySQL官方提供了仓库的地址,所以我们能够比较简单地安装MySQL。 本文我们将介绍CentOS 7下MySQL5.7的安装。添加Mysql5.7仓库sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-e...

2018-09-13 19:37:21 161

原创 CentOS 7 - 安装Oracle JDK8

我们要在CentOS安装最新版本的JDK8,需要首先将JDK下载到服务器,然后通过操作系统自带的工具yum进行安装。 本文我们将介绍CentOS 7下JDK8的安装。从官网下载页面找到JDK8的下载链接,下载到本地wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://downlo...

2018-09-12 14:27:39 1303

原创 CentOS 7 - 创建新用户

当进行服务器操作时,我们尽量不要使用root用户进行操作,特别是当我们使用生产环境时。 本文我们将介绍CentOS 7下用户的创建。创建新用户adduser 用户名更改用户密码passwd 用户名输入以上命令后输入两次同样的密码,即可修改成功将用户添加到wheel用户组里,因为wheel用户组拥有sudo的权限usermod -...

2018-09-12 14:26:38 329

原创 Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法

有时候新建布局文件时或者定义布局中的变量时,不能即时生成相关Binding类或方法(其实是不能正确索引),也许是IDE支持的一些BUG,不过Android Studio对Data Binding的支持问题也仅限于这些,并且可以比较简单地解决这些问题。方法一(经常不起作用):菜单 -> Build -> Clean Project -> Rebuild Pro...

2018-09-12 14:07:15 1107

原创 Android开发教程 - 使用Data Binding(八)使用自定义Interface

为什么要使用自定义Interface我们平常在Android的开发中,比如如果要设置一个View的点击事件,通常通过view.setOnClickListener()来实现的,这种方式略显繁琐,而且要通过findViewById()来获取到此View的引用。使用了Data Binding技术以后,我们无需这样做,可以直接通过在xml布局文件中设置一个Interface的实现来直接调用某个方法...

2018-09-11 13:49:06 422

原创 Android开发教程 - 使用Data Binding(七)使用BindingAdapter简化图片加载

什么是BindingAdapterBindingAdapter用来设置布局中View的自定义属性,当使用该属性时,可以自定义其行为。下面是一个简单的例子:@BindingAdapter("android:bufferType")public static void setBufferType(TextView view, TextView.BufferType bufferTyp...

2018-09-11 13:48:08 1377 2

原创 Android开发教程 - 使用Data Binding(六)RecyclerView Adapter中的使用

前面我们讲到了Data Binding在Activity中的使用和在Fragment中的使用,除此之外,Data Binding也可以使用在RecyclerView/AdapterView的Adapter中,本文以RecyclerView为例。获取Binding对象按照通常的做法,我们在Adapter中会定义一个ViewHolder,在此ViewHolder中取得一些布局Vie...

2018-09-10 14:15:14 1694

原创 Android开发教程 - 使用Data Binding(五)数据绑定

前面我们讲到了Data Binding在Activity中的使用和在Fragment中的使用,在两者的布局文件中,都可以绑定数据(对象),本篇文章我们就来介绍数据的绑定。<data>标签在这个标签中,我们通常用来做下面的事情: - 定义所绑定的数据的名称(变量名)及对应类型 - 引入页面所需的类示例如下:<data> <im...

2018-09-10 14:14:27 296

原创 Android开发教程 - 使用Data Binding(四)在Fragment中的使用

修改fragment的布局同上一篇:在Activity中的使用中一样,在Fragment中使用Data Binding同样需要修改布局,修改方式也跟Activity一样,在最外层加上\标签:<?xml version="1.0" encoding="utf-8"?><layout xmlns:andro

2018-09-06 14:45:40 6830

VectorMagic 1.15 破解汉化版(位图转矢量图工具)

功能强大,方便易用,一键即可将位图装换为矢量图,也能根据需要设置转成矢量图.

2013-10-16

CocoStudio v0.13 游戏场景编辑器 cocos2d-x

Windows下的cocos2d-x游戏场景编辑器.

2013-07-11

幸运转盘抽奖-JS实现

适用浏览器:FireFox、Chrome、Opera、傲游、搜狗. 不支持IE8、360、Safari、世界之窗。

2013-07-11

CocosBuilder-3.0-alpha5 cocos2d-x场景编辑器

cocos2d/cocos2d-x游戏场景编辑器最新版.

2013-07-02

robotium从不会到精通

安卓自动化测试框架<robotium从不会到精通>电子书.

2013-06-04

TTFEDIT 1.0 TTF编辑器/字体编辑器

可以编辑字体文件,也可以新建设计字体,Windows,Linux,Mac都可以使用.

2013-06-04

Mac输入法从零开始

Mac输入法从零开始,基于Mac的输入法框架详解.

2013-05-30

Junit设计模式分析 PDF

Unit 是一个优秀的 Java 单元测试框架,本书介绍在开发 JUnit 的过程中是怎样应用设计模式的。

2013-05-30

java并发编程 PDF

本书深入介绍了java的并发编程,很不错的一本书,发上来大家一起学习.

2013-05-30

Android行业及上路

每个加入android队伍的人应该都是看好它的前景,在中国国内现在也大量出现相关的网站论坛,本文主要是收集了大量相关的一些行业信息,并对android应用开发进行简单的分析。 本文档是从另一个角度来看android社区,不是专注于技术,而是从一种环境来分析。

2013-05-30

Android UI开发专题

近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,主要涉及以下四个包的相关内容:   android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类

2013-05-30

Android framework详细分析 PDF

本书详细分析了安卓系统系统层的原理,深入分析Activity,Service,Binder,GWES窗口,输入输出,电话系统等等系统组件,很好的一本书.

2013-05-30

JAVA 24种设计模式介绍与6大设计原则

详细生动介绍了java的各种设计模式,学习设计模式不再枯燥~~

2013-05-30

实现IOS程序自动化测试

润和软件实现IOS程序自动化测试的文档分享.

2013-05-30

WEB测试环境自动发布系统

1.WEB自动化测试如何结合工作 2.自动化测试工具介绍-watir 3.循序渐进运用watir 4.实例分享

2013-05-30

Cocosbuilder 3.0 alpha4 场景编辑器 Mac

游戏场景编辑器,3.0版本不仅可以编辑场景,还可以编辑动画(骨骼动画),粒子效果等.移动游戏开发的利器. 这个版本是Mac版的,不要下错了~~

2013-05-30

Zwoptex 1.6.0

非常不错的一款图片资源整合软件,使用后可以满足各个游戏引擎的需要,省时省力.不需要注册也可以免费使用.

2013-05-30

TexturePacker-2.4.3破解版 for MAC

TexturePacker是一款组合、整理图片的工具,非常实用. 这个版本是Mac版本的,别下载错了~~

2013-05-30

PhysicsEditor破解版

物体编辑器破解版,适用于Box2D世界编辑物体工具,可以使用在Cocos2d-x,Cocos2d等游戏引擎上面.

2013-05-30

Mac svn客户端 Cornerstone-2.6破解版

Mac上面最好用的svn工具,功能强大,操作简单,图形化界面,可以方便使用SVN.

2013-05-30

Echo 1.2 for Mac - HTTP服务测试工具

Echo是一个功能强大的HTTP(s)服务测试工具,是开发人员必备工具之一。 让你在进行调试的时候节省宝贵的时间,通过发送定制的请求到你的web服务器,能查看多种不同的响应。

2013-05-30

wap教程(含wml教程)

wap教程(含wml教程),很详细的教程,供大家学习.

2009-10-12

lucene-core-2.3.1.jar

全文所搜时使用,比查询数据库要快,可以支持分词查询,数据库like查询等,对大数据系统性能提高明显.

2009-06-13

dom4j-1.6.1.jar

dom4j解析xml,api很丰富,希望对大家有用.

2009-06-13

velocity-1.6.2.jar

velocity-1.6.2 很强大的模板引擎.jar包.

2009-06-13

空空如也

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

TA关注的人

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