自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android面试题整理

前言本文整理了简书 goeasyway 面试相关文章,并在文章中加以自己的理解以及看见的部分精彩评论,所有文章并非自己原创,如对Android面试有兴趣,可前往作者文章专栏传送门或者关注对方的微信公众号:Android面试启示录 Android面试一天一题(1 Day)——知道Service吗,它有几种启动方式? startService只是启动Service,启动它的组...

2018-02-27 21:56:47 3801

原创 Native JsBridge源码解析 深入理解JsBridge

最近项目中使用了 HyBrid 框架,但是在使用过程中遇到了不少问题,因此花时间来研究了一下其中原理! 在平时开发过程中,不管是可复用性非常高,可以跨平台开发的 HyBrid ,还是半 Native 半 web 浅尝辄止的 HyBrid ,对 Android 而言,陌生的就是其中的通信——Android 与 Html 的互相通信。这里就不掉书包,直接阐明其中的使用方法。引入JsBridge库//

2017-08-20 00:20:48 1796

原创 高德地图之纯粹定位

之前我了解到的地图定位都是涉及到地图显示以后的定位,然后我在新项目中对于地图不用展示,但是需要位置。一开始我的想法是隐藏一个地图控件,然后通过高德之拾取地点来实现,但是一想到整个布局需要多添加一个控件的时候,强迫症的我就受不了!后来找了几个项目,发现之前的一个工具类,经测试完全木有问题。于是这里记录下来!!package cn.com.lucky.mipi.util;import android.c

2017-07-06 14:47:37 583

原创 高德地图之实时导航

之前的文章总结了高德地图之拾取地点,接着在这个基础上继续总结了高德地图之路线规划,今天我们将在这个基础上来总结高德地图之实时导航。之前的文章如果没有看过的话,建议大家先了解一下,不然可能会看得不大懂。 其实实时导航相对来说应该是最简单的,但是API讲的不是很清楚,于是我将自己的弯路一一道来,让大家看看有没有什么收获。首先,我们按照官网API的说法来走一遍,简单来说就四步:定义AMapNaviVi

2017-05-09 00:26:38 12035 8

原创 Android路由的实现

最近在做一个项目,因为有多个功能模块,所以遇到了一个困难:当Moudle A依赖Moudle B,Moudle B依赖Moudle C,Moudle C依赖MoudleD,Moudle D为壳App,但是当我们需要在Moudle B调用Moudle C的时候,跳转不过去,因为找不到这个类,因此有了Android路由这个概念的提出,即我们可以在任意一个Moudel调用任意Moudel的Activity

2017-05-08 17:15:02 1870

原创 高德地图之路线规划

在上一篇文章中,我们讲到了高德地图之拾取地点,今天接下来总结路线规划,整个实现的过程大致如下:获取终点 规划路线 路线的选择与路线的绘制 路线结果的展示首先来看看需要实现的效果:整个布局比较简单,唯一需要注意的就是

2017-05-07 20:52:34 10335 3

原创 高德地图之拾取地点

高德地图官方有API,有文档,但是大家懂的,有些东西并没有说明。所以,我打算将自己实现对高德地图展示、定位以及导航的功能步骤做一个总结,分享给大家。本文作为总结高德地图使用,首先总结自己对于拾取地点这样的功能的实现。第一步,准备工作:首先,我们需要去高德地图获取key,然后下载sdk(包括jar包和so文件),本项目需要的sdk,如图: 当我们将key下载好以后,并且将jar包和so文件放好——建议

2017-04-30 16:08:13 13674 10

原创 AndroidStudio获取SHA1

最近因为业务需要使用地图,于是我准备一个地图key,但是申请的时候居然无法获取到电脑的SHA1值,百度的方法都是大同小异,几乎都必须使用keytool.exe才行。 但是由于我的电脑不知道什么原因,反正尝试无数次就是无法获取SHA1值,弄得我是百思不得姐啊!! 后来找到一个方法,一下就拿到了当前项目的SHA1值,使用了几次很好用,这里记录一下: //这个是获取SHA1的方法 public

2017-04-20 21:46:43 772

原创 新手自定义锁屏

