Android进阶
文章平均质量分 94
张鹿鹿
这个作者很懒,什么都没留下…
展开
-
掌握 Android JNI 基础
最近在看一些底层源码,发现 JNI 这块还是有必要系统的看一下,索性就写一写博客,加深加深印象🍻本文重点聊一聊一些干货,避免长篇大论原创 2024-01-30 22:57:57 · 1167 阅读 · 0 评论 -
如何优雅的实现“查看更多”
开始前大家做一些文本简介展示需求时可能会遇到文本过长的场景,这时视觉同学可能会要求设置最大行数并在末尾展示"查看更多"(后面简称 MoreText)。废话不多说,先看下要求实现的效果(图为实现后的Demo效果):通过看效果很明显简单的使用 TextView 或者布局堆叠是没法实现这样的效果了,索性就自定义一个 View。功能实现本身非常简单,本文也只是简单记录下实现过程顺便复习一下文本相关的自定义 View。 文章代码过多可结合 Demo 查看实现思路基本的实现思路就是将每个文字进行排版布局原创 2020-09-22 09:16:05 · 29265 阅读 · 1 评论 -
支持段落的 TextView
开始前前几天做了一个需求(首章漏出),要求对一段文字可以进行分段且可以设置它的段间距,行间距等属性,大致需要以下功能点实现思路基本的实现思路就是将每个文字进行排版布局,计算出当前文字的位置,绘制在 View 上。准备知识点根据上述的实现思路我们需要准备下面的知识点:canvas.drawText(x,y) 的位置问题:首先 x 值,有两种:当你的 Paint 设置为myPaint.setTextAlign(Paint.Align.LEFT),x 就是文字最左侧到当前 view 左边原创 2020-09-16 09:47:23 · 519 阅读 · 0 评论 -
记一次优雅的回调方式
最近在用 Lifecycle 时学到了一种优雅的回调写法,特此记录一下。普通回调我们在写业务逻辑时难免会遇到需要设置回调的场景,也就是观察者模式,例如下面这个观察者:public interface Observer { void call();}使用时直接添加即可。public static void main(String[] args) { ObserverManager.addObserver(new Observer() { @Override .原创 2020-08-27 09:34:45 · 335 阅读 · 0 评论 -
Android NDK开发(二) 底层实现HEX的编码和解码
开始之前 本篇博文承接上篇Android NDK开发(一) 入门, 如果大家没有接触过NDK开发请移至上篇 本篇主要通过HEX的编码和解码案例来进一步了解NDK的开发. 什么是HEX ? 通俗讲就是16进制什么是HEX的编码和解码 ? 编码: 就是将字节数组每个字节使用16进制的可见字符串来显示 bytes –> String 解码: 就是将16进制的可见字符串转换为原创 2016-11-10 14:37:14 · 2013 阅读 · 1 评论 -
Android开发之DataBinding的使用
Android开发之DataBinding的使用 Google在2015年峰会上推出的一种设计模式, 其实早在2014年已经出现. 本文只介绍了如何使用DataBinding, 没有做底层的分析, 大神请绕道 ^v^DataBinding的配置方法在当前Module的build.gradle下添加下面代码android { dataBinding { enabl原创 2016-12-10 19:47:25 · 1671 阅读 · 0 评论 -
Android 混合开发之仿微信朋友圈
开发之前 大约从去年开始吧, 也可能是前年 Html5好像火得不得了, 不得了…总能从网上听说到 XXX混合开发, 为了紧跟潮流(虽然有点儿晚了), 咱们也看看Android+Html5混合开发是怎样的! 今天带来的案例是微信的朋友圈, 因为我觉得是微信把H5给”捧红了”. 不过丑话说在前头, 咱们的仿朋友圈可是”低仿”, 只是把混合开发的大致流程说说, 界面可能不堪入目…见谅..开发环原创 2016-11-19 15:25:24 · 4639 阅读 · 0 评论 -
Android NDK开发(一) 入门
开始之前 最近学习了一下NDK的开发, 就来分享一下. 对一个新鲜事物, 我们先解决的无非就是三件事情: 是什么?为什么?怎么做?. NDK简介 (英语:native development kit,简称NDK)是一种基于原生程序接口的软件开发工具。通过此工具开发的程序直接以本地语言运行,而非虚拟机。因此只有java等基于虚拟机运行的语言的程序才会有原生开发工具包。[维基百科]ND原创 2016-11-06 18:02:39 · 7018 阅读 · 3 评论 -
手撸一个简单的网络框架
开始前网络访问框架关心的问题:能并发接受多个请求,并返回"用户"需要的数据重试机制实现方式:队列线程池网络框架实现步骤创建线程池管理类(队列,线程池)封装请求参数封装响应数据封装请求任务封装"使用工具"添加重试机制创建线程池管理类创建 ThreadPoolManager.java 类,负责管理请求队列和线程池//1. 创建队列,用来保存异步请求任务pr...原创 2019-02-26 11:05:49 · 431 阅读 · 0 评论 -
gradle入门
珍惜作者劳动成果 转载请注明出处随着Android Studio越来越完善,更多的开发者舍弃掉Eclipse。但是新的IDE与以往的Eclipse有很大区别,这导致部分开发者望而却步,其中一个大家觉得比较麻烦的是Android Studio采用的新的构建系统,gradle。那么这篇文章我将对gradle进行一个简单介绍(主要讲gradle配合Android Studio的使用),希望帮助大家熟悉gr原创 2016-10-07 10:30:25 · 471 阅读 · 0 评论 -
Git的使用
Git发展Linus -> Linux分布式: 每一台电脑, 都可以下载完整的代码和历史消息, 都是独立的仓库离线方式: 可以离线, 在没有网络的情况下, 继续使用, 可以访问所有的历史仓库: 存储代码修改历史空间本地仓库: 本地电脑中保存所有修改历史的空间远程仓库: 保存修改历史, 并且多态电脑可以同步修改本地, 远程: 远程仓库, 只保留历史修改, 不保存实际的目录和文件; 本地仓原创 2016-10-29 14:17:54 · 399 阅读 · 0 评论 -
Android 轮播图的实现
开始之前 这是我的第一篇简书博客, 自己也在其他的博客网站写过 例如: CSDN , 当然还有我自己的小站 鹿鹿的博客 里面的博客质量参差不齐, 而且有很多内容没有”自主”知识, 所以心里没有什么成就感. 自己是比较喜欢简书中的 “简”字, 推荐大家多多使用和交流, 我会不定期发自己的一些有关Android功能点的实现, 望大家多多关注. 好, 废话说得太多了, 开始我们今天的内容环境准备开原创 2016-10-28 18:26:16 · 11818 阅读 · 4 评论 -
Android 微信小视频录制功能实现
目录开发之前 开发环境相关知识点开始开发 案例预览案例分析搭建布局视频预览的实现自定义双向缩减的进度条录制事件的处理 长按录制抬起保存上滑取消双击放大(变焦)实现视频的录制实现视频的停止完整代码总结开发之前 这几天接触了一下和视频相关的控件, 所以, 继之前的微信摇一摇, 我想到了来实现一下微信小视频录制的功能, 它的功能点比较多, 我每天都抽出点时间来写写原创 2016-10-28 18:26:49 · 5034 阅读 · 8 评论 -
Android 微信摇一摇功能实现
开发之前 今天学习了一下传感器, 脑子里就蹦出了微信的摇一摇, 于是鼓了鼓勇气抽空写了出来, 本人菜鸟一枚, 希望大神们多多指点开发环境Android Studio 2.2.1JDK1.7 API 24Gradle 2.2.1相关知识点加速度传感器补间动画 手机震动 (Vibrator)较短 声音/音效 的播放 (SoundPool)开始开发案例预览案例分析 我们接下来原创 2016-10-28 18:27:32 · 6135 阅读 · 2 评论