自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 AndroidMVP+Retrofit2+Rxjava2+Rxlifecycle2组合项目框架

描述:17年最火的安卓网络框架无疑是Retrofit2.0+Okhttp3.0,而中型项目架构最火的无疑是MVP,而今年Rxjava2.0也是异常的火爆,而Rxlifecycle的支持对使用rxjava出现内存泄露问题得到完美解决,对此,之前楼主对这几种很火的技术封装过一次,现在根据业务增加,进行了二次封装。文章后面有本框架github地址。一、所用技术/ MVP  点击打开链接/ R...

2017-12-28 19:26:27 10922 22

原创 Android从0到1实现模块化开发,封装(MVP、Retrofit2、Rxjava2、Arouter等)组合框架

题外话:这一两年来随着人工智能的火爆,越来越多的人都去做AI、人工智能什么的,移动互联网的风口位置也已让贤,但是不在风口,我们也得坚持安卓下去,不是什么火我们就往那里拱(拱 二声,四川话:去),新技术总有一天也会失去众人的焦点被其他新事物所取代,所以坚持下去,我们会做的更好的。前言:在我们日常开发中,当项目业务逐渐变得多起来,在app目录下怼代码感觉会越来越臃肿,有时还会耦合的很严重,最要命最...

2018-11-30 23:22:44 3544 6

原创 Android关于overdraw过度绘制问题的解决办法getWindow().setBackgroundDrawable(null);

Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减少Overdraw的发生。Andro

2018-01-11 17:27:28 4102

原创 Android已封装好的Retrofit网络框架如何断点获取原始的json