几天前,看到极客学院有一个锁屏的课程,然后点进去看了看,最后实现了锁屏,但是最后各个接口并没有完善。后来自己对此进行了总结并完善相关接口。主要内容就两点: 1、锁屏界面的绘制及滑动事件处理; 2、设置锁屏手势以及解锁。 先上效果图:打开 错误滑动中1、锁屏界面的绘制,这部分我总结为四个步骤: 1.1 初始化,准备相关的尺寸; 1.2 绘制圆点; 1.3 触摸事件; 1.4 绘制触摸事

2016-11-25 15:00:54 1352 4

原创 仿微信表情图片

作为刚刚初出茅庐的不到四个月初生牛犊,因为平时公司项目比较少,给了新人相当多的时间学习,所以我就在研究了一下即时通讯软件,最近一个礼拜的时间进度都堵在了表情模块这一部分,所以我就将自己这一个礼拜以来的相关问题进行一个总结,以便和大家分享讨论,这里先上效果图:实现最终效果我打算分为三步来写: 一、组织结构(布局); 二、数据的获取; 三、整合资源实现效果。一、首先看看整个Activity的布局,

2016-06-25 15:58:02 3499 1

原创 Android IPC 之AIDL

最近在外面面试,多次被问到跨进程通信,第一次以为人家问的是 AIDL 的使用于是简明扼要的说了句:了解,但是没有在项目中使用过。后来面试的时候这个问题被提及的频率太高了,于是回来把《Android开发艺术探索》又翻了一遍,这次带着问题来看书效率确实很高,因此有了本篇文章的总结IPC 概念介绍IPC 是Inter-Process Communication的缩写,意思是进程间通信或者说跨进程通信...

2019-04-14 19:22:21 254

原创 BottomBar手动切换Tab总结

最近在使用 BottomBar 的时候遇到一个问题,解决过程颇费周章,幸运的是还好解决了,因此写下自己解决问题的方法以及解决的思路。 问题:在点击BottomBar的指定tab的时候,跳转到另一个tab的页面,并手动切换tab。如果听不明白,那咱们就看图说话,如图: 还是没有看懂?那我解释一下,当我们点击次数大于或等于5的时候(替代条件判断),当点击到 nearbyTab 的时...

2018-04-27 21:45:15 1320

原创 Fragment 工具类

去年逛 github 的时候,发现一个仿今日头条的项目(链接),发现很多好玩的东西,比如颜色的渐变,Fragment 的管理,最后在使用 Fragment 管理工具类——主界面Fragment控制器的时候栽了一个大跟头,具体情境是我的 Activity 在切换夜间模式的时候,Activity 销毁以后重建了,但是之前的Fragment并没有得到重建,导致页面上同时存在两个Fragment,而我的...

2018-03-27 23:21:33 462

原创 Glide使用总结

