自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的Coder

Android、Java

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

原创 MQTT在Android中的使用

MQTT简介MQTT 是一种基于发布订阅模型的即时通讯协议,主要应用于物联网设备中配置添加依赖在project的gradle中添加远程maven仓库repositories { maven { url "https://repo.eclipse.org/content/repositories/paho-snapshots/" }}在app的g...

2019-12-05 16:07:59 527

原创 Android中使用Retrofit刷新Token

Android中使用Retrofit刷新Token实际开发中,例如登录,我们向后台传参用户名和密码,后台会返回给我们一个Token,用于后面接口的调用,这样后端就能通过我们传入的token知道我们是哪个用户,一般token的有效期是2小时。2小时候token会自动过期。我们需要拿到新的Token,保持登陆状态。如何刷新Token呢如上图所示,我们loging过后后台返回token、...

2019-06-29 16:40:54 3241

原创 FlexBox总结

FlexBox弹性布局是React Native中的布局,功能丰富,能够满足页面大量的排版需求。RN的FlexBox和Html5的差别不大,原理基本相同。它拥有三个属性 flexDirection、justifyContent、alignItemsflexDirectionflexDirection是确定子元素的主轴方向,是沿着水平轴还是垂直轴排列,默认值是column。有四个属性值:...

2018-11-27 17:48:48 327

原创 Android 文件路径详解

Android 文件目录繁多,每个目录都有每个目录存在的意义,将文件存储在正确的目录,有利于文件的分类管理。Android磁盘存储可以分为两大类,内部存储和外部存储。内部存储内部存储不是内存,是位于位于系统磁盘中一个独特的位置。/data/ 文件夹就是内部存储,内部存储中一般存储一些应用的数据,如apk,shareprefence、database数据,webview缓存和图片缓存等。内部存...

2018-11-13 13:22:04 6523

原创 Flutter入门

FlutterFlutter是谷歌2018年在世界移动大会上发布的移动跨平台框架,Flutter能够同一份代码开发IOS和Android、提高开发效率。在应用程序运行时更改代码支持热重载、修复崩溃并继续从应用程序停止的地方进行调试。支持Material Design和Cupertino的设计风格。缺点就是目前刚刚推出,只有beta版本,UI控件不是特别丰富。Flutter是基于Dart语言开发...

2018-11-08 14:11:56 352

原创 Tinker热修复接入指南

Tinker热修复介绍原生移动端开发必须打包上线,遇到Bug的时候,就令人头疼,需要发布新的安装包,成本很大。近些年,国内人热修复框架十分火热,如Tinker、AndFix、HotFix、Sophix、Robust等。Tinker热修复是微信官方使用的一种热补丁方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新接入Tinker热修复首先建议先根据官方文档进...

2018-10-31 15:21:05 284

原创 Struts2《一》

Struts2与Struts1差别很大,因为Struts2采用的是WebWork核心设计。Struts2采用大量的拦截器处理用户请求,从而允许业务逻辑控制器与Servlet API分离。环境配置从struts官网下载最新的struts的jar包,从example项目中解压war拷贝所需要的一些jar。在web.xml中配置过滤器<filter> <filter-name...

2018-10-23 14:03:17 143

翻译 JSP中的JSTL标签笔记

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是apache对EL表达式的一个拓展库。JSTL支持通用的、结构化任务。内部拥有丰富的标签。如条件判断、循环、SQL标签等。JSTL标签大致可以分为5类,核心标签、格式化标签。SQL 标签、XML 标签、JSTL函数参考自菜鸟教程环境配置下载、添加jar包首先我们需要去官网下载...

2018-10-18 09:36:48 239 1

原创 Java生成随机图片验证码

Java生成随机图片验证码验证码主要是数字和字母,并且剔除了不容易识别的那些字符,这里通过Servlet将图片对象展示在浏览器。package servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;imp...

2018-10-09 23:43:49 652

原创 WebView中播放视频,全屏的适配

WebView中播放视频,全屏的适配Android中WebView的Bug很多,今天总结下加载WebView中视频,用户点击全屏按钮无法全屏的适配。 正常情况下,用户点击全屏按钮,我们进入一个视频的横屏的全屏状态。网页点击全屏按钮会触发WebChromeClient的onShowCustomView方法,全屏后缩回来会触发onHideCustomView方法,So我们只需要在这两个方法中...

2018-07-19 21:34:38 4177

原创 Dagger2的使用《一》

Dagger2是Google基于Square公司的Dagger改造的一个依赖注入的一个框架。说到这,就想起了Java的Spring框架的三大核心Ioc(控制反转)、DI(依赖注入) 和 AOP(面向切面编程),但是Spring的话,需要xml,我们安卓的Dagger2优点还是有很大哈。可以说目前主流框架是MVP+Retrofit+RxJava+Dagger2了。我们在编写后台代码初期,例如Da...

2018-05-08 17:13:54 260

原创 Spring的三种装配Bean

