自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 资源 (2)
  • 收藏
  • 关注

原创 自己动手编写http框架(三)

ripple_http封装http请求,主要是帮助开发者更好的去专注于业务,并且能够完成一些复杂的链式请求,这里不讲具体的实现代码,在前两个文章中已经将具体的框架编写过程写的很清楚了,这里主要讲一下原理以及具体的使用PS:因为自己犯懒,所以跳过0.0.1和0.0.2版本的说明,直接到0.0.3了,也是个库的质变版本接入://根目录gradlemaven { url "https://dl.bintray.com/fanyafeng/ripple" }

2020-08-12 17:15:45 264

原创 TwoSum

/** * Author: fanyafeng * Date: 2021/12/27 10:41 * Email: [email protected] * * Given an array of integers, return indices of two numbers such that tey add up to a specific target. * You may assume that each input would have exactly one solution, an.

2021-12-28 20:07:12 198

原创 自己动手编写http框架(二)

自己动手编写http框架(二)1.1.2 http所有情况这里将剩下的所有情况都进行了汇总,具体如下:构造请求端,也就是单例Client,为了确保header,配置等请求中url带有path的情况正常请求带有params的情况需要自己设置请求头header,确保请求头统一并且不重复请求方法,这里以get为例子下方为具体业务代码,还未做抽象,不急,一步一步来: /** * get请求测试 * 请求超时 * * 包含以下几方面: *

2020-08-05 17:49:22 259

原创 自己动手编写http框架(一)

自己动手编写http框架(一)之前都是自己想好思路然后编写框架,也可能是之前的比较简单吧,不用那么费时间,然后现在要写最常用的http使用框架,相信大家基本都有相同的经历,如果不是在一个公司从头开始的,那么基本公司都有相对完善的http框架,很少有从0到1的过程,这也是为啥这个框架到现在才去写的原因,因为之前大部分是时间处于伸手党,用的多,写得少,或者是从半路开始写的,这里想根据自己的思路从头开始写,一步一步来,正好也开始写博客来记录一下过程。一、http请求第一步就是先去使用,然后再去抽离本来想找

2020-07-23 18:49:42 533

原创 android日志工具类:ripple_log

日志工具类:ripple_log点击进入到源码地址android log工具类,出发点是为了方便log使用,以及统一log想写个统一的工具类,想要解决的问题是既能不改变原有LogUtil的还能再加上个人定制的log,以便完成统一还是老样子,采用接口的形式让用户能够自己注入个人的log工具类零、接入使用0.1 接入//根目录gradlemaven { url "https://dl.bintray.com/fanyafeng/ripple" }

2020-07-09 16:55:25 201

原创 标签列表选择view:ChooseFlowView

标签列表选择view:ChooseFlowView移步到源代码github托管地址主要是针对不规则ITEM TAG标签的流式LIST布局,如果是规则的用Recyclerview就可以完全胜任了,而且还会有很好的内存管理,但是不规则的就需要自己来写了,因为文章可能比较长,这里先放一下效果图,在说之前有个大体的了解。一、引入使用本来想再单独写一篇文章介绍使用的,但是接入比较简单,就直接说了1.1 引入根目录build.gradlemaven { url "https://

2020-07-02 20:02:54 236

原创 Android Dialog,Toast封装

操作反馈提示类Dialog点击进去GitHub托管地址,查看源码简介ripple_dialog对dialog和toast进行了封装导入sdk首先需要在根目录的build.gradle中导入maven地址:maven { url 'https://dl.bintray.com/fanyafeng/ripple' }在module的build.gradle中添加依赖:implementation 'com.ripple.component:dialog:0.0.2'一、RippleDi

2020-06-23 15:38:17 283

原创 图片九宫格控件

类似微信朋友圈图片九宫格查看源码请点击一、图片九宫格控件图片九宫格控件类似微信朋友圈的,但是这个添加了更多的自定义选项,九宫格的横纵个数是可以配置的,内置了一套和微信一样的配置,下面来看看如何使用,高级使用后面会讲1.1 九宫格控件使用其实抽象九宫格就是将数据的list以九宫格的形式呈现给用户,大体流程就是用户定义九宫格,继而设置list最后去拿回调。1.1.1 定义控件首先在xml中定义ui控件<com.ripple.ui.ninegridview.impl.NineGridView

2020-06-17 18:44:31 256

原创 多任务处理器更新

2020年06月16日更新源码以及详细说明请移步一、背景咱们来分析一下多任务,在使用者的角度可以简单理解为其是一个黑盒,使用者放入之后经过黑盒处理之后再取出这样就达到了最终的结果。二、分析抽象既然是这样我们可以抽象一下,因为在linux中万物皆文件,所以咱们传入的其实是一个废弃:sourcePath,新增:source:S,那么下一步我们就考虑我们想要的是什么了,然后咱们可以把那个黑盒理解为规则,那么可以抽象为,废弃:fun parse(sourcePath:String,targetPath:S

2020-06-16 20:07:24 227

原创 多任务处理器

好久没有发过文章了,发生了好多事,一言难尽,言归正传,自我检讨感觉自己越来越懒,本来想说工作忙,但是感觉是在给自己找借口,只是希望自己不要断更,不求一周一篇,一月一篇就可以了。原创文章,如需转载请私聊作者这一系列文章都是android框架设计,然后git地址:点击此进入github,包含所有源码设计图多任务处理器多任务处理库为的是解决批量任务处理应运而生,最初是因为写图片压缩库,当时图片处理作为一个单独的库,里面其实抽象了多任务。PS:暂时只能在android中使用,但是如果把handler去掉

2020-06-05 14:29:53 667

原创 Ubuntu上搭建jenkins

1.ubuntu安装jenkins步骤,使用命令行安装jenkinswget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ &gt; /etc/apt/sou...

2019-03-14 21:36:24 663

原创 使用SpringBoot搭建自己的博客

博客停更好久了,发生了好多事,好坏都有吧,不久前才调整好心态,还是要加油放一下我的github项目地址,不会的可以根据每次的git提交记录去学习https://github.com/1181631922/firstblog1.使用springboot+mysql搭建博客,这里要学的东西挺多的,而且因为一直做android,后端好多都忘了,好在系统的学习过springmvc,这个学起来也还好,...

2019-03-04 10:32:35 799 2

原创 自定义view之自定义折线图(二)

看一下gif效果图: 文章地址在我自己的博客: https://1181631922.github.io/2017/02/06/BrokenLineView_02/

2017-02-15 10:48:19 769

原创 自定义view之自定义折线图(一)

先看一下实现效果图: 文章地址在我的博客上: https://1181631922.github.io/2017/02/05/BrokenLineView_01/

2017-02-15 10:45:00 832

原创 android客户端首次进入轮播引导图(五)

这个也支持短视频的播放,因为暂时还没有在服务器测试,就先写本地播放的吧。 先看一下效果图:图片太大放在github上了。 https://github.com/1181631922/Recreation/blob/master/readme/start/start4.gif 这里定义了一个不显示进度条的视频播放控件:package com.fanyafeng.recreation.view;i

2017-01-13 18:34:53 687

原创 android客户端首次进入轮播引导图(亖)

剩下的就是逻辑代码了,先贴出来:package com.fanyafeng.recreation.activity;import android.content.Intent;import android.content.pm.FeatureGroupInfo;import android.media.MediaPlayer;import android.net.Uri;import and

2017-01-13 17:48:03 598

原创 android客户端首次进入轮播引导图(三)

获取服务器数据后的引导图代码,现在看一些用到的工具性代码: 记录是否是首次打开,以及获取图片接口的缓存操作 这个存放的是常量package com.fanyafeng.recreation.cachemanager;import com.fanyafeng.recreation.util.StringUtil;/** * Author: fanyafeng * Data: 17/1/13 上

2017-01-13 17:42:49 839

原创 android客户端首次进入轮播引导图(二)

如果仅仅是当做引导页的话感觉代码有些浪费,所以我写了后台可以进行配置,大体分为三种,单张图片(服务器,本地),视频(暂时只是本地,可以加服务器),多张图(本地,服务器)。 这里主要做的是一三,其实一和三可以看做一样的 这里首先考虑一下情形,首次进入用户是没有机会下载图片的,其次就是如果服务器换轮播图的话首次接口有东西的时候用户还是没有机会下载图片,只有进入到app里面下载,下载完成以后再次进入并

2017-01-13 17:28:54 922

原创 android客户端首次进入轮播引导图(一)

先来看一下效果图: 有时一小块不起眼的功能就需要好多代码完成,这个可以做成框架用的,我这里仅仅在自己的app里使用了,这里还要感谢一下谷歌。来看一下借用的谷歌的代码:// Since this is an object collection, use a FragmentStatePagerAdapter,// and NOT a FragmentPagerAdapter.public c

2017-01-12 16:29:43 2914 3

原创 视频列表的android客户端和springmvc服务端实现(三)

项目运行图太大了,我放在github上了 https://github.com/1181631922/Recreation/blob/master/readme/video/videos2.gif服务器端代码基本就完成了,来看一下客户端的代码,先来看一下json接口public final static String BASE_URL = "http://localhost:8080/recrea

2017-01-11 14:42:53 810

原创 视频列表的android客户端和springmvc服务端实现(二)

在jsp页面通过业务逻辑层进行相应的数据操作,因为我把用户登录注销了,所以当前用户是空(这里偷懒了,没有加用户的数据库,因为系统我一个人用就把用户定死了)。 这里我用了三个jsp页面进行相应的列表插入修改操作。不过首先还得先看controller:package com.fanyafeng.controller;import com.fanyafeng.interceptor.AccessRequ

2017-01-11 14:26:49 919 2

原创 视频列表的android客户端和springmvc服务端实现(一)

服务器我做了列表展示,添加视频,和修改单个视频,没有做删除 基本主要的就这三个页面操作的,还有一个json接口,我页面用的jsp挺丑的。。。 先来看一下mybaits操作sql的部分: mapper接口:package com.fanyafeng.mapper;import com.fanyafeng.model.VideosModel;import java.util.List;

2017-01-11 11:42:15 984 1

原创 通过抓包获取内涵段子的接口

先声明,技术研究不涉及商业 本人喜欢看笑话和gif动图,内涵段子是个不错的选择,但是广告有点多,然后我就抓了一下他的接口 效果图: 图片太大,我放到github上了 https://github.com/1181631922/Recreation/blob/master/ScreenShots/videos1.gif 这是接口:http://is.snssdk.com/neihan/str

2017-01-09 11:13:41 11199 12

原创 android客户端的自更新

最近给朋友使用这个app,他说你应该加上自更新,这样不用每次有新版本就单独发包了,然后因为我的也没有上市场,所以打算做个自更新。 这里我我的后台是用springmvc自己搭的,我的app的视频部分会从我的服务器取数据,然后就在我的后台加了一个更新的接口,返回true就是更新,false不更新(当然应该加上版本的判断,刚想起来的,一会加上现在就不加了)。 现在我的服务器数据:{"hasNewVer

2017-01-07 14:56:30 442

原创 Spring使用注解方式对url进行拦截

因为我的后台需要和我的客户端进行json交互,但是controller都在一个里面,然后我再dispatcher进行了拦截,所以还得在handler处理的时候把拦截打开,然后就用了一下注解,博主也是初学,可能写的很low,不过还是记录下来以后用。 先看一下拦截的xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.sp

2017-01-07 11:13:43 4510

原创 Android卸载掉oneapm出现的错误

android studio中集成了 oneapm 之后如何卸载。我现在吧 plugin 文件夹删除了,但现在编译直接报错了objc[6990]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java and /Lib

2016-12-22 18:43:44 762 1

原创 多渠道共存打包(亖)

我的工程源代码请点击这里 如果你想要这些包不能共存,那么更改一下gradle就可以了,就相当于渠道包,不过这样的话资源都是main里面的,这里图就不上了,这样的话会覆盖安装。 gradleapply plugin: 'com.android.application'android { compileSdkVersion 25 buildToolsVersion "25.0.2"

2016-12-21 12:24:06 556

原创 多渠道共存打包(三)

这次不多说了,给大家上一下代码,是用mvp写的,这里再说一下资源对应的问题,如果和main同级的z开头的包中没有的话gradle会默认从和main中进行资源的查找,这里我上代码就把main中的上一下,代码已经托管到github上了 baseview:package com.fanyafeng.codetopackage;/** * Author: fanyafeng * Data: 16/12

2016-12-21 11:20:02 434

原创 多渠道共存打包(二)

还是看一下工程结构图,这样一一对应好理解 右边的release对应着打包的名称和左侧自定义的和main同级的目录名称相同 这里是你可以选择哪个包去运行到你的手机里,在调试的时候你可以进行选择 这个是一个整体的图片,和gradle一一对应。 运行结果便是这三个,不论icon和apk的名字都是不同的,还有里面的执行结果(吐槽一下,前几帧录制总是会有延迟):

2016-12-21 11:12:22 624

原创 多渠道共存打包(一)

看一下项目的目录结构: 和main同级的并且以z开头的就是可以打的包,名字就是main的包名+其名称:app-z20111308069-debug.apk,就是这样的 如何创建这样的项目结构以及如何打出相应的包,下面来详细说一下。 创建项目初始的时候是一样的,需要把不同的东西抽取到配置文件中,比如说:icon,appname,baseurl 这是一套代码打的三个包 这里起到主要作用

2016-12-21 10:56:45 1357

原创 Android读取xxx.properties配置文件中文出现乱码解决方法

android读取assets中的配置文件英文没问题,但是中文会出现乱码的问题,前提配置文件已经是utf-8的格式了 出现问题的代码: @Override public void start() { try { Properties properties = new Properties(); InputStream inpu

2016-12-21 10:31:55 3889

原创 Android利用jsoup爬虫爬网页数据(二)

效果图太大了,我放到github上了,想看效果的点击以下链接: 效果图一 效果图二 效果图和上文是一样的,上文只是说了一下简单的,这里的稍微麻烦一点,因为上文的基本就是个列表,而且数据结构比较简单,这里就稍微麻烦一点,我先把html代码上传一下吧,这里截取有用的。<div class="recipeCategory_sub_R clear"> <ul>

2016-12-19 15:00:27 1319

原创 Android利用jsoup爬虫爬网页数据(一)

效果图太大了,我放到github上了,想看效果的点击以下链接: 效果图一 效果图二 首先这个jsoup只能对html爬取数据,js里面的东西爬不到,暂时先只爬html的数据,这里先说明一下,博主仅仅出于学习的目的,不用做商业,也不是恶意窃取数据,现在的版权问题懂得好怕怕。 他们家的数据 第一件事就是引入依赖 compile 'org.jsoup:jsoup:1.10.1'然后比较恶心的上一

2016-12-19 14:49:05 7620 3

原创 Fresco进行图片的下载,高斯模糊

使用fresco进行图片的预下载,下载转存,以及对图片进行高斯模糊 activity:package com.fanyafeng.frescopicload.activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;impor

2016-12-12 15:06:03 5357

原创 Fresco进行图片的裁剪以及加水印

fresco对图片的裁剪加水印比较简单,原理都是对bitmap进行操作,我是这样操作的 看一下activity代码package com.fanyafeng.frescopicload.activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Can

2016-12-12 14:53:51 3263

原创 Fresco加载圆角图片以及定义progressbar动画

这里我把他抽象了一个工具类,但是有个没找到相应的方法,可能是因为版本的原因,就是等待的图片的旋转。 看一下activitypackage com.fanyafeng.frescopicload.activity;import android.graphics.Color;import android.os.Bundle;import com.facebook.drawee.view.Simple

2016-12-12 14:37:30 1207

原创 android利用ZXing扫描二维码

此项目源码地址:请点击这里 看一下zxing的项目结构,我这里直接拿过来用的 看一下扫码的activity:package com.fanyafeng.barcode.activity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os

2016-12-12 11:10:49 1179

原创 android利用ZXing生成二维码

此项目源码地址:请点击这里 项目中需要,稍微研究了一下,当然是利用谷歌的zxing进行生成的。 需要加入此依赖:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcom

2016-12-12 11:01:59 811

原创 RxAndroid+Retrofit+Lambda上手项目

查看项目请点击这里:项目地址这里lambda需要java8的支持,先来配置一下环境 在app包下的那个build.gradle中加入如下代码compileOptions{ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }看一下bu

2016-12-09 16:48:57 12278

原创 RxAndroid+Retrofit项目上手

项目效果 这里简单做了个项目的首页,使用了一些material design包里面的新东西,正好练一下手,这里暂时没有结合lambda表达式,下文简单说一下。 先上一下activity的代码吧package com.fanyafeng.rxandroid.hong9.activity;import android.graphics.Color;import android.net.Uri;

2016-12-09 16:41:13 23154

android的刷新

android端的上拉下拉刷新

2015-01-22

android UI控件

android端的ui的全面的详细介绍

2015-01-22

空空如也

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

TA关注的人

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