Glide之前一直用的是3.7版本,但是后面在使用的过程中经常遇到各种各样的奇葩问题,解决问题需要花很长时间去百度谷歌,因此将自己日常使用的方法记录下来,下次就可以直接ctrl+C了,,,,,集成混淆用法介绍 集成 repositories { mavenCentral() google()}dependencies { implementa...

2018-03-26 22:35:59 415

原创 沉浸式状态栏实践

最近有几个项目遇到了沉浸式状态栏的项目,但是使用都不顺利,但是这个问题又不是特别难,网上各种解决方案一大堆,此处来实践一番! 首先,针对网上的针对Android 4.4以上的系统,使用这个代码:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(Win...

2018-03-23 21:14:55 278

原创 ConstraintLayout之Infer Constraints(推断约束)

在使用 ConstraintLayout 的时候,发现一个异常: This view is not constrained vertically: at runtime it will jump to the left unless you add a vertical constraint less… (Ctrl+F1) The layout editor allows you t

2018-01-29 10:35:41 6089 3

原创 Android 面试宝典

Android Android 基础知识Android 内存泄漏总结Android 内存泄漏分析及总结Android 性能优化ListView 详解RecyclerView 和 ListView 异同Asynctask 源码分析-设计模式Java 基础Java 虚拟机Java 并发数据结构算法网络读书笔记面试经验

2017-12-14 21:33:33 899 1

转载 Android基础:Fragment

| 导语 Fragment作为Android最基本,最重要的基础概念之一,在开发中经常会和他打交道。本文从为什么出现Fragment开始,介绍了Fragment相关的方方面面,包括Fragment的基本定义及使用、回退栈的内部实现、Fragment通信、DialogFragment、ViewPager+Fragment的使用、嵌套Fragment、懒加载等。

2017-11-24 20:04:27 396

原创 AR 相机扫描效果实现

前端时间研究了一下 AR 相机的实现,但是觉得支付宝的 AR 相机扫描界面和一般相机扫描界面不一样,因为它的背景中间“挖的坑”是一个正六边形,而不是常规的矩形,于是就起了模仿的心思。仔细观察,发现需要实现的几个亮点:

2017-11-09 10:56:31 14265 1

原创 AR相机的实现

通过上面的代码,我们就实现了AR红包的藏,扫的话已经没有问题了,只是逻辑的实现而已。本来打算通过这个项目彻底了解一番Camera2的相关知识点,这点未达成;本来打算彻底学习图片的一些基础知识,这里也没有达成,只是简单的Ctrl+C 、Ctrl+V。

2017-09-28 23:19:56 2200

原创 限定EditText小数位数

今天在写一个限制小数位数的demo时,发现一个问题阻挠了很久,后来直接在网上百度的时候就发现已经有现成的方案了。限制一位小数:@Overridepublic void afterTextChanged(Editable s) {// TODO Auto-generated method stub//这部分是处理如果输入框内小数点后有俩位,那么舍弃最后一位赋值,光标移动到最后if (s.toS

2017-09-27 22:20:52 426

原创 第三方库、SDK混淆总结

科大讯飞SDK 不添加下面的混淆,APP会产生jni异常,如下图:-keep class com.iflytek.** {*;}-keepattributes Signature Jsoupjar包 -keep class org.jsoup.** LitePal -keep class org.litepal.** { *;}-keep class * extends org.lite

2017-09-16 23:35:45 1429

原创 加载动图的实现及属性动画的使用

昨天在一个APP上面看见一个吃东西的加载图,感觉挺简单的,于是打算去实现。但是在实现的过程中踩了一些坑,那个图也不能找到做参考了,于是自己琢磨了一个下午,终于实现了效果。因此这里将整个过程做一个复盘,以便自己能深刻的记住相关知识点。 本来应该像大佬一样将图片效果、引用方式、各个参数写出来,但是鉴于我比较懒,不对,是没有bintray.com的账号。因此就将整个过程以及源码(就一个类,有需要的朋友可

2017-09-15 13:45:46 507

原创 将一篇文章转化为语音朗读的实践

其实,我一开始也以为很简单,毕竟百度和科大讯飞的SDK都有关于语音合成的内容,但是还是踩了不少坑,前前后后花了两天时间,虽然只是实现了一小块,但是感觉代码写得有些累了,于是在这里将自己的思路给整理一下: 合成语音——保存一开始我想到如此简单,看看文档,然后直接将demo里面的代码做一个修改即可,不过真的是 too young too simple sometimes native 。我用的科大讯飞的

2017-09-06 12:32:10 3336

原创 WebView写入数据到 localStorage总结

最近项目中使用了 Hybrid 的框架,也通过 JSBridge 搭建了 WebView 与 JavaScript 的通信,但是据前端说收发消息比较繁琐,而另外一种 localStorage 的方法非常简单,我心里想:既然我已经掌握了一种方法了,为何不再学一下另一种方法?于是就简单去看了看,学了些,并做一份笔记!

2017-08-16 23:25:18 8863 5

原创 一道数学题的思考

最近在知乎上看到一个很有趣的问题:房间里有100个人,每人都有100元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?我们不妨把这场游戏视作社会财富分配的简化模型,从而模拟这个世界的运行规律。我们假设:每个人在18岁带着100元的初始资金开始玩游戏,每天玩一次,一直玩到65岁退休。

2017-08-01 11:38:34 1357

原创 Retrofit 2.0 使用总结

这天,leader给了我一张图,然后让我调试后台接口,图片如下: 我看这么简单,然后直接用浏览器测试了一下,然后返回图片如下: 然后花了一个下午时间测试,终于把接口调通了,但是居然解析不了其中的返回内容,,,,于是,在礼拜天我就花时间来研究了一下关于接口的开发! 本来我打算随便写一个 Java 类,然后用tomcat就可以测试后台了,但是我不知道如何实现上图的禁止get请求,于是问了一下这方面

2017-07-16 23:27:06 641

原创 Sophix更新补丁后崩溃

由于之前测试阿里热更新的时候,打补丁直接崩溃了!而补丁前和补丁后的APK都能正常运行,经过询问客服得知:由于热更新的时候是将整个dex修复,而dex修复的时候在4.X的系统就发生异常了! 解决措施是将Application中热更新初始化方法initHotfix()日志注释掉。然后我自己将实例化方法放在了onCreate()里面,代码如下:public class MyApplication ext

2017-07-06 09:25:51 983

原创 二阶贝塞尔曲线之波浪图(二)

昨天我写了二阶贝塞尔曲线之波浪图之后,结果装逼失败。理由是大佬说这个波浪图的效果很生硬,一般情况下波浪图是配合手势使用的。因此决定改写该控件,实现利用手势实现波浪图。

2017-06-14 10:22:09 1131

原创 贝塞尔曲线原理及应用

今天在学习贝塞尔曲线的过程中觉得很新奇,特别是之前觉得很神秘的东西一下全部融会贯通了,为了实践,特地写了一个demo——波浪图,先看效果图:纸上得来终觉浅,绝知此事要躬行!本来觉得挺简单的一件事结果各种坑!什么,你说贝塞尔曲线不简单?no,no,看看大神们是怎么总结的? 二阶贝塞尔曲线形成原理:

2017-06-12 17:30:33 1154 2

原创 压缩图片

一个人的端午太过无聊了,记一下最近遇到的一个bug。话说在用WebView加载一张本地图片的时候,直接加载速度比较慢,于是我打算将图片压缩一下质量再转为输入流给WebView,结果耗时更长了,代码如下:

2017-05-29 17:12:26 528

原创 实用工具类

第一个:SharedPreferences:在使用这个工具类的时候我遇到两个坑:

2017-05-19 17:46:38 438

转载 greendao 查询之数据去重

最近使用greendao的过程中,有一个需求:将数据库的内容根据组别展示。意思就是需要将数据库中的所有组别取出来,然后根据组别加载数据。之前我的笨办法是获取所有的数据,然后对得到的数据手动去重(比较每个实体的组别值是否一致,不是就加到一个List集合中)。 笨办法在数量比较小的数据库里面不会有什么影响,但是为了追求完美,我查询了数据库,得到需要”SELECT DISTINCT”字段才能查询,但是S

2017-05-16 11:55:50 5077 1

原创 #greendao#NoClassDefFoundError:

今天在调试项目的时候,项目编译都正常如初,但是运行的时候直接崩掉了,异常如下:java.lang.NoClassDefFoundError: org.greenrobot.greendao.query.WhereCollector at org.greenrobot.greendao.query.QueryBuilder.<init>(QueryBuilder.java:85) at org.gre

2017-05-04 15:55:55 1667

转载 仿微信录制视频之自定义View

最近公司一个项目需要实现仿微信拍照,然后我去看了看微信的界面: 然后我自己最后实现的界面是这样: 当然,这个界面不是重点,重点是这个自定义View需要实现单击实现拍照,长按实现录制视频。然后这个自定义View可以通过自定义触摸事件来完成区别。其实一开始我也不明白,为什么按下去的时候就开始调用了长按监听事件,最后还能将二者区分。最后留意到这一句代码:myHandler.sendEmptyM

2017-04-22 23:38:00 543

原创 正则表达式

话说,某一天我学习了人家通过html网页拿到“image”标签,然后通过标签拿到图片路径,然后高高兴兴的睡觉了! 可是第二天起来一看,突然图片完全拿不到了!!! 我认认真真、仔仔细细的检查了自己的修改,没有解决!于是我直接引用作者的源码,果不其然——还是不行!后来发现原来是正则表达式出了问题,因为作者的正则表达式只能搜索到包含“http”路径的图片,但是“https”的就自动排除在外了!后来解决了,方法如下:

2017-03-20 23:24:37 1390

原创 知识点总结(一)

这一周,总的来说没有用到什么新东西,有一些之前没有遇到过的,这里记录下来,方便自己整理自己的知识体系!修改自定义ActionSheetDialog设置自定义Actionbar自定义字体大小颜色Java文件配置Properties的用法这里,关于自定义ActionSheetDialog只是最近有项目用到,于是自己做了一些扩展。在扩展的过程中,走的弯路是因为之前给每一个选项的背景增加了selec

2017-03-20 22:59:05 390

原创 FanChat学习笔记(五)——终结篇

上一篇讲了主界面,里面包含了个人动态、联系人列表、会话列表,没有阅读的话建议看看FanChat学习笔记(四)——主页面。本文接着说一说添加好友与聊天界面的逻辑及一些重要的知识点。添加好友——AddFriendActivity用到的知识点添加好友——AddFriendActivity界面逻辑聊天——ChatActivity用到的知识点聊天——ChatActivity界面逻辑

2017-01-12 23:33:15 1042

原创 FanChat学习笔记(四)——主页面

主页面是FanChat的重点,本文还是接着前面继续总结。如果没有看过FanChat学习笔记(三)——注册页的话,建议先翻看前面的内容。因为本文打算研究主界面的很多主要功能,为了细致研究FanChat,我打算将其运行起来。但是之前也运行过,结果在实例化环信SDK时找不到libsqlite.so文件。 于是我猜测估计是环信SDK是旧版本,于是我将其更新到最新版本。后来我发现一个非常奇怪的事情,官方源码

2017-01-07 00:11:09 805

原创 FanChat学习笔记(三)——注册页

因为注册页和上一篇的FanChat学习笔记(二)——登录页框架很类似,几乎没有多少新知识,所以这篇文章就不像上文那样剖析了,只讲我看到的觉得可以单独记录下来的地方,如果对MVP不熟悉的话,可以先看看学习笔记一和学习笔记二。今天我们需要在学习代码之前,先看看作者需要实现的业务逻辑,原文是这样介绍的:实际项目中,注册会将用户名和密码注册到APP的服务器,然后APP的服务器再通过REST API方式注册

2017-01-03 16:37:46 769 1

高德地图组件

实现JavaScript与Android交互,增加fragment与Activity通信,将高德地图组件的位置标注、路线规划、周边搜索、选址组件全部实现在AndroidAPP的应用!详情见博客:http://blog.csdn.net/vicent_9920/article/details/51456209

2016-12-17

自定义锁屏

知识点: * 自定义View、View事件分发机制、接口通信 * 总结:http://blog.csdn.net/Vicent_9920/article/details/53308040

2016-11-25

Android事件分发机制与滑动冲突

参考Android开发艺术探索,然后用自己的理解对Android分发事件机制与滑动冲突做了一个梳理,详情请参考博客:http://blog.csdn.net/Vicent_9920/article/details/52171438

2016-08-12

仿微信表情图片加载(0713版)

主要实现233张表情图片加载,高仿微信聊天的表情模块,详情见博客:高仿微信表情图片,http://blog.csdn.net/vicent_9920/article/details/51758815

2016-07-13

自定义文件管理器

简单的文件管理,详情见博客:http://blog.csdn.net/Vicent_9920/article/details/51811658

2016-07-02

仿微信表情图片加载(优化版)

主要实现233张表情图片加载,高仿微信聊天的表情模块,详情见博客:高仿微信表情图片,http://blog.csdn.net/vicent_9920/article/details/51758815

2016-06-25

仿微信表情图片加载

主要实现233张表情图片加载,高仿微信聊天的表情模块,详情见博客:高仿微信表情图片,http://write.blog.csdn.net/postlist

2016-06-25

高德地图组件全部功能终极版

在实现JavaScript与Android交互的基础上,增加fragment与ViewPager,将高德地图组件的位置标注、路线规划、周边搜索、选址组件全部实现在AndroidAPP的应用!解决之前位置标注地图不显示以及选址组件关键字搜索结果不显示的问题。

2016-05-22

高德地图组件全部功能的实现

在实现JavaScript与Android交互的基础上,增加fragment与ViewPager,将高德地图组件的位置标注、路线规划、周边搜索、选址组件全部实现在AndroidAPP的应用!

2016-05-19

高德地图组件全部功能

在实现JavaScript与Android交互的基础上,添加fragment与ViewPager,实现高德地图的位置标注、路线规划、周边搜索、选址组件功能。

2016-05-19

高德地图组件与Android与JavaScript的交互

不用sdk,不用GPS实现位置标注、路线规划等功能,只需要一个JavaScript的key值

2016-05-16

jingDongApp

模仿京东的界面设计,运用到TabHost、动画、AbScrollView等等技术

2016-04-27

连连看游戏

实现状态管理,包括开始、暂停、停止,并且实现关卡设置,分为三级,为定义积分内容

2016-03-18

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

TA关注的人

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