在Spring中,对象无需自己查找或创建与其关联的其他对象。相反,容器负责把需要相互协作的对象引用赋予各个对象。创建应用对象之间的协作关系的行为通常称为装配,这也是依赖注入的本质。Spring的三种装配Bean的方式在xml中进行显式配置在Java中进行显式配置隐式的Bean发现机制和自动装配1、自动化装配BeanSpring从两个角度来实现自动化装配 组件扫描...

2018-04-19 16:34:21 180

原创 快应用环境搭建

今年十大厂牌已经联手搞大事情了,为了抵制微信小程序,设计出了快应用,毕竟微信小程序免安装,跨平台,抢占了他们自己手机内的应用一笔预装费。近日抖音短视频、拼多多也是很火,特别是抖音,人们在抖音上的时间越来越长。腾讯肯定不高兴了,毕竟把王者农药,绝地吃鸡的时间拿去看小视频,腾讯赚钱会大打折扣的。个人感觉,快应用,近三年,势必将掀起一波惊涛骇浪。快应用是什么呢?快应用是基于手机硬件平台的新...

2018-04-10 22:55:59 423

原创 Spring入门

Spring是一个轻量级开源的框架,它的核心是 Ioc(控制反转)、DI(依赖注入) 和 AOP(面向切面编程) 。它的优点是方便解耦,简化开发、AOP编程的支持、声明式事务的支持、方便程序的测试。方便继承各种优秀的框架、降低JavaEE API的使用难度。核心容器:Beans、Core、Context、ExpressionSpring分层Web层:Struts,Spring-MVC...

2018-04-06 16:08:29 212

原创 CSS选择器总结