最近在项目中遇到一个问题,相信大部分人都会遇到,先说下问题出现的情况,我项目的网络框架用的是Retrofit+Rxjava+Okhttp,一般我们封装Retrofit网络请求接口的Serivce时都会定义好动态编译泛型,如: @POST("realTimeProtectionService/findMapInfo") Observable> findMapInfo(@QueryM

2018-01-10 18:16:06 1694

原创 安卓Android打造属于你自己的TitleBar自定义控件模版

在我们实现需求的时候,有时会遇到菜单栏的多次使用,内容不一,但是结构类似,所以我们就需要制作一个模版,以适配不同情况。大概的样式就是这样的:下面我们就使用自定义控件实现一下这种需求。1.先创建一个自定义控件,构造函数使用前三个就行 public TitleBar(Context context, AttributeSet attrs) {

2017-09-07 20:19:07 653

原创 安卓Android打包生成正式版地图jks配置debug版及release版

集成百度地图的方式这里不细说,就当作所有人都知道的哦。那么众所周知,百度地图的集成形式,有一个很核心的步骤:是在百度地图官网生成AppKey,然后在自己的安卓项目里面去配置好,才能显示地图的界面(不然都显示的是格子看不到地图)。百度地图官网的appkey生成教程是获取每台电脑的debugSHA1值,这样生成的值得到的ak在其他电脑上是不能够运行的,也就是自己的电脑能用能看到地图,但是其他电脑是看不

2017-08-27 15:34:53 1487

原创 安卓android关于友盟多渠道打包

对于一个App在不同的商店里面上架,如果遇到了比如统计等相关的话就会用到我们多渠道打包,而友盟得多渠道打包是比较简单方便的,而且国内用友盟这个三方是比较频繁的,比如说三方分享等,这个用同一家三方SDK就不需要集成多余的jar了,这样不仅使App瘦身,还会让楼主这样的强迫症心头一阵暗爽啊。话不多说,开始介绍使用的方法。集成友盟的SDK就不做多说了,看文档点这里点击打开链接。1.,渠道信息通常

2017-07-24 15:56:37 572

原创 安卓Android双击退出、Javalong型时间转换成字符串格式

1.我们手机app程序中,并不是主界面点击一次back就退出程序的,这样不仅让用户体验感极差,还会造成不必要的麻烦,所以我们才有双击退出这种缓冲加提醒的操作判断,我们所做的就是拦截back键的KeyEvent.KEYCODE_BACK事件,并且判断两次点击back键的时间间隔,一般在1s到3s这个间隔可以退出,所以我们要记录下第一次按back的时间,然后比较第二次按back的时间并进行比较,算

2017-07-17 18:01:03 526

原创 关于retrofit进行网络请求时发生的奇怪错误

在我们进行的网络请求中,服务器得到的数据是乱的,具体混乱格式及情况如下:1.api接口如下:2.创建retrofit实例:3.网络工具类的单例化4.提供一个对外的方法5.在activity里面调用api及网络工具类然后我们传入一个map集合到getallcar方法里面,然后服务器收到了一串乱码,然后我和后台对接了半天,发现原因如下:

2017-07-10 22:09:47 1776

原创 android安卓java文件转kotlin格式

下面我们要分四步完成Kotlin的配置。新建一个Android项目。修改Gradle代码来添加Kotlin Gradle插件与标准库。在IntelliJ或Android Studio中添加Kotlin插件。将Java类文件转换成Kotlin。首先,直接以默认方式新建一个Android项目,此时应该自带一个Activity。之后,要在两

2017-06-22 23:10:20 5683

原创 android安卓中自定义的对象序列化问题

一、序列化的原因:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。二、选取哪种可参考下面的原则:1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类。2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。

2017-06-21 22:27:11 361

原创 android安卓根据地名查找经纬度(百度地图)

// 开启一个子线程,进行网络操作,等待有返回结果,使用handler通知UI,senon    new Thread(newworkTask).start();       Map myMap ;    Map myMap2 ;    public void getLatAndLngByAddress(String addr){        String addre

2017-06-21 22:25:17 1585

原创 android安卓调用相册及相机并将图片保存本地

1.由app跳转到系统相机:// 调用系统相机Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// 指定调用相机拍照后照片的储存路径                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment

2017-06-21 22:19:44 962

原创 关于TotoiseSVN版本控制工具的使用

一、签入源代码到SVN服务器比如我们使用Android Studio创建了一个工程项目,我们想把这个工程传入到我们的SVN Server的代码库中,鼠标右键点击:点击Import,弹窗如下:点击OK。弹窗叫你输入Server端给你注册的客户端账号及密码,点击确定就开始上传了:二、签出源代码到本机创建文件夹Android Studio Applicatio

2017-04-16 22:07:23 280

原创 安卓Android关于adb服务不能运行的问题

1.运行 cmd 中的adb device,如果出现不是内部命令就是环境变量没有配置好  --1.在stduio2.2以前的话查看adb.exe在自己下载的androidSDK文件夹下的tools,2.2以上版本换了个地方      放在了platform-tools下面    2.这时候直接把adb.exe路径添加在配置java环境变量的path后面    3.此时运行adb d

2017-04-15 11:00:17 1291

原创 安卓Android之ListView与RecyclerVeiw的区别

1)listview不负责子布局的绘制,而是在布局的时候将子布局添加进去了,也就是在setcontentview时会调用layout,这时候item已经进去了,所以能findviewbyid。而recyclerview里面有ondraw方法,解耦好,是通过绘制上去的而不是布局上去的。2)viewholder:R必须实现,L没有要求必须实现3)layoutmanage:R有三种4)Ite

2017-04-09 23:23:32 300

原创 安卓AndroidScrollView嵌套ListView的问题及其优化

在写项目的过程中通常会用到ScrollView嵌套ListView的情况,此时我们使用原生的ListView会出现只显示一行的情况,并且可能会出现scrollview与listview的滑动出现冲突,前者是因为在scrollView中ListView在OnMeasure阶段无法测出实际的高度,后者是因为事件冲突。第一个问题的解决方案有三种。1.写死listview的高度,前提是在scrol

2017-04-08 23:56:11 455

原创 安卓Android自定义控件之自定义时钟

