wildma的博客

放弃不难,但坚持一定很酷!
私信 关注
wildma_
码龄5年

我是 wildma,CSDN 认证博客专家,简书程序员优秀作者,擅长屏幕适配。Github:https://github.com/wildma

  • 294,555
    被访问量
  • 49
    原创文章
  • 28,576
    作者排名
  • 120
    粉丝数量
  • 于 2016-06-08 加入CSDN
获得成就
  • 博客专家认证
  • 获得191次点赞
  • 内容获得83次评论
  • 获得123次收藏
  • GitHub 获得2,871Stars
荣誉勋章
兴趣领域
  • #Android
    #性能优化#Java#Android Studio#Flutter#Android Jetpack#RxJava#面试#数据结构#Kotlin#gradle
TA的专栏
  • Android 主流开源框架
    9篇
  • 设计模式系列
    2篇
  • Android常用第三方集成
    11篇
  • 网络编程
    5篇
关于我
❤ 进入 Ta 的 Github
❤ 进入 Ta 的简书
❤ 进入 Ta 的个人博客
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

6+3 种单例模式详解

前言Java 版的单例模式是以前写的了,最近又补充了 Kotlin 的写法,所以一起发出来。这里的 6+3 说的就是 Java 的 6 种 + Kotlin 的 3 种。更多设计模式系列文章可以看我之前写的 AndroidNotes。一、介绍定义确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。简单示例public class Singleton { private static Singleton instance = new Singleton; privat
原创
120阅读
0评论
1点赞
发布博客于 2 月前

Android 主流开源框架(九)LeakCanary 源码解析

前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎么使用,然后再去深究每一步底层做了什么,用了哪些好的设计模式,为什么要这么设计。系列文章:Android 主流开源框架(一)OkHttp 铺垫-HttpClient 与 HttpURLCo
原创
270阅读
5评论
3点赞
发布博客于 2 月前

Android 主流开源框架(八)EventBus 源码解析(含面试相关文问题解答)

前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎么使用,然后再去深究每一步底层做了什么,用了哪些好的设计模式,为什么要这么设计。系列文章:Android 主流开源框架(一)OkHttp 铺垫-HttpClient 与 HttpURLCo
原创
79阅读
0评论
1点赞
发布博客于 3 月前

Android Studio 4.1 问题记录

前言好久没写博客了,这几个月实在太忙,工作和生活上的事都很忙。之前计划写的 《Android 主流开源框架》 系列也断更了,一是实在没时间,二是这种分析源码的文章很少人看,Glide 源码的 2 篇文章我花了近 2 个星期(每天晚上下班开始写)才写完,结果阅读量才几百个。当然写博客肯定不是为了别人看才写的,但是写过博客的人都知道,你的博客越多人看,你就会写的越有劲!说下正经事吧!今天写这篇博客主要是我的开源项目 ScreenAdaptation 有人反映说他们的 Android Studio 升级到 4
原创
4959阅读
9评论
15点赞
发布博客于 4 月前

将博客搬至CSDN

CSDN 是我最开始写博客的平台,后来因为体验问题就转向其他平台了。现在回来啦!我的 CSDN 地址:wildma.blog.csdn.net
原创
136阅读
0评论
1点赞
发布博客于 8 月前

Android 主流开源框架(七)Glide 的缓存机制

前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎么使用,然后再去深究每一步底层做了什么,用了哪些好的设计模式,为什么要这么设计。系列文章:Android 主流开源框架(一)OkHttp 铺垫-HttpClient 与 HttpURLCo
原创
452阅读
0评论
4点赞
发布博客于 9 月前

Android 主流开源框架(六)Glide 的执行流程源码解析

前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎么使用,然后再去深究每一步底层做了什么,用了哪些好的设计模式,为什么要这么设计。系列文章:Android 主流开源框架(一)OkHttp 铺垫-HttpClient 与 HttpURLCo
原创
269阅读
0评论
2点赞
发布博客于 9 月前

Android 主流开源框架(五)Retrofit 源码解析

文章首发于我的个人博客:wildma的博客,这里有更好的阅读体验,欢迎关注。前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎...
原创
193阅读
0评论
1点赞
发布博客于 2 年前

Android 主流开源框架(四)Retrofit 使用详解

文章首发于我的个人博客:wildma的博客,这里有更好的阅读体验,欢迎关注。前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎...
原创
205阅读
0评论
1点赞
发布博客于 2 年前

Android 主流开源框架(三)OkHttp 源码解析

文章首发于我的个人博客:wildma的博客,这里有更好的阅读体验,欢迎关注。前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎...
原创
177阅读
0评论
1点赞
发布博客于 2 年前

Android 主流开源框架(二)OkHttp 使用详解

文章首发于我的个人博客:wildma的博客,这里有更好的阅读体验,欢迎关注。前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎...
原创
244阅读
0评论
2点赞
发布博客于 2 年前

Android 主流开源框架(一)OkHttp 铺垫-HttpClient 与 HttpURLConnection 使用详解

文章首发于我的个人博客:wildma的博客,这里有更好的阅读体验,欢迎关注。前言最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就是做到不仅要知其然,还要知其所以然。这里我说下自己阅读源码的经验,我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的,首先要知道怎...
原创
422阅读
0评论
2点赞
发布博客于 2 年前

Android 设备与 U 盘之间的交互

前言最近需要实现一个 TV 或一体机从 U 盘读取数据显示的功能,该功能主要解决的问题是:获取 U 盘根目录解决拔出 U 盘进程被杀死的问题一、获取 U 盘根目录获取 U 盘根目录需要分两种情况:1.1 应用程序已经在运行,这个时候插入 U 盘。这种情况我是通过监听媒体挂载的广播来实现的,具体代码如下:注册广播: <receive...
原创
97阅读
0评论
1点赞
发布博客于 2 年前

自己撸一个 Android Studio 插件

前言用过 Android Studio 进行开发的人一般都使用过插件,因为使用插件可以大大提高我们的开发效率。例如我们常用的插件有:GsonFormat:将 json 数据转换成实体类。Android Butterknife Zelezny:一键生成 ButterKnife 注解。都知道插件很好用,那这些插件是怎么制作的呢?这篇文章就讲下怎么制作一个 A...
原创
173阅读
0评论
2点赞
发布博客于 2 年前

设计模式

一、设计模式概括设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它可以提高代码的可重用性,增强系统的可维护性,以及解决一系列的复杂问题。一名软件工程师搭建的框架是否健壮、是否易维护,很大程度取决于你是否运用了设计模式。是否懂得将设计模式运用到实际项目中也是区分初级工程师与高级工程师的其中一个重要因素。二、设计模式六大原则1. 单一职责...
原创
93阅读
0评论
1点赞
发布博客于 2 年前

聊聊 Android 中的字体大小适配

本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布前言虽然去年写的一篇文章【一种非常好用的Android屏幕适配】就包含字体大小适配,但那篇文章讲的是根据不同屏幕尺寸来适配字体大小的,接下来我要聊的是字体大小适配中的其他几种场景。一、场景一有这样一个需求,界面上需要显示一个标题文本,但是该标题的文案长度是不固定的,要求标题的文案全部显示出来,...
原创
121阅读
0评论
2点赞
发布博客于 2 年前

Android 消息推送 MQTT 实战

前言年初做了一款Android TV 应用,用到了MQTT。主要实现的是类似一些景区利用大屏幕实时显示景点人数,超过人数就不允许进入。即利用闸机设备监控到进景区的游客,然后通过MQTT将消息发送给大屏幕,最后大屏幕实时显示景区人数,并响应一个消息通知闸机设备已经收到了它发过来的消息(确保消息到达)。这篇文章会模拟真实的使用流程进行讲解,即闸机发布消息——服务器(代...
原创
72阅读
0评论
2点赞
发布博客于 3 年前

发布自己的开源库让他人使用——基于 JitPack

前言在开发中为了方便,我们通常会使用第三方开源库,例如经常使用的图片加载库Glide(如下)。那么我们有没有想过自己也发布一个开源库让别人使用呢?虽然之前也发布过,但只是自己随便写的测试开源库,这次发布的也算是自己真正意义上可以给别人使用的开源库了吧!所以也顺便教大家怎么使用JitPack发布自己的开源库。compile 'com.github.bump...
原创
64阅读
0评论
2点赞
发布博客于 3 年前

Android 自定义相机实现身份证拍照,并加入自动对焦与图片不规则裁剪

一、 前言前段时间,应公司要求实现一个自定义相机,需要有自动对焦和图片不规则裁剪功能,其实难点主要也是这2个功能。经Google搜索,发现并没有现成的轮子。最后通过各种查找资料,自己封装了一个,效果图如下:二、使用Step 1. 添加JitPack仓库在项目的build.gradle添加JitPack仓库allprojects { repositor...
原创
76阅读
0评论
1点赞
发布博客于 3 年前

一个非常好用的 Android 图片选择框架

前言几乎每个APP都需要图片选择和裁剪功能,因为涉及到相机和存储,所以该功能还是要考虑很多兼容性的。这也是github上有一大堆图片选择框架的原因,但是你会发现github上找的图片选择框架并不是简单的只有图片选择, 它还包含视频选择、视频录制、图片压缩等等一大堆功能。其实你只需要一个头像选择的功能,那些框架很多功能你根本用不到,而且代码至少也几十个类,后期有问题...
原创
196阅读
0评论
1点赞
发布博客于 3 年前

详细讲解 Android Studio 中使用 Git——结合 GitLab

本文已授权微信公众号《鸿洋》原创首发,转载请注明出处。一、前言以前项目版本管理工具一直用的都是SVN,现在换成Git,并且项目托管平台使用的是GitLab。虽然经常用GitHub,但是却很少使用到分支,因为都是自己在写,也不用开发版与发布版、打Tag那些,所以这篇文章主要讲下GitLab与Git的使用。这篇文章还是会按我以前的写作风格,写的通俗易懂,并且全程...
原创
64阅读
0评论
1点赞
发布博客于 3 年前

一种非常好用的 Android 屏幕适配

更新:由于该适配方案越来越多人使用,也有很多人遇到不太理解的问题。所以为了大家更好的使用,我将文章很多内容更新了,老用户可以重新看下整篇文章。主要更新的内容是使用方法跟以前不同了,以前是不改变最小宽度基准值,根据 UI 图来计算布局中设置的值。现在改成最小宽度基准值与设计图一致,然后设计图标注多少 dp 就写多少 dp,非常方便。还整理了评论区比较多人问到的问题...
原创
120阅读
0评论
1点赞
发布博客于 3 年前

Android 友盟统计的集成与使用(包含多渠道打包配置)

前言app上线后,一般公司都希望跟踪app在市场上的使用情况。包括新增用户、活跃用户、渠道信息、错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商品。这些都可以通过集成友盟统计来轻松实现。(小提示:由于截的都是大图,可能显示比较模糊,需要查看清晰图片则鼠标点击图片放大即可)一、集成1.1 获取Appkey集成友盟SDK之前,首先需要到...
原创
74阅读
0评论
1点赞
发布博客于 3 年前

一步一步教你集成腾讯浏览服务 X5 内核

前言腾讯浏览服务(TBS,Tencent Browsing Service)整合腾讯底层浏览技术和腾讯平台资源及能力,提供整体浏览服务解决方案。(来自-腾讯浏览服务) 通俗点讲就是系统webview的增强版。我在项目中选择它来替代系统webview的主要原因是:速度快:相比系统webview的网页打开速度有30+%的提升;省流量:使用云端优化技术使流量节省2...
原创
90阅读
0评论
1点赞
发布博客于 4 年前

带你通俗易懂的理解——线程、多线程与线程池

一、进程与线程进程:进程就是正在执行的程序。线程:是程序执行的一条路径, 一个进程中可以包含多条线程。通俗理解:例如你打开微信就是打开一个进程,在微信里面和好友视频聊天就是开启了一条线程。两者之间的关系:一个进程里面可以有多条线程,至少有一条线程。一条线程一定会在一个进程里面。关于进程与线程的讲解,这篇文章讲的挺好的–>进程与线程的一个简单解释二...
原创
73阅读
0评论
1点赞
发布博客于 4 年前

Android 仿微信朋友圈全文、收起功能

前言一般在社交APP中都有类似朋友圈的功能,其中发表的动态内容很长的时候不可能让它全部显示。这里就需要做一个仿微信朋友圈全文、收起功能来解决该问题。在网上看到一个例子–> http://blog.csdn.net/e042kuuw/article/details/55107537 ,写的很不错,但是有个bug,他这个Demo只有在条目固定的时候才正常,当增加...
原创
68阅读
0评论
1点赞
发布博客于 4 年前

Android 利用 Glide 获取图片真正的宽高

前言有时候需要获取网络图片的宽高来设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片的宽高,但是这样拿到的不是图片真正的宽高,而是图片显示在ImageView后的宽高。如下: //获取图片显示在ImageView后的宽高 Glide.with(this) .load(imgUrl) ...
原创
274阅读
0评论
1点赞
发布博客于 4 年前

Android使用友盟集成QQ、微信、微博等第三方登录

前言最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,这里三方分享和登录也就选择了友盟。这里记录一下完整的集成与使用流程。1、申请友盟Appkey直接到友盟官网申请即可。一般都不用自己去申请,跟项目经理要即可。 (我这里的Demo为了方便就直接用友盟Demo里面提供的Appkey,但是创建的项目包名也要和友盟一样。真实项
原创
12275阅读
8评论
7点赞
发布博客于 4 年前

Android使用友盟集成QQ、微信、微博等第三方分享

前言最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,这里三方分享和登录也就选择了友盟。这里记录一下完整的集成与使用流程。1、申请友盟Appkey直接到友盟官网申请即可。一般都不用自己去申请,跟项目经理要即可。 (我这里的Demo为了方便就直接用友盟Demo里面提供的Appkey,但是创建的项目包名也要和友盟一样。真实项
原创
5643阅读
0评论
2点赞
发布博客于 4 年前

热修复框架Tinker最完整讲解(03)——使用Tinker常见问题

前言该系列第一篇文章 热修复框架Tinker最完整讲解(01)——集成之路 主要讲了tinker的集成,第二篇文章热修复框架Tinker最完整讲解(02)——加入Walle多渠道打包主要讲了Tinker与Walle多渠道打包在项目中的使用。这篇文章主要讲讲真实项目中使用Tinker的常见问题。tinkerId应该如何选择?tinkerId主要作用是区分当前打出的补丁包是基于哪个版本的apk,也就是说
原创
4415阅读
0评论
2点赞
发布博客于 4 年前

热修复框架Tinker最完整讲解(02)——加入Walle多渠道打包

转载请注明出处:http://blog.csdn.net/Alpha58/article/details/74906630前言上一篇文章 热修复框架Tinker最完整讲解(01)——集成之路 已经介绍我们的项目渠道包有20个,并且我们多渠道打包是采用productFlavors实现的。但是这种多渠道打包会造成20个渠道包的热更新就需要20个补丁,这样肯定是不合理的。那怎样才能实现20个渠道包只需要一
原创
1297阅读
0评论
1点赞
发布博客于 4 年前

热修复框架Tinker最完整讲解(01)——集成之路

转载请注明出处:http://blog.csdn.net/alpha58/article/details/74854680前言上个月我们的产品又更新了一个版本,当一个测试把产品上传了十几个应用市场的时候,另外一个测试突然测出一个重要bug。项目经理就说把全部渠道上传的先退回来,重新改好bug再发布。这时候我们就苦逼了,又要走一遍 签名打包->加固->签名->上传应用市场的流程。要知道我们的渠道有接近
原创
4908阅读
0评论
3点赞
发布博客于 4 年前

Scrollview嵌套百度地图MapView导致滑动有黑边或者阴影问题

问题项目中需求经常会出现Scrollview嵌套百度地图MapView,如下: 但是这样嵌套会出现Scrollview滑动的时候百度地图周边有黑边或者阴影 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:sc
原创
2058阅读
5评论
2点赞
发布博客于 4 年前

svn提交代码的时候提示Please execute the 'Cleanup' command

问题修改了代码,按往常一样提交代码,突然就报了如下错误: Please execute the ‘Cleanup’ command 。如图: 解决方法一:有些人说照着上图提示,选中项目-右键-tortoiseSVN-clean up即可解决问题。但我并没有解决问题,我用的是第二种。 方法二:重新从仓库checkout一个项目下来,然后就有一个.svn文件夹,替换刚刚那个提交不上去的文件夹中的.
原创
31575阅读
0评论
3点赞
发布博客于 4 年前

面试时最常问到的Handler消息机制源码详解

前言辞职后,最近又开始加入找工作的大军中了。不得不说今年找工作确实比以前难了。从几个朋友说他们公司快倒闭的情况也验证了这一点。最近面了2家,竟然都问到了Handler消息机制,虽然以前看过源码,但是很久没看,也忘得差不多了,讲的不是很让面试官满意,所以这里自己干脆就再总结一遍写篇博客好了。正确阅读源码的姿势有些人阅读源码是力求每行代码都要读懂,我个人感觉这个方法是错误的。正确的方法是应该按平时你使用
原创
2467阅读
0评论
2点赞
发布博客于 4 年前

最全加快Android Studio的编译速度

前言一开始公司的电脑运行Android Studio的项目那叫一个慢呀! 每次都要2-5分钟。但是电脑的内存又是8G,CPU是I7的,按道理不应该这么慢呀。后来我实在不能忍受了, 经过一番折腾,终于将运行速度提升到10-30秒以内。下面总结下几种方法。1,加大分配的内存打开Android Studio的安装目录,找到下面的文件进行修改,如图: bin\studio64.exe.vmoptions2
原创
7188阅读
0评论
2点赞
发布博客于 4 年前

Android Butterknife 8.5.1 最新使用详解

转载请注明出处:http://blog.csdn.net/Alpha58/article/details/66473277前言以前我们会在代码中写很多findViewById以及setOnClickListener等代码,不仅写起来麻烦,看起来也不整洁。现在我们用View注入框架ButterKnife就能解决这些问题。ButterKnife的github地址:https://git...
原创
974阅读
3评论
2点赞
发布博客于 4 年前

最完整Android Studio插件整理

现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择Gson
转载
29472阅读
8评论
31点赞
发布博客于 4 年前

Android使用ShareSDK集成QQ、微信、微博等第三方登录

转载请注明出处:http://blog.csdn.net/alpha58/article/details/62424058前言第三方登录几乎是每个APP的必须功能。有些人说看官方的文档实在让人眼花缭乱,以前自己第一次做这些功能的时候也会遇到很多坑。这里整理了一份比较详细的,主要给新手学习。有任何问题欢迎提出来!1、获取ShareSDK的AppKey(照着流程来,很简单!) http://bbs.m
原创
5750阅读
0评论
2点赞
发布博客于 4 年前

Android使用ShareSDK集成QQ、微信、微博等第三方分享

转载请注明出处:http://blog.csdn.net/alpha58/article/details/62228116前言第三方分享几乎是每个APP的必须功能。有些人说看官方的文档实在让人眼花缭乱,以前自己第一次做这些功能的时候也会遇到很多坑。这里整理了一份比较详细的,主要给新手学习。有任何问题欢迎提出来!1、获取ShareSDK的AppKey(照着流程来,很简单!) http://bbs.m
原创
2790阅读
0评论
2点赞
发布博客于 4 年前

Glide加载自签名的https图片

问题Glide默认加载http或者通过CA认证了的https图片都是没问题的,但是当加载自签名的https图片的时候就会报如下错误(证书路径验证异常)。 原理对于加载自签名的https图片,我们需要通过GlideModule来进行网络请求库的定制。如果你使用的是OkHttp网络请求库,则需要在app的build.gradle 中添加如下依赖:compile 'com.github.bumptech
原创
7790阅读
1评论
3点赞
发布博客于 4 年前

Android使用OkHttp请求自签名的https网站

前言很多公司考虑到安全问题,项目中都采用https加密协议进行数据传输。但是一些公司又不想花一笔钱去CA申请证书,所以就采用自签名的证书。OkHttp默认是可以访问通过CA认证的HTTPS链接,例如百度首页也是https链接(https://www.baidu.com/)。但是如果是你们公司自签名的服务器(即自己用keytool生成的证书,而不是采用通过CA认证的证书),OkHttp是无法访问的,例
原创
4425阅读
4评论
1点赞
发布博客于 4 年前

Android接入多盟广告SDK--让你的APP通过广告平台赚钱

前言个人开发者可以通过在自己的APP里面嵌入广告,用户下载你的APP,点击了你APP里的广告,您就可以在多盟平台获得相应的收益。如果是公司,那就不是为了赚那么点钱了,主要是为了与用户有更多的互动,就想着在应用里面嵌入广告。我们公司的场景是这样的: 用户点击广告-我们给用户虚拟金币-用户获取虚拟金币又可以在我们的APP的商场里面买东西的时候来抵扣现金。 广告平台有很多,常见的有多盟,有米、点金、百度
原创
28551阅读
1评论
10点赞
发布博客于 4 年前

利用高德地图关键字检索POI-实现仿微信发朋友圈搜索附近位置

前言由于项目中需要实现搜索附近位置作为收获地址,所以采用了高德地图的关键字检索POI来实现。官方Demo看了很复杂,估计很多人都不想看。但是看了我写的Demo你就会觉得So Easy啦!先上效果图高德提供了千万级别的 POI(Point of Interest,兴趣点)。在地图表达中,一个 POI 可代表一栋大厦、一家商铺、一处景点等等。通过POI搜索,完成找餐馆、找景点、找厕所等等的功能。地图 S
原创
8177阅读
7评论
2点赞
发布博客于 4 年前

Glide 中 centerCrop() 与 .transform() 共用问题(包括 4.0.0 以上解决方法)

转载请注明出处:http://blog.csdn.net/Alpha58/article/details/56835558当我们在显示一张图片的时候,想让他等比例缩放到ImageView的大小,又想这张图片实现矩形圆角.我们一开始会想到这么设置.transform(new GlideRoundImage(getActivity()))But,这样设置后,图片只有centerCrop效果,却没有矩形圆
原创
8038阅读
11评论
8点赞
发布博客于 4 年前

Android一步一步教你集成高德地图

转载请注明出处:http://blog.csdn.net/alpha58/article/details/56488734前言当项目中需要使用地图SDK的时候, 是选择高德地图还是百度地图呢?从对开发者友好角度,从容易上手角度:高德完胜百度! 所以我们公司的项目也选择了高德地图。好了!下面就开始高德地图的集成吧!一,账号与Key的申请注册成为高德开发者需要分三步: 第一步,注册高德开发者;第二步,
原创
15305阅读
16评论
8点赞
发布博客于 4 年前

FileDownloader-Android 文件下载引擎,稳定、高效、简单易用

FileDownloaderAndroid 文件下载引擎,稳定、高效、简单易用   README DOC本引擎依赖okhttp 3.4.1版本迭代日志: Change Log英文文档: Wiki、优化建议特点简单易用高并发可选择性支持: 独立/非独立进程自动断点续传需要注意当下载的文件大小可能大于1.99G
转载
9813阅读
5评论
2点赞
发布博客于 5 年前

Dagger2使用——结合MVP模式讲解

更新:根据Dagger2官方最新配置,现在配置已经不需要添加android-apt插件了,所以配置更简单了。即在下文中说的Dagger2配置的第一步与第二步都可以省略了,第三步直接改成以下即可)。 /*dagger2的配置*/ annotationProcessor 'com.google.dagger:dagger-compiler:2.4' compile 'c
原创
844阅读
0评论
2点赞
发布博客于 5 年前

带你通俗易懂的理解——Android中的MVC与MVP

首先介绍一下所谓的MVP,美国职业篮球联赛最有价值球员奖(National Basketball Association Most Valuable Player Award ,简称MVP)是一个自1955-1956赛季以来每年对美国职业篮球联赛(NBA)常规赛中全场表现最佳的球员所颁发的一个奖项。
原创
560阅读
0评论
1点赞
发布博客于 5 年前

Android获取视频缩略图

一、通过本地url获取视频缩略图 /** * 通过本地url获取视频缩略图 * * @param url 文件路径 * @param width 显示的宽度 * @param height 显示的高度 * @return Bitmap 缩略图 */ public static Bitmap getBitma...
原创
537阅读
0评论
1点赞
发布博客于 5 年前

开启博客之路

前言从今天开始,打算用博客的形式记录自己开发中遇到的问题与技术的研究。为什么要写博客?我是一名Android攻城狮,工作中肯定会遇到很多问题,以前没写博客的时候,遇到问题一般都会简单的随笔记在为知笔记上。慢慢的记得问题多了,后来遇到类似问题再到回去看的时候,发现却不知道怎么解决了,更别说解决思路了,所以这也是我为什么写博客的原因之一。...
原创
724阅读
0评论
1点赞
发布博客于 5 年前