CSS选择器总结一、基本选择器1.1、标签选择器标签属性和值用:隔开,定义多个属性的时候使用;隔开标签选择器作用于html标签/* 标签{属性:值} */div{ font-size: 28px;}1.2、类选择器类选择器是被通过class的方式调用一个标签可以同时调用多个类选择器,用空格隔开多个标签可以同时调用同一个类选择器/* .类名...

2018-03-02 23:01:54 480

原创 RecyclerView搭配ItemTouchHelper实现长按拖拽、滑动删除

ItemTouchHelper是一个支持RecyclerView滑动删除、长按拖拽的一个工具类,使用它我们可以装B无止境,提高用户体验。长按拖拽的效果 长按拖拽 滑动删除 ItemTouchHelper使用中常见的一些方法使用ItemTouchHelper我们需要自定义一个类继承ItemTouchHelper.Callback实现它的几个重...

2018-02-24 22:09:41 686

原创 Retrofit 探索二:RxJava+Retrofit实现网络请求

一、环境配置1.1 添加网络权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>1.2 Retrofit、RxJava工...

2018-02-08 11:34:24 510

原创 Android中Gson、FastJson解析动态的Key

在项目开发中一般只会出现JsonObject、JsonArray。他们的key一般都是恒定不变,如果变化,那么后台程序员可能会变前端程序员打死,实际开发中,我们应该避免这些问题。但是如果遇到这种问题,我们该如果应对呢,在Android中我们使用解析的第三方库一般都是Gson、FastJson。下面介绍下遇到动态变化的key我们该如果处理。首先看数据{"ret":0,"data":{

2018-02-06 22:52:23 935

原创 基于RxJava+Retrofit+MVP架构的一款App

新的一年又开始,每个人都有每个人的新年计划,新的一年希望自己再技术上有所突破,学会总结,Good good Study,day day up。初衷首先这是一款足球新闻类的App。希望国足能够站起来,能够在中国举办一场世界杯。同今日头条这类App很类似,我也参照了网上开源这类App的代码,进行了优化。抓取的是肆客足球的数据,声明一下,该数据仅供学习,不能用于商业用途,后果自负。R...

2018-01-23 00:01:04 400

原创 Gradle依赖的统一管理

在项目开发中我们会经常引入多个Module,然而每个Module中又包含了V4、V7,为了升级新版本依赖包只用更改一次,我们决定采用Gradle依赖的统一管理,避免重复繁琐的劳动。在Project目录下新建config.gradle文件(文件名字可以自定义)ext { android = [ compileSdkVersion: 26,

2018-01-07 14:16:49 684

翻译 Handler消息处理机制

说到Handler就会被问到Handler、Message、Looper之间的关系了。那么Handler为什么要出现呢,它的作用是什么?1.Handler的作用Android是单线程模型的操作系统。为了避免多线程更新UI出现混乱,出现线程不安全,在Android中只能使用主线程(UI线程)更新UI,那么子线程和UI线程之间的通信怎么通信呢?Handler就是为了解决这个问题的。2.Handler、M

2017-12-22 15:31:07 357

原创 Kotlin基本数据类型

前言让我们来回顾下Java基本数据类型,Java一共拥有八种基本数据类型,其中包含六种数字类型,一种字符类型,一种布尔类型,分别是byte、short、int、long、float、double、boolean、charKotlin基本数据类型而在Kotlin中一切皆对象,所有的类型都是引用数据类型,分别是Byte、Short、Int、Long、Float、Double.常量和变量var关键字定义变

2017-12-03 19:03:06 326

原创 Hello World Kotlin

我为什么学习Kotlin?Kotlin是Jetbrains公司开发的一门开源语言,2017年Google I/O大会上宣布Kotlin正式成为Android 官方推荐语言,与此同时,Android大神Jake Wharton跳槽去了Google加入Android团队,J神在Android界的奉献了很多厉害开源项目,相信Kotlin会逐步取代Java。Kotlin在语法简介上有很大的优势,他的绝大多数

2017-11-09 16:52:42 260

原创 自定义View——成长值、积分进度条

产品需求中难免有一些不符合常理的设计!!!今天来设计针对一个会员,积分系统,设计一个水平的进度条,首先看图说话看出图中会员等级分为4级,每一级的长度均分4个实心的点,分为四个区间,每个区间中设置均分的进度,所以用普通的ProgressBar、SeekBar是无法实现的,所以必须自定义View,使用画笔画。1、画线 我的思路就是先画一条灰色的虚线,让后,画四个点,根据传入的当前的成长值,计算出在哪

2017-10-25 12:53:34 1795 1

翻译 MySQL基本语法学习

登录MySQL服务器mysql -u root -p创建数据库create database samp_db character set gbk;查询所有数据库show databases;创建表use samp_db;create table students( id int unsigned not null auto_increment primary key, na

2017-09-30 13:48:20 318

原创 JDBC之Java连接MySQL数据库

Java连接MySQL数据库需要一个jar包mysql-connector-java-5.1.39-bin.jar, 我们创建一个Java Project,并且将这个包导入进去1.创建测试数据我是用SQLyog创建的数据库,这里贴出创建代码CREATE DATABASE sample_db;CREATE TABLE student( _id int(10), name varchar

2017-09-29 23:12:34 231

原创 关于UTC时间的转本地时间

最近发现项目中后台采用的是UTC(世界标准时间)时间格式。而且还不是标准的UTC,这让我很尴尬,而且以前项目中处理时间的方式也是极其无脑。首先来说下尴尬的是事情是什么,后台采用的Python语言开发,因为人员流动,代码不统一,时间返回不标准。例如一个时间可能是 String time="2017-08-05T12:22:59Z";这个是标准的UTC时间格式,我不知道为什么还会返回第二种格式如:Str

2017-09-24 15:54:34 1258

原创 WebView与JavaScript交互

随着Html5的崛起,越来越多的App开始引入网页,如现在比较火热的React Native、Cordova等框架,难免我们的项目中会遇到WebView和JavaScript的交互。首先我们来配置下我们WebViewwebview = (WebView) findViewById(R.id.webview); webview.loadUrl("file:///android_asse

2017-09-07 10:10:51 559

原创 Retrofit 探索一

Retrofit是目前Android最受欢迎的Http客户端库之一,回顾最早在大学时期使用的HttpClient、HttpURLConnection、xUtils到后来的Volley,再到现在已经普通使用的Okhhtp。时光荏苒,我们一直在追求更高效、简单的网络访问库。毫无疑问,现在是Retrofit的时代了。Retrofit功能上和Volley有点相似,但是在使用上却大不相同,Retrofit更加

2017-08-22 23:59:01 234

原创 PhotoView的使用

前言PhotoView是一个常用的图片预览控件,主要用于Android中大图查看,例如结合ViePager完成朋友圈九宫格图片预览功能,前几天我写的ViewPager分页加载数据这篇博客,可以结合起来使用,PhotoView主要的功能有,图片手势缩放,旋转,相比ImageView,用户体验更好。今天我主要介绍两个PhotoView的框架,第一个是(https://github.com/chrisba

2017-08-13 21:32:33 15675

原创 ViewPager分页加载数据

前言项目中我们可能会加载列表数据,点击列表进入图片浏览,一般情况就是朋友圈动态,点击九宫格图片,进入大图预览页面,但是如果假设我们产品经理要求将列表图片进行ViewPager左右滑动的话,那么我们就得进行分页加载了,因为列表数据可能存在成千条。正题我们知道ViewPager可以通过addOnPageChangeListener()方法监听我们滑动哪一页,那么设想我们知道我们的数据totalCount

2017-08-13 20:07:07 3116

原创 Servlet的生命周期

Servlet是运行在Web服务器的程序,它是作为来自Web浏览器和其他HTTP客户端的请求和HTTP服务器上数据库或应用程序的中间层。Servlet的生命周期 它的生命周期可以被定义为从创建到销毁的过程,以下是Servlet遵循的过程 1.Servlet 通过调用 init () 方法进行初始化。

2017-08-13 19:33:10 219

空空如也

空空如也

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

TA关注的人

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