源码地址: https://github.com/senonwx/CustomClock.git作出的效果贴出核心代码1.绘制表盘private void drawCircle(Canvas canvas) { mPaint.setStyle(Paint.Style.STROKE); canvas.drawCircle(width/2,height/2,

2017-04-06 00:17:36 434

原创 安卓Android短信验证功能实现

先发源码: https://github.com/senonwx/SMSService.git现在很多App会为了安全给设置什么短信验证功能,对于我们开发者来说是个头痛的问题。但是呢,万事开头难,不要怂,就是干。接下来就一一为你解答。首先呢,这个Demo我用的是shardSDK的短信SDK,很好用,也很简单,说明一点,如果你是个懒人呢,就直接用他的GUI,如果想自定义,也可以,不过它的也不

2017-04-04 23:40:00 448

原创 安卓Android事件总线EventBus简单使用

EventBus是的主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息,优点是开销小,代码更优雅。以及将发送者和接收者解耦。三要素:1)Event:事件(乘客)2)Subscriber:订阅者(目的地)3)Publisher:发布者(汽车站)另外还要注意的是线程模型(ThreadMode),待会儿

2017-03-31 21:16:24 389

原创 安卓android网络框架之Retrofit个人使用心得

废话不多说,我们直接进入正题。使用retrofit首先得依赖一波。compile 'com.squareup.retrofit2:retrofit:2.2.0'1.retrofit是将HTTP API转换成JAVA接口来试用:public interface MyApi { @GET("\\伪路径") Call myFun(@Body response body);

2017-03-30 20:55:14 601

原创 安卓android网络框架okhttp介绍及使用

简介OkHttp是Square出的Http通讯库,支持HTTP和HTTP/2,用于Android应用和Java应用。OkHttp是非常优秀的Http通讯库,将Http连接中各种繁杂的问题,对并发的支持,对常见异常的处理等封装在底层,提供简单易用的API供应用中调用。与之相比,HttpUrlConnection的使用过于复杂,Appache的HttpClient在Android平台上

2017-03-29 21:37:48 662 1

原创 android安卓mvp架构简单教程(附登录注册小demo)

MVP简介MVP的出发点是关注点分离,将视图和业务逻辑解耦。Model-View-Presenter三个部分可以简单理解为:Model是将在视图中显示的数据。View是显示数据(model)的界面,同时将用户指令(事件)发送给Presenter来处理。View通常含有Presenter的引用。在Android中Activity,Fragment和ViewGroup都扮演视图的角色。

2017-03-28 21:01:37 1489

原创 Android安卓属性动画PropertyAnimation简单使用实例

博主在实际开发过程中第一次接触了属性动画,感觉用起来非常之爽,不像帧动画个补间动画那样好看不好用,并没有实际用途(个人感觉)那么好,接下来进入正题。  那么我们应该如何使用呢。  首先是ObjectAnimator这个类,一般来说我们使用简单的动画时,比如较为单一的动画,旋转、缩放、等等可以直接用这个API  一句话就可以使用了,超级简单ObjectAnimator.ofFlo

2017-03-27 13:13:25 430

Java&Android; SHA1、SHA-512、SHA-384等加密算法

Java&Android; SHA1、SHA-512、SHA-384等加密算法工具类

2018-01-31

roid studio3.0更新之后,输入法不提示解决(更换jre)

android studio更新到3.0之后,在studio内编辑中文时,不出现提示框,该资源文件用来替换调更新studio之后的内置jre文件夹,即可修复该问题。

2018-01-31

安卓状态栏导航栏沉浸式工具类

通过设置全屏,设置状态栏透明来适配有DrawerLayout或ActionBar以及普通ViewGroup的布局

2018-01-15

以px分辩率适配时的工具类

以屏幕分辩率为基准为安卓各类设备及各个机型进行px适配。

2018-01-15

titlebarres

titlebar资源文件,图片,代码包括attrs、layout等文件 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

2017-09-07

空空如也

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

TA关注的人

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