关闭
当前搜索:

[置顶] Android自定义控件 温度旋转按钮

1.介绍首先看下效果图2.思路 初始化一些参数 绘制刻度盘 绘制刻度盘下的圆弧 绘制标题与温度标识 绘制旋转按钮 绘制温度 处理滑动事件 提供一些接口方法 3.实现初始化一些参数public class TempControlView extends View { // 控件宽 private int width; // 控件高 private int height;...
阅读(2366) 评论(8)

[置顶] Android自定义控件 芝麻信用分雷达图

本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发。 1.介绍首先看下支付宝上芝麻信用分的效果图:2.思路 确定雷达图中心点坐标 绘制多边形及连接线 根据维度值绘制覆盖区域 绘制分数 绘制每个维度的标题文字和图标 3.实现获取布局的中心坐标在onSizeChanged(int w, int h, int oldw, int oldh)方法里面,根据View的长宽,计...
阅读(4869) 评论(24)

[置顶] 自己动手写一个Android Studio插件

1.介绍官方文档在使用Android Studio开发的时候,大部分人都会使用一些插件来提高开发效率,比如: ButterKnife 自动生成注解代码 PermissionsDispatcher 更方便的进行Android 6.0权限处理 像这样的插件还有很多很多,但我们不能一直停留在用的程度,这样太不符合程序猿的风格了,今天就让我们自己动手来写一个插件,当以后自己有好的想法的时候,也能写一个出色的...
阅读(2573) 评论(2)

[置顶] Android 使用JitPack快速发布你的GitHub开源库

1.介绍Android Studio使用了Gradle来管理依赖,这让引入第三方库变得更加方便高效,目前在Studio中使用Gradle依赖,有几种方法: jCenter Maven Central 使用其他自定义的仓库 使用Center和Maven Central的方式太过繁琐,实在不想用,在GitHub上发现,越来越多的开源库选择了JitPack来发布,JitPack实际上是一个自定义的Mave...
阅读(995) 评论(0)

[置顶] Android 6.0运行时权限详解

1.介绍Runtime Permissions官方说明Android 6.0之前,权限在应用安装过程中只询问一次,以列表的形式展现给用户,然而大多数用户并不会注意到这些,直接就下一步了,应用安装成功后就会被赋予清单文件中的所有权限,应用就可以在用户不知情的情况下进行非法操作(比如偷偷的上传用户数据)。Android 6.0版本中运行时权限的出现解决的这一问题,一些高危权限会在应用的运行过程中动态申请...
阅读(4305) 评论(29)

[置顶] 使用Java实现串口通信

1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 效果图如下: 2.RXTXcommJava串口通信依赖的jar包RXTXcomm.jar 下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9611334内含32位与64位版本 使用方法: 拷贝 RXTXcomm.jar 到 JAVA_HOME\jre\lib\e...
阅读(19565) 评论(175)

Android NDK开发(二) 使用ndk-build构建工具进行NDK开发

本文主要讲解了在Windows环境下如何使用ndk-build构建工具来进行NDK开发,以及ndk-build构建工具在Android Stuido中的快捷工具配置。 在上一篇文章《Android NDK开发(一) 使用CMake构建工具进行NDK开发》中,我们学习了如何使用CMake构建工具来进行NDK开发,但是一些老项目还是使用的ndk-build构建工具进行开发的,今天我们就来学习一下如...
阅读(148) 评论(2)

Android NDK开发(一) 使用CMake构建工具进行NDK开发

2018年的第一篇文章,主要讲解了JNI、NDK的一些概念以及在AS 3.0环境下如何使用CMake构建工具来进行NDK开发。 1.了解一些概念 JNI(Java Native Interface): Java原生接口,是Java和其他原生代码语言(例如 C 和 C++)通信的桥梁。 NDK(Native Development Kit): 原生开发工具集,是一套允许您使用原生代码...
阅读(226) 评论(0)

2017年终总结

转眼一年的时间又过去了,先回顾下今年的计划,看看完成了多少:《2016年终总结》关于博客,还在坚持写,还没有成为博客专家,但粉丝已经多了许多,继续坚持;关于旅行,年初去了杭州、上海、苏州三个城市旅行,真是一段难忘的经历;关于学习,没有系统的学习某些知识,总是想的太多、做的太少,还需努力;关于学车,惭愧,还没有学,列入2018年计划;嗯,完成了一半多,还需努力,下面记录一下今年发生的事情:年初的时候,...
阅读(152) 评论(0)

Android 图解Canvas drawText文字居中的那些事

GitHub传送门1.写在前面在实现自定义控件的过程中,常常会有绘制居中文字的需求,于是在网上搜了一些相关的博客,总是看的一脸懵逼,就想着自己分析一下,在此记录下来,希望对大家能够有所帮助。2.绘制一段文本首先把坐标原点移动到控件中心(默认坐标原点在屏幕左上角),这样看起来比较直观一些,然后绘制x、y轴,此时原点向上y为负,向下y为正,向左x为负,向右x为正,以(0,0)坐标开始绘制一段文本:@Ov...
阅读(313) 评论(1)

Android自定义控件 倒计时

GitHub传送门1.写在前面本篇文章实现了一个简单的倒计时控件,主要运用了画布的操作,滑动角度计算等知识点,非常适合自定义控件的初学者进行学习,看下效果图:2.实现初始化一些数据public class CountdownView extends View { // 控件宽 private int width; // 控件高 private int height;...
阅读(110) 评论(0)

Android 自定义Switch开关按钮的样式

GitHub传送门1.写在前面本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还是遇到了一些问题,在此记录下来,希望对大家能够有所帮助,看下效果图:2.自定义样式2.1 原生样式首先看下原生的效果(Android 7.1):布局文件如下:<Switch android:layout_width="wrap_content" an...
阅读(192) 评论(0)

手把手教你在Android Studio 3.0上分析内存泄漏

戳我下载 Android Studio 3.0 这个不用梯子我会告诉你吗 1.写在前面Google在上周发布了Android Studio 3.0正式版本,周四早晨在上班的地铁上就看到群里在沸沸扬扬的讨论3.0版本的各种坑,啊,不对,各种特性,到公司之后就迫不及待的更新了3.0版本,嗯,还算顺利,只遇到了一个坑,一切都在happy的进行着。什么,你以为我想要写遇到的坑是什么,呵呵哒,我才不会告诉...
阅读(480) 评论(0)

Android RecyclerView下拉刷新 & 上拉加载更多

GitHub传送门1.写在前面本文主要实现的是上拉加载更多功能,下拉刷新使用的是Google官方的SwipeRefreshLayout控件,因为在实现这个功能的时候走了不少弯路,所以在此记录下来分享给大家,先看下效果图:2.实现上拉加载实际上就是给RecyclerView增加一个FooterView,然后通过判断是否滑动到了最后一条Item,来控制FooterView的显示和隐藏,接下来我们来看下如...
阅读(545) 评论(5)

Android 使用代码实现一个选词(拖拽)填空题

GitHub传送门1.写在前面在上一篇文章《Android 使用代码实现一个填空题》中,我们学习了如何实现一个填空题,今天继续接着上一篇文章的节奏,学习一下如何实现一个选词填空题,由于本文中用到了一些上篇文章的知识点,所以还没有看过上篇文章的同学可以>戳这里<了解一下。首先看下效果图:2.学习一些基础知识选词填空题有一个很重要的功能就是拖拽,我们先来学习一下如何对View进行拖拽操作,写个简单的De...
阅读(357) 评论(0)

Android 使用代码实现一个填空题

GitHub传送门1.写在前面最近项目比较忙,有一个多月没有更新博客了,利用闲暇之余总结一下项目中遇到的问题,分享给大家!刚看到要做填空题这个需求的时候,第一个反应是到百度,啊…不对,谷歌上搜一下有没有类似的Demo,无奈搜出来的全是Android面试题,唉,算了,还是老老实实自己实现吧,先看下效果:2.学习一些基础知识首先来学习一下如何对TextView的局部设置颜色和点击事件,这里要用到一个很重...
阅读(792) 评论(0)

Android自动化测试工具 UiAutomator使用详解

本文测试用例下载地址1.介绍Android团队在4.1版本(API 16)中推出了一款全新的UI自动化测试工具UiAutomator,用来帮助开发人员更有效率的完成App的Debug工作,同时对于测试人员也是一大福音,为什么这么说呢? 测试:“我发现了一个bug,你写的App打开A页面,再打开B页面有时会出现闪屏问题。” 开发:“嗯?还有这样的问题,复现给我看看。(内心独白:我写的Ap...
阅读(567) 评论(2)

Android DataBinding & MVVM

先说说两者的关系,DataBinding是一个实现数据和UI绑定的框架,而MVVM是一种架构模式,实现MVVM模式需要借助DataBinding来完成。本文将以《Android 谈谈我所理解的MVP》中的例子为基础,使用MVVM模式重新实现一下。嗯,本篇博客也是有副标题的:Retrofit + RxJava + RxLifecycle + MVVM本文涉及到的一些基础知识:《Android Data...
阅读(614) 评论(2)

Android DataBinding使用详解(二)

《Android DataBinding使用详解(一)》官方文档Demo下载地址1.在RecyclerView中使用DataBindingAdapter的定义方式和普通方式相同,都是继承了RecyclerView.Adapter,然后实现其中的方法,但是具体的实现方式还是有所差别的:public class RecyclerViewAdapter extends RecyclerView.Adapt...
阅读(537) 评论(2)

Android DataBinding使用详解(一)

DataBinding是一个实现数据和UI绑定的框架,同时也是实现MVVM模式所依赖的工具。官方文档Demo下载地址1.构建环境在app根目录的build.gradle文件中加入DataBinding配置:android { .... dataBinding { enabled = true } }环境要求: 系统版本:Android 2.1(API leve...
阅读(851) 评论(4)

Android 使用RxLifecycle解决RxJava内存泄漏

RxLifecycle GitHub地址RxJava GitHub地址1.为什么会发生内存泄漏使用RxJava发布一个订阅后,当页面被finish,此时订阅逻辑还未完成,如果没有及时取消订阅,就会导致Activity/Fragment无法被回收,从而引发内存泄漏。 写段代码测试一下,定义一个Activity,布局中显示一张图片,这样可以直观的看到此Activity的内存占用情况,然后在Activi...
阅读(7180) 评论(6)
55条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:128190次
    • 积分:1952
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:0篇
    • 译文:0篇
    • 评论:309条
    博客专栏
    最新评论