Android进阶
文章平均质量分 81
Android常见的进阶知识点分析和实战。
半岛铁盒里的猫
一个热爱足球和音乐,带有一定程度文艺气息的主流程序员。
展开
-
从动态代理角度看Retrofit
1.Retrofit简介retrofit(https://square.github.io/retrofit/)已经诞生好几年了,从诞生开始一直都是Android应用开发最流行的网络请求框架,准确来说,是网络请求框架一个巧妙的包装。正如官网所说,retrofit最大的特点,在于可以用一个Java interface通过注解去表示一个Http请求。1.比如定义一个GET请求的Java inte...原创 2019-10-06 21:24:28 · 1213 阅读 · 9 评论 -
一篇文章带你快速了解JNI开发~
JNI开发基础笔记JNI概述编写第一行JNI代码,Java调用C方法得到一个字符串1.编写带有native的Java方法:2.编译Java类:3.生成头文件:4.使用C++编写本地函数,并生成all库:访问Java成员变量通过JNI在C中修改Java的属性总体的步骤:合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中...原创 2018-11-25 12:57:41 · 1970 阅读 · 0 评论 -
通过反射实现的仿ButterKnife功能Demo
用过ButterKnife的朋友都知道,ButterKnife可以使用@BindView和@OnClick等注解就可以省略掉繁琐的findViewById和setOnClickListener等代码,使得业务代码更加简洁清晰。对ButterKnife不熟悉的朋友可以看下:(http://jakewharton.github.io/butterknife/)在参考过一些资料过后,我也模仿地写了一个通过原创 2017-11-18 15:19:04 · 543 阅读 · 0 评论 -
通过编译期生成代码方式实现的仿ButterKnife功能Demo
整体概述 ButterKnife原理简介 相关的技术点 实战 调试 总结1.整体概述好久好久以前,我写过一篇文章 通过反射实现的仿ButterKnife功能Demo 说过,会写一篇按照ButterKnife(https://jakewharton.github.io/butterknife/)实现方式,即编译期生成代码方式实现的相关文章,终于在这里出炉了。。关于编译期生成代码,...原创 2018-08-01 18:03:33 · 389 阅读 · 0 评论 -
一次互联网音乐领域巨头的面试
前言:最近到一家国内互联网音乐领域巨头面试,对此作记录,希望对其他人也有帮助。因为在疫情期间,所以采用远程视频面试,个人觉得相比以前方便了很多,希望以后面试也都改为远程视频面试吧哈哈。一面:自我介绍最擅长什么安卓技术(我回答自定义View,这个问的不多)自定义View主要的流程方法?onMeasure方法的参数及其意义?测量阶段是什么遍历方式?描述下Handler机制实现流程?H...原创 2020-04-11 12:56:42 · 480 阅读 · 0 评论 -
大白话讲解RxJava原理
RxJava全局观赏RxJava已经诞生了好多年了,对应变化风云诡谲的移动互联网行业来说,已经属于老框架了。虽然学习成本不低,但是熟练之后真叫人打从心里说声爽。那它到底爽在哪里呢,我个人总结为以下几点:1.不管复杂的业务也可以用一条链连到底,将每个逻辑操作步骤划分到每一个操作符中2.线程切换一个操作符搞定,完全省去了繁琐的回调,多次线程切换从代码的角度看流程依然十分直观3.多条业务流程可以...原创 2020-02-18 12:07:17 · 3072 阅读 · 2 评论 -
记一次欢聚时代面试经历
上个星期受邀请到欢聚时代面试,坐了一个小时左右的地铁并且找了好一会儿才找到欢聚时代的大厦。欢聚时代有一层楼专门作为面试使用的,环境很好,设计有特色和艺术感。在沙发上等了一会儿,就遇到了面试官,看起来30多岁样子,戴一副有点酷的眼镜,然后到两个沙发椅相对而坐,自我介绍之后,真正的面试开始。听说大厂的面试都是喜欢玩连环炮(就是对一个知识点从简单到难逐渐深入地去问),确实如此,这场面试持续了差不多一个...原创 2018-09-25 12:26:06 · 7359 阅读 · 0 评论 -
主流图片框架比较分析
最近我对几个主流图片框架进行了调研分析,整理出了文档:四大图片加载框架总体对比:性能测试:以下是个人对Glide、Fresco对比UImageLoader(鉴于Glidei 基本是Picasso的升级版,所以这里没有对Picasso进行测试)进行的简单性能测试(仅供参考):测试手机:华为荣耀8 Android7.0使用的SDK版本:Glide4.0,Fresco1.8.0 UImageL...原创 2018-03-11 13:05:39 · 1585 阅读 · 0 评论 -
安卓开发之简单的短信操作模块
最近做了一个简单的短信操作模块,比较实用小巧。主要功能是可以发送短信(包括短信发送状态的提示),储存短信(可以用于短信列表显示等等),短信的储存可以用SQLite,不过觉得也就几十条上百条短信,用SQLite未免大材小用,还麻烦,于是决定用SharePreference结合对象序列化来做这个模块。首先是短信实体类,为了复用,做成抽象类,再具体项目中使用只要继承该抽象类即可:public a原创 2015-08-15 11:06:37 · 1937 阅读 · 0 评论 -
安卓MP3播放器开发实例(2)之音乐播放
上次和大家简单谈了播放器关于MP3列表界面的创建以及MP3文件相关信息的获取。这次主要谈播放界面的工作原理,界面再上一篇已经展示过了,就不再重复展示了。播放的基本原理是开启一个播放的服务(以至于切换到其他应用的界面可以继续播放),对播放界面的操作都作用于播放的服务。 播放界面中有三个按钮,分别代表三种状态“开始”、“暂停”、“停止”,点击这三个按钮的其中一个,都会作用于播放服务。先原创 2015-07-18 16:37:39 · 1468 阅读 · 2 评论 -
安卓MP3播放器开发实例(1)之音乐列表界面
学习安卓开发有一年了,想想这一年的努力,确实也收获了不少,也找到了比较如意的工作。今天准备分享一个曾经在初学阶段练习的一个项目,通过这个项目我真正的找到了开发安卓软件的感觉,从此逐渐步入安卓开发的正规。这个项目是当时借鉴Mars老师的初学视频做的安州手机的MP3播放器,自己又进行了改进,特别在歌词的优化和添加进度条方面的。由于是8个月前做的,水平很初级,bug应该很多,现在自己又懒得再一次改进,只原创 2015-07-11 12:05:49 · 4160 阅读 · 0 评论 -
安卓MP3播放器开发实例(3)之进度条和歌词更新的实现
上一次谈了音乐播放的实现,这次说下最复杂的进度条和歌词更新。由于需要在播放的Activity和播放的Service间进行交互,所以就涉及了Activity对Service的绑定以及绑定后数据的传输,这个需要对服务绑定熟悉才可以理解。原理不复杂,但是步骤稍微繁琐,代码贴起来可能会很混乱。 进度条和歌词放在一起说比较好,不然比较混乱。进度条的调整大家都懂的,就是进度条调到哪里歌曲的播放就原创 2015-07-26 11:40:18 · 2601 阅读 · 0 评论