自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anonymous

一个热爱编程的草根程序员

  • 博客(48)
  • 资源 (36)
  • 收藏
  • 关注

转载 Flutter、RN、uni-app比较

2020-11-25 16:06:17 11134

原创 手写简单的【观察者模式】

1、创建回调接口public interface IObserver { void onResult(String result);}2、创建调度中心public class Observer { private Observer() { } private static class SingleTon { static Observer INSTANCE = new Observer(); } public stat

2020-10-27 17:52:20 8584

原创 Android插件化方案实践

插件化概述1、插件化和组件化的区别组件化是将一个app拆分为多个模块进行协作开发,每个模块都是一个单独的组件,这些组件可以相互依赖,也可以单独调试运行。但是最终发布的时候,这些组件会合并在一起,组成一个整体的apk,这就是组件化开发。插件化开发和组件化是有所不同的,插件化开发就是将一个app拆分成多个模块,但是每一个模块都是一个apk,最终打包的时候将宿主apk和插件apk分开打包,独立分发。宿主apk发布到市场,插件apk通过动态下发到手机存储空间,然后进行插装操作,宿主apk就能够加载..

2020-07-27 10:18:59 5571 2

原创 移动端的架构演变

一、架构设计目的通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合,这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。对于不同量级的工程,具体架构的实现方式必然是不同的,所以对于移动端来说,逐渐演变出MCV、MVP、MVVM三种结构模式。二、MVC架构模式 图1 单向通信1、工作模块View(视图):...

2020-07-24 16:49:24 4714

原创 WebView调用微信H5支付

相关文章:okhttp3.0忽略https证书好长时间没有写博客了,感觉自己颓废了不少,这也取决于移动端逐渐趋于稳定的原因,随着自己公司业务的不断扩大,还是会遇到种种问题,最近手上一个需要是app内H5进行微信支付,所以就着手搞一搞。一、微信支付已经开放出了H5支付的场景,但是微信的目的是在浏览器中直接进行微信支付,所以手机浏览器对微信H5支付支持的是很好的,但是他的文档说不建议在app中

2017-12-07 13:14:44 45258 20

原创 Glide3.0加载https图片

相关文章:okhttp3.0忽略https证书在上一节说到的是用okhttp如何忽略证书来访问https请求,但是访问是可以访问了,但是图片却加载不出来,这是什么原因

2017-07-06 11:22:44 10941 1

原创 okhttp3.0忽略https证书

最近公司项目需要,网络协议支持https

2017-06-14 12:46:37 43663 14

原创 Android提示BOM错误排查

今天遇到了一个很奇葩的问题,Android程序一直运行良好,今天再发新版本的时候进行打包发布,但事打包的时候提示了一个错误,看一下截图:这是什么鬼?ByteOrderMark?百度了一下,BOM是微软了一个编码方式,但是跟我有鸟关系啊,并且程序提示的错误是在一个Bean的实体类中,如下:难道是后台大神给我传的json字符串有问题?给我的json字符串的编码有问题?前后台联调

2017-04-18 11:17:35 2095

原创 Android分包那些事(突破65535)

公司的项目又是一个阶段性的完成,又到了总结项目经验的时候了,最近我并没啥可总结的,就是遇到了一个65535的问题,还是记录一下吧。一、说道65535,网上的解决方案很多,但是再多,也不如自己亲身经历一把,最近我就遇到了,下面来看一下报的错误:我看了很久没看明白这是啥意思(不好意思,我的英语很垃圾),看表面应该是RxJava的问题吧,但是这不应该的,抽了一颗烟,考虑了许久,还是没看出

2017-04-13 18:35:44 5598

原创 Retrofit踩坑之Delete请求

来到一家新的公司,时间直接不够用了,版本出的飞起,很长时间没总结自己最近学到的东西了(其实也没学什么)!公司的后台是一个搞php的大兄弟,我们进行对接。在对接的过程中,鄙人不才,一般都是用的POST和GET的请求居多,确实对DELETE请求接触不多,这次后台的大兄弟就直接让我提交DELETE请求来进行实体的删除操作。那就来呗,不就是和POST差不多嘛,代码如下:@DELETE("bean/

2017-03-02 18:41:18 21087 9

原创 GreenDao3.0使用详解

随着移动端的业务量的增大和用户体验的提高,SQLite的需求很明显了,大大小小的项目几乎成了必备,用我们项目经理的话来说:1、不用管他什么数据,为了体验,先缓存一下!2、什么?网络不好导致的?看什么,缓存啊!!!真不知道他是在哪里听到的这个词,唉!在他看来,缓存是如此简单的一件事情,当然,缓存其实并不难,就是有点麻烦而已!之前我一直是用Realm,目前Realm被人称为移动端的

2017-01-04 10:47:13 23389 10

原创 WebView启动支付宝客户端支付失败的解决办法

目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服的开发文档上明确写有支付宝支持手机网站支付,所以那就集成呗,但是做完之后出现了一个问题,不知道是不是Android端集成出现了细节问题,然后再使用支付的时候,支付宝客户端具有一定的失败率,所以失败了只能采用收银台支付,虽然可以实现支付,但是体验方面还是达不到公司的要求。在支付宝官网上我们可以看到这个界面他说

2017-01-02 12:00:43 21914 14

原创 Retrofit在客户端保持Cookie(服务器的Token验证)

移动端项目和网站还是多多少少的区别的,拿这个用户登陆过期验证这个流程来说吧,一般的网站是不会做处理的,他们访问的时候会自动验证Cookie的有效期的,移动端这样处理就不行的,他是不会保存Cookie的,所以我们在做项目的时候,一般来说,服务器的哥们都会在登陆成功之后给你返回一个叫做Token的东西,其实就是验证授权,这样,你用移动端每一次网络请求都把这个Token当做公共参数传递给服务器,这时候服

2016-12-10 14:24:07 12474 7

原创 android下拉刷新和listview冲突解决方案

常见的下拉刷新都是带有一些自定义的listview、gridview和webview,我们导包直接用就行了,但是为什么他们要自定义一些常用的控件呢?直接在外边套用不行吗?类似于SwipeLayout,他是在ViewGroup的层面上动刀,可以嵌套任何的组件的,那么我们先去看一个效果你就知道了。效果图:我之前用的都是封装库,没有在吗碰到过这总情况,但是自己写了一个下拉刷新之后

2016-12-10 09:51:27 2951

原创 RxJava的封装和研究

对于RxJava,现在有大量的博客来讲解,但是学会了RxJava不代表它好用,得适当的封装一下,达到我们的开发要求。RxAndroid的常规用法:API.Retrofit().getListInfo(params) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(n

2016-11-28 17:39:49 7648 7

原创 WebView详解一:打造优雅的WebView

一、使用WebView并不需要开通网络权限     WebView可以加载本地Html文件和加载网络的Url路径,对其都有很好的支持二、Xml使用<WebView android:id="@+id/blog_detail_webview" android:layout_width="fill_parent" android:layout_height="wrap

2016-11-23 17:09:34 7574 4

原创 WabView详解二:Android与JS交互的实现过程

在类似于电商平台的APP中,有时候涉及到复杂的逻辑,我们有必要来在我们的APP中内嵌一些H5页面,但是内嵌并不是代表我们什么也不管了,有时候我们需要在H5中来调起Android原生控件,这就需要使用Android与JS交互进行数据通信。先看一下效果图:底部为白色的是WebView,页面上只写了一个Button用来和Android端通信,点击页面上的Button,Android端会接

2016-11-23 11:40:06 3138 2

翻译 仿IOS效果-ToggleButton

因为有了Studio的Jcenter,我们在开发中集成某个功能会简单了很多,分享一个小的UI特效,仿IOS的开关按钮,看效果;第一步:引入依赖:compile 'com.zcw:togglebutton-library:1.0.0'第二步:设置自定义布局<com.zcw.togglebutton.ToggleButton android:id="@+id/to

2016-11-21 16:25:50 3496 4

原创 AS中manifest合并失败的问题

今天在导入一个依赖的时候,一直编译不通过,报的错误如下面截图所示:

2016-11-17 16:25:11 2388

翻译 android图片预览功能-缩放、平移

有一种效果你值得拥有,像ViewPager预览图片集的功能是各个APP上都会用到的,这里提供一个好用的封装的控件,先看效果:

2016-11-15 11:45:59 6328 4

原创 Retrofit多文件上传

说到网络框架,从入门级别的android-async-http->Volley->Okhttp->Retrofit+RxJava,之前我比较钟情于android-async-http,使用简单暴力,后来Google在API中移除掉了HttpClient的相关的支持,我又大力使用Okhttp。第一眼看Retrofit的感觉是:哼,啥玩意啊,如果变换一个参数,起码改两个地方,看起来不灵活,难用,但

2016-11-13 21:28:54 34732 4

原创 Android麦克风录音的实现

最近公司有一个业务,就是通过IM发送音频,我用的是环信的第三方,自定义发送音频,写了一个录音的demo,录制完成之后发送。这个Demo测试之后感觉还不错,分享一下。一、添加权限:二、XML文件(三个按钮)<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" a

2016-11-12 08:56:10 6075 1

原创 下拉刷新?我看好MaterialRefreshLayout!

谈一谈下拉刷新下拉刷新不再是很高大上的东西了,Android应用必不可少的一个存在,大部分的下拉刷新都是基于基本组件的如:ListView,GridView之类的,不同的组件用的布局是不一样的,虽然功能强大,但是难免切换来切换去会烦。Google考虑到这一点,在V4的包中给我们提供了一个简单且牛逼的组件库就是SwipeLayout。SwipeLayout是从ViewGroup的层面上动刀,

2016-11-05 16:43:27 5646 1

原创 Android链式结构封装

相关文章:《Okttp3.0简单的二次回调封装》在java面向对象语言中,一贯喜欢采用函数式编程,把一个复杂的逻辑分解成几个函数来相互调用来达到自己的业务逻辑,一直用过okhttp的盼望能够有不知道有没有对okhttp的链式结构感兴趣呢?今天没事,试着写了一下。拿我们最熟悉的AsyncHttpClient这个网络请求框架做例子:一、AsyncHttpClient的常规用法Async

2016-11-04 10:40:16 4249

原创 Android闪光灯实现

今天接到了一个面试的通知,面试的题目是15分钟实现一个手机闪光灯的效果具体的代码如下:一、声明闪光灯的权限  二、具体的代码如下:package com.google.yang.myapplication;import android.hardware.Camera;import android.hardware.Camera.Parameters;import a

2016-10-27 15:17:34 8020 2

原创 项目解耦必备-EventBus3.0的简单讲解

相关文章:《项目解耦必备-EventBus的详细讲解(一)》EventBus3.0出来很长时间了,但是我还是想写一下,当作自己的笔录Gradle引入:compile 'de.greenrobot:eventbus:3.0.0-beta1'EventBus2.0使用是这样的:public void onEvent(MessageEvent event) { log(e

2016-10-12 15:19:22 895

原创 BottomSheetDialog的简单实用

在开发过程中有很多的地方是需要到底部弹出的Dialog的,开源的东西也很多,这里Google也为我们封装好了一个从底部弹出的Dialog样式,使用很方便,不需要再自定义了。因为BottomSheetDialog是MD风格的,所以我们需要先引用一下SupportDesign的库第一步:Gradle引用compile 'com.android.support:design:24.2.0

2016-10-08 12:09:40 2567

翻译 一秒集成 省市区三级联动选择器-CityPickerView

第一步:Gradle引用compile'liji.library.dev:citypickerview:0.1.0'第二步:代码示例CityPickerView cityPickerView = new CityPickerView(MainActivity.this);cityPickerView.setOnCityItemClickListener(new CityPic

2016-10-08 11:33:45 8251 5

原创 AlertDialog和Toast那点事

Dialog和Toast开发Android的程序员来说肯定是不陌生的,这个平时我们会经常用到的,经过我的研究发现了一点小的技巧,知道的朋友勿喷!一、Dialog     来说一下Dialog的基本用法,相信大家经常使用了: AlertDialog.Builder mAlertDialog = new AlertDialog.Builder(MainActivity.this);

2016-07-29 15:27:01 2174

原创 Android自定义View二(加载进度动画)

关于自定义View,打算一直写一个系列,把整个流程自己也梳理一遍,和一些朋友一起从零学起。相关文章:《Android自定义View(一)(Paint和Canvas的基本使用)》昨天公司让写一个关于百分比进度条,我一贯的尿性,开始网上看一些开源的控件,但是发现,尼玛代码太长了吧,写的好啰嗦啊,算了,自己写一个吧,于是开始陷入深深的思考之中,写出来之后和大家分享一下这个

2016-07-06 15:36:47 1047

原创 自定义Toast样式

好长时间没写博客了,刚换个新工作没几天,今天公司小组要求写一个自定义的Toast,工作交给我了,其实并不难,几分钟搞定,把代码发出来当做记录一下把。废话不多说,上效果:结构目录:代码解析:1、toast.xml布局很简单就是一个ImageView和TextView横向排列,不解释:<LinearLayout xmlns:android="http://sche

2016-06-16 12:47:55 16512 3

原创 onActivityResult的各种"坑"

最近写了一个东西,其中需要用到Activity的回传值的问题,当时没有用消息总线,也就是EventBus,只是用了startActivityForResult() 和 onActivityResult() 方法来传递或接收参数,谁知道遇到了各种坑,下面给大家分享一下。一、执行了startActivityForResult()方法之后,第二个Activity还没有做任何操作,onActivity

2016-05-16 16:42:40 2131

原创 RecycleView+CardView实现卡片式列表(附带Item回调监听)

自从Google的Material Design风格的出现,一直都Android开发程序员的追捧,我也比例外,没事也喜欢研究研究Google的这种设计,没事喜欢写点Demo测试一下效果,今天给大家带来的是RecycleView和CardView结合使用实现的卡片式列表布局,其中回调封装了RecycleView的Item的点击事件。大家都知道,RecyclerView注重的不是布局,而是回收与复

2016-05-12 15:50:31 6876

原创 Android图片压缩

好长时间没写博客了,最近忙着毕业的事。其实我一直想写一篇关于图片压缩的博客,写博客其实也是为了整理一下自己学过的知识和思路作为记录。Android的图片压缩不仅是在移动开发中是难点,在任何语言中处理起来都不是特别简单。一般来说分为两种:尺寸压缩和质量压缩,这两种是最常见的,在APP开发过程中图片上传最是很常见的了,现在市面上的手机像素都非常高,比如Vivo手机一张图片差不多得15M左右,这对于

2016-05-10 12:44:26 2203 1

原创 Android自定义View(一)(Paint和Canvas的基本使用)

Android开发中自定义视图是走向高手的必经之路,如何绘制漂亮的图形呢,让我们一起走进Android绘图的世界想要自定义视图,第一步就是Paint和Canvas的基本使用,下面让我们来一起学习绘图中画笔和画布的基本使用。一、Paint属性   setAntiAlias: 设置画笔的锯齿效果。   setColor: 设置画笔颜色   setARGB:  设置画笔的a,r,p,

2016-04-28 23:05:14 1151

原创 Android调用WebService详解

我们在Android开发中,需要掌握的不仅仅是http的请求方式,有时候我们还需要去调用服务器端的Web Services,Web Services到底是什么东西的?怎么来用呢?因为项目需要,所以花了一个晚上的时间研究了一下,下面把学到的给大家分享出来。一、Web Services在很久之前就有了,所以他并不是一个新鲜的东西。Web Services是建立在通用协议的基础之上,如HTTP、SO

2016-04-25 20:48:19 5576

转载 项目解耦必备-EventBus的详细讲解(二)

相关文章:《项目解耦必备-EventBus的详细讲解(一)》《EventBus使用详解(二)——EventBus使用进阶》  请尊重原创在项目解耦必备-EventBus的详细讲解(一)文章中我们只解释了EventBus的onEventMainThread()订阅函数的用法,但是其实还有三个方法我们没有说,下面就详细说一下其他的三个函数是什么意思。在Eve

2016-04-21 15:07:25 756

转载 Android属性动画Interpolator(插值器)

本篇文章转载于点击打开链接,请尊重原创Interpolatort通常在动画中使用,主要来改变动画变化率。常用的有下面几种Interpolator,下面图文解说下:AccelerateDecelerateInterpolator开始与结束的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator开始的地方速率改变比较慢,然后开始

2016-04-20 10:44:52 1475

原创 Android属性动画使用详解

我们平常用到的大多数都是传统动画,简单的平移、旋转、透明度等动画效果,但是这种传统的动画有一个致命的缺点,就是不是真正意义上的改变了属性,而是效果出现了,属性没有变化。举个例子,你平移一个按钮,在按钮上加一个点击事件,那么等按钮平移完了之后,点击事件的响应其实还是在原地的,你点击它平移之后的地方是没有响应的。Google也考虑了这一点,所以在在3.0之后加入了一个属性动画的概念,让我们一起领略一下

2016-04-20 10:07:28 1586 1

原创 程序的核心—重视模块化

重视模块化,重视抽象但不滥用我刚接触编程的时候,在网上看到许多大牛写程序都十分注重模块化,因此我就下意识的模仿他们;后来看SICP,知道了抽象的好处,因此在写程序的时候会仔细思考抽象的问题。这些对我都有着非常大的帮助。在一篇讲述程序员代码行数瓶颈的博客中(程序员的成长和代码行数的关系)提到,程序员在2k行、20k行、200k行等若干程序规模时会遇到瓶颈,如果不用更科学有效的方法

2016-04-20 00:03:26 1045

国密SM2、SM3、SM4算法封装

本Demo是用Android代码来实现的【国密SM2、SM3、SM4】的算法,Java均可使用,代码叫简洁,每个加密算法几行代码均可实现。

2020-07-24

H5网页录音

支持Html5网页录音,格式为wav,单声道,采样率为16000,亲测可用!

2018-11-13

科大讯飞demo(语音识别精简版)

本demo是从科大讯飞的demo中选择语音识别的模块抽出来的,非常简洁,只需要改一下appid,就可以正常使用,6.0以上的版本需要动态申请权限,有问题直接博客留言。

2017-05-19

各种Dialog集锦

包含仿IOS底部和中间弹出框,自定义对话框,ColorDialog对话框

2016-12-17

Retrofit多图片上传Demo

支持多图片+参数上传,尽可能把你想要上传的参数都用Retrofit包装吧

2016-11-19

RecycleView+CardView(附带Item的回调监听)

此Demo综合使用RecycleView和CardView实现卡片式的列表

2016-05-12

ksoap2-android.jar

Android调用WebService必须的Jar包下载

2016-04-26

Android属性动画

本文是一个关于Android属性动画的一个小demo,效果还是可以的,提供给新手朋友使用,欢迎关注我的博客。

2016-04-20

okhttp二次回调封装Demo

本文写的主要是一个关于okhttp的网络框架的简繁封装,提供给新手朋友,欢迎关注我的博客

2016-04-20

Okhttp简单的二次回调封装Demo

Okhttp简单的二次回调封装Demo

2016-04-20

Android属性动画Demo

Android属性动画Demo

2016-04-20

Android手机WIFI拦截器

一款手机WIFI拦截器

2016-04-14

EventBus-jar包

EventBus-jar包

2016-03-23

EventBus.jar

2016-03-23

美淘网源码(外包项目)

在外包项目中做的一套源码,不包括服务器源码,功能强大,全套内容应有尽有

2015-12-22

ViewPager图片轮播,自动播放

本例子的效果是利用Viewpager进行广告栏的轮播,效果极佳。

2015-12-04

android刮刮乐源码

本例子是实现了简单地刮刮乐的游戏,希望能帮助新手朋友

2015-11-25

AndroidNFC小例子

这个例子简单地实现了手机NFC的工作原理,对新手有所帮助

2015-11-25

Android仿淘宝自定义半透明圆角Dialog

仿淘宝网络加载是显示的progressDialog,半透明效果,并且界面漂亮简洁,下过还是可以的

2015-10-15

手指点击区域的透明羽化效果

本dome呈现了手机中的羽化的效果,手指点击的区域会音乐清晰的展现图片,其他的区域白色,给人一种朦朦胧胧的感觉。

2015-09-12

仿人人网客户端

高仿人人网客户端的源代码,里面集成了很多android基础控件的使用,适合新手朋友进行分拆学习。

2015-09-12

下拉刷新加上拉加载更多

androidSDK种自带的下拉刷新,效果酷炫,使用简单,没有第三方支持库。

2015-09-12

软件开发常用英语词汇

对于软件开发的人员来说,英语有时候真的是硬伤,所以针对于这些,我整理了一些关于软件开发相关的词汇,拿出来希望可以帮助大家!

2015-08-18

别说你很懂电脑

本人自己整理了一些windows启动方式的资料,编写了一本PDF的电子书,感觉很有必要,本资料包括现在最流行的UEFIDE启动方式和和传统的BIOS的启动方式,全面详细的给大家解释了电脑在开启时候所经历的过程,希望对大家有所帮助!

2015-08-18

activity之间跳转的华丽效果

activity之间的跳转google给的效果很单调普通,下面个大家提供一些精美的过渡效果的xml文件,简单易用,只需要复制进去就可以实现activity之间跳转的华丽效果,是整个项目有一种酷炫的感觉,不在感觉单调。

2015-08-13

底部弹出dialog

很多客户端都流行实现在底部出现dialog对话框,这看起来很屌的样子,其实实现起来不难,看完这个例子你就知道了

2015-07-02

手势实现播放器的进度和音量调节

手势调节音量和进度是现在的多媒体不可或缺的一门技术,现在我就带大家来如何实现这么一个功能

2015-07-02

建行圆形旋转菜单

建行旋转菜单是一个非常漂亮切炫酷的效果UI,下面我就提供一下实现代码,带你们领略一下炫酷菜单的功能实现

2015-06-29

android抽奖系统

自己做的一个小例子,实现了一个随机抽奖功能的实现,大家可以没事研究一下,欢迎下载!

2015-06-29

android模糊查询

本例子实现了搜索自动补全的功能,类似于模糊查询,功能虽简单,但是达到完善也是要花费一段时间的!

2015-06-29

获取60秒验证码

验证码现在是移动端的主流,几乎是离不开的,下面带你们来看看如何实现一个60秒的验证码的功能

2015-06-29

listview滑动删除

本例子仿QQ5.0版本listview滑动删除的效果,例子详细,界面漂亮,适合朋友们来研究

2015-06-29

android时光轴效果

下面带你走进漂亮的android时间轴的世界,本例子向西解释了如何创建一个时间轴UI界面

2015-06-29

android安全机制解析与应用实践

《android安全机制解析与应用实践》是android安全领域的经典著作,不仅深入剖析了原理,而且还给出了应对各种安全问题的方法,原理与实践并重。首先,结合android系统的源代码从应用层、应用框架层、硬件抽象层、系统内核层等多角度剖析了android的安全机制和实现原理,以及安全机制中存在的不足和潜在风险;然后详细讲解了各种常用的实用分析工具、安全风险分析方法、安全策略,以及各种常见安全问题(内核、文件系统、应用程序及无线通信)的解决方案。

2015-06-03

仿QQ登陆全套源码

详细展示了QQ登陆界面所有的效果,包括一开始的导航界面!

2014-11-25

SlidingLayoutDemo修正版

此资源利用简单的代码来充分展示了SlidingLayout的运用,让初级开发者体会到SlidingLayout的用法!

2014-08-31

空空如也

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

TA关注的人

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