
Android demo
文章平均质量分 71
cyt_victory
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 音频基础(三)——播放(AndroidTrack)
上一篇帖子我记录了音频采集的一些内容,既然有采集了,那么肯定是需要播放的,今天这篇帖子就简单说一下录音的播放步骤。录音的播放需要用到的是Android中的AudioTrack类,其实AudioTrack类和AudioRecord很相似,我们同样从AudioTrack的初始化开始说起。 ...原创 2020-07-07 12:59:19 · 1207 阅读 · 0 评论 -
Android 音频基础(二)——录音(AudioRecord)
在Android的世界中,一般有两种音频采集的方式,MediaRecorder和AudioRecord,但是MediaRecorder最终还是走到AudioRecord里,让AudioRecord和AudioFlinger进行交互,所以这篇博文就不介绍MediaRecoder了,主要介绍下AudioRecord的录音(音频采集)情况。基本参数1....原创 2020-07-02 13:12:17 · 2574 阅读 · 0 评论 -
HendCoder自定义控件第一期案例代码实践
最近公司项目需要重构,也挺忙的,好久没有写文章了,也不知道写些什么,自己都是菜鸟一个也是边学边写。不多说了,前几天看到大神扔物线的一个开源项目(传送门),看了下感觉挺不错的,对自己也有不少提高,于是用心学了一下,顺便把他的案例(Github案例)给实现了一下大神对这块讲的很详细我就不赘述了,我主要把大神的案例写了下,然后写出来给大家参考,不多说,直接上图看效果如下图:画个圆:...原创 2018-09-07 15:27:46 · 232 阅读 · 0 评论 -
RxJava入门实践(一)
RxJava做为近年来最火的开源库之一真是让人又爱又恨,既让人有欣喜又让人抓狂。身边也有不少小伙伴说RxJava太好用了,也有人说RxJava太难用了。RxJava到底是什么呢?简单来说就两个字——异步! 这是RxJava在GitHub的自我介绍:RxJava是一个运行在JVM上的反应扩展库,一个基于事件可以用JAVA JVM的可观测序列组合库。很具体也很抽...原创 2018-11-08 21:13:11 · 203 阅读 · 0 评论 -
RxJava入门实践(二)
上篇博客遗留了一个问题,既然是RxJava异步的,为什么是先执行先点击的,然后执行后点击的呢?这就引出了我们今天要说的另一个问题:异步线程subscribeOn就是用于指定监听时所发生的线程,我们进去看下源码情况由注释可以看出这是这是一个异步操作,并且由ObservableSubscribeOn实现。知道了原理我们来实现一下,修改一下代码 Observable.create(Ob...原创 2018-11-23 11:03:53 · 140 阅读 · 0 评论 -
OKHTTP3 基础使用方法
OkHttp用了也快一年了,但是从来没有系统的了解这个被Android开发者推崇备至的网络请求框架,今天就来简单梳理一下OkHttp的使用方法,简单了解下OkHttp工作原理OkHttp官网地址OkHttp-GitHub地址首先我们看下官网怎么介绍OkHttp的简单来说OkHttp是一款适用于Android和Java应用程序网络请求框架,支持Get和Post请求,支持上传下载文...原创 2018-12-07 11:17:47 · 1023 阅读 · 0 评论 -
Retrofit 2 使用方法,一个便捷的网络加载库
Retrofit是什么,Retrofit可以理解为OkHttp的强化版,它底层基于OkHttp,但是又对其做了封装和处理,又使用大量注解对代码进行简化,且支持很多开源库,例如OkHttp+Retrofit+RxJava使用Retrofit有什么好处呢?看到RxJava就可以知道Retrofit支持同步异步请求,还可以配置不同的HttpClient实现网络请求,而且还有一个非常大的用途就是解耦。...原创 2018-12-17 16:49:51 · 501 阅读 · 0 评论 -
带你走进组件化(二)—— 初探
准备工作创建一个新的工程,编译完成后新建一个Module工程:File>New>New Module,一路Next,记得给你的Module命名 最后结构目录如下:总所周知,组件化因为需要引用各个不同的module组件,如果都引用了同一种第三方包,但是可能因为版本号不同会出现资源冲突问题,所以我们为了更好的管理各个module之间的版本关系,先创立一个统一的配置文件,...原创 2018-12-26 10:51:38 · 165 阅读 · 0 评论 -
带你走进组件化(三)—— 曲径
前言上两篇文章我们初步掌握了组件化的使用和创建,今天就梳理一下组件化公共模块的封装,以及会出现的问题,模块之间如何通信,跨模块如何跳转传值等公共模块封装模块之间通信第三方公共资源提取延展AndroidX跨模块之间跳转传值问题梳理总结...原创 2019-01-04 10:18:14 · 326 阅读 · 0 评论 -
带你走进组件化(一)—— 认识
再写这篇文章之前我看了很多关于组件化的文章,但大多数都是讲了一些'玄而又玄'的东西原创 2018-12-19 11:17:36 · 1034 阅读 · 0 评论 -
带你走进组件化(四)—— 通幽
前言上一篇文章我大概罗列组件化初期碰到的一些问题,主要为组件化文件冲突,组件之间跳转,组件之间传值等问题,而我也一一对这些做了说明和示例。这里就不在重复了,今天这一篇文章主要是对前几篇文章的总结,以及对组件化的实践,简单封装一些常用工具,然后集成调用等。baseUtils模块我们新建一个library,取名为baseutils,主要作用是封装一些常用的第三方控件等,如Toast,Log,等...原创 2019-01-09 16:13:49 · 228 阅读 · 0 评论 -
Android 数字转中文
前两天公司同事在群里扔了一个小case让大家换换脑子,把数字转换为会计上使用的大写汉字,想想也挺有意思的,就写了给小Demo。具体的不多说了,直接看代码吧,一个挺实用的简单例子 public static String[] chineseCode = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒",原创 2019-03-11 16:49:35 · 1244 阅读 · 0 评论 -
Android 百度地图获取定位信息并实时传给后台
最近公司提了一个小case,因为公司物流师傅配送完货物后,通常回仓库都是空车,而这是严重的资源浪费,所以领导就给了一个小case,实时定位司机路线,先建立司机行车档案,在考虑其他业务,反正也是比较空,就随便写了下,没什么太多的功能,就随机记录个demo吧,用的是百度地图的SDK需求很简单,就是司机打开APP后APP在手机后台传递数据,没有操作页面,其他功能暂时搁置了,先建立档案,很简单的一个c...原创 2019-03-29 14:00:16 · 6423 阅读 · 2 评论 -
Android 广播、服务、对话框直接交互
前两天公司给了一个新需求,就是要求移动端内部有个开关,定时访问后台,当后台返回数据为true时展示对话框,但是不让用户知道。本来跟大佬说加个推送更方便快捷简单,还减少服务器压力。。。但是老板不允许,本着老板就是上帝的态度,那就做呗。既然不然用户感知那就用个Service吧,后台运行就行了。说搞就搞,先写一个服务public class MyService extends Service ...原创 2019-04-03 14:20:01 · 306 阅读 · 0 评论 -
使用Flutter撸一个登录页面
自从谷歌发布了Flutter正式版之后,Flutter也慢慢热了起来,以前也没怎么接触Dart,刚接触Flutter的时候说实话一脸懵逼,二脸懵逼,三脸还是懵逼,差点都自杀谢罪再也不看这玩意了;;; 初次接触Flutter你可能会非常不习惯,因为Flutter从使用习惯到架构模式,再到编程逻辑什么都不一样,熟悉的XML布局没有了,熟悉的Activity也没有了,...原创 2019-04-26 10:54:01 · 1671 阅读 · 0 评论 -
Android 仿京东淘宝筛选侧滑,两种实现方式
前两天看个朋友搞个用PopWindow搞了个筛选侧滑,看了下需求也不麻烦,刚好最近也有个商城项目前几天也学习了下Popwindow(以前侧滑都是用DrawerLayout实现的),就顺手写了下,分别用PopWindow和DrawerLayout实现了先说说DrawerLayout吧,这个是谷歌在V4包下增加的一个控件,出来也挺久了,使用起来也比较简单。。。。先看下效果图使用起来也不麻烦,主要是布局...原创 2018-04-27 11:30:11 · 6768 阅读 · 0 评论 -
Android顶部弹出提示的两种实现方式
先给大家上一张效果图:越来越多的APP提示越来越花哨,有中间的,有顶部的,有底部的,滑动滑出的,淡入淡出的,今天就先给大家做一个简单的顶部弹出提示效果其实这是一个很简单的功能,做起来也并不复杂,我们先看使用Toast如何实现第一种:Toast实现布局文件layout_toast:<?xml version="1.0" encoding="utf-8"?><LinearLayou...原创 2018-04-16 14:01:32 · 15428 阅读 · 0 评论 -
Android 18:9 全面屏第一坑
总所周知,Android的碎片化问题谷歌大大一直没有怎么修改,适配问题一直是Android开发者最为头疼的问题之一,,,,,尤其对我这种小菜鸟来说。。。。。今年九月随着雷老板发布的小米mix2,全面屏也一度成为了微博热搜,直到今天有用户反馈说APP在小米mix2手机上顶部会有一块黑色条块,,,,,类似下图 没看到具体情况,在MIUI论坛扒拉的图,估计情况类似吧然后翻了翻百度,看到了这篇博文 传送原创 2017-10-23 16:48:33 · 2609 阅读 · 0 评论 -
Tinker实践:一步步带你集成Tinker,让你的APP也用上热修复,告别重复性更新
热修复作为当下热门的技术,从15年至今Android开发领域里对热修复技术的讨论和分享越来越多,其中在业界内比较著名的有阿里巴巴的AndFix、Dexposed,腾讯QQ空间的超级补丁技术和微信的Tinker。今天主要说下Tinker,以及我在集成中踩得那些坑,算是做个笔记,以防遗忘。先来两个地址: Tinker官方地址 Tinker官方Github地址本人菜鸟一枚,什么原理啊,解析啊,如何解释原创 2017-11-08 16:06:17 · 690 阅读 · 0 评论 -
多层嵌套Fragment获取父Activity(Fragment)控件及方法
先说说父Activity开局一张图 Fragment的生命周期大家都清楚,我就不一一赘述了,今天我们主要来说一下onAttach(),我们都知道onAttach()有两种重写方法,其中一种就是 @Override public void onAttach(Activity activity) { super.onAttach(activity);原创 2017-11-01 16:22:38 · 8940 阅读 · 0 评论 -
Android自定义View 做个简单的验证码控件
首先感谢鸿洋大神,因为我看了他的文章后才写了这篇博文。 传送门:http://blog.youkuaiyun.com/lmj623565791/article/details/24252901从15年工作到现在两年多了,从一个什么都不会的小菜鸟到现在会写点小程序的老菜鸟。两年来,做了十来个项目,有大有小,有团队开发也有单独开发,虽然比刚入职有了进步,但是总体来说总是差强人意,重复的用轮子,让自己的代码千篇一律原创 2017-10-16 14:57:21 · 618 阅读 · 0 评论 -
RecyclerView自带bug,切换数据出现IndexOutOfBoundsException
今天在APP在运行的时候,突然闪退了一下,查看日志看到了异常情况 看到java.lang.IndexOutOfBoundsException还以为是下标越界,检查了一遍代码,没发现什么不合理的地方,于是又重新运行了一遍,重新按刚才操作来了一遍,再次出现这个异常,百度一番(不谷歌的原因众所周知),才知道原来是RecyclerView自身的问题,谷歌一直没修复,既然它没改,那改的只有我们了,不能不原创 2017-11-06 11:25:10 · 2750 阅读 · 0 评论 -
简单自定义Popwindow,仿支付宝微信密码输入弹出框
因APP增加了钱包功能,所以APP支付是迫在眉睫的事,市场上大多数的支付界面都是大同小异,因此写了下自定义PopupWindow,简单模仿下支付宝,本人也不常用PopupWindow,写的不好,希望大家海涵。废话不多说,先上效果图 布局直接上代码吧,也不麻烦<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="h原创 2017-11-21 10:15:12 · 883 阅读 · 1 评论 -
记个小问题:NestedScrollView+RecyclerView冲突,滑动黏连
因为首页改版,换成了CoordinatorLayout+AppBarLayout+NestedScrollView这样,在NestedScrollView嵌套了RecyclerView做完布局后,写了点假数据扔进去,发现在滑动时(NestedScrollView位置)有明显的黏连感,无法顺畅的向下滑动,因为知道NestedScrollView也有滑动效果,立马想的是滑动冲突问题,而谷歌也早给我们想好原创 2017-12-15 10:33:01 · 477 阅读 · 0 评论 -
Android数据库操作—— GreenDao让你的数据操作更简单
首先说下官网,官网对GreenDao的介绍是the best way to access sqlite(访问数据库的最好方式),诚如官网所言,GreenDao操作SqLite数据库十分方便,大多数情况下,仅仅只需一行简单代码就可完成增删改查等工作,而且这还是一个开源框架,完全免费再说说优点:1.读写速度快 2.消耗资源少原创 2017-12-06 17:29:30 · 526 阅读 · 0 评论 -
使用Retrofit+RxJava搭建简单的MVP网络请求框架
首先感谢蛇发女妖,偶尔在简书翻到这篇文章,很多地方都是借鉴这位的思想 另外感谢Season_zlc,大神的水管图很传神,刚接触RxJava的同学可以看看,撸完差不多也可以跟我一样简单使用了老生常谈先介绍下MVC和MVP,先整张图 MVC:Android其实本身就是MVC模式,实现了视图于代码分离,视图是用XML画出来的,然后在Activity实现各种功能,作为一个开发者这是最简单的实现模式,除了原创 2017-12-26 15:09:50 · 440 阅读 · 0 评论 -
使用BaseRecyclerViewAdapterHelper+RrecyclerView构建的多层购物车
一个简单的小多层购物车例子,主要使用的是BaseRecyclerViewAdapterHelper传送门,很实用的一个适配器框架,搭配RrecyclerView很赞哦,能少了不少代码, 而且监听之类的更加方便这个简单的购物车,我现在只做了计算金额,后续再更新demo下载地址:demoGitHub:点击打开链接原创 2018-02-05 11:49:17 · 1097 阅读 · 0 评论 -
Android兼容8.0后APP图标变为原生小机器人图标
从去年谷歌大会正式发布Android 8.0到现在已经差不多也有大半年时间了,越来越多的公司将适配8.0和全面屏提上日程,而上周谷歌又发布了Android9.0预览版去瞅瞅,随着小米,华为等厂商对系统的升级,进一步催促了APP适配8.0机器。众所周知,Android8.0对APPLogo做了一些更改,在8.0中开发者可以使用不同的应用图标,比如圆角矩形或者圆形图标,不过所有的图标需要保证是同一个形...原创 2018-03-12 11:16:01 · 13596 阅读 · 4 评论 -
EventBus3.0集成使用详解(上)
在应用开发过程中少不了使用Intent,线程,广播传递数据,当应用包还比较小的时候我们并不会感觉这些方法会有多麻烦,但是当应用包越来越大,模块越来越多,功能越来越复杂,这用这些方法就会感觉越来越难受,甚至你自己都感觉写的想吐,而这时EventBus就是你最好的选择(其实我最开始就想代替跳转传值而已),Eventbus具有集成方便,简单易用,代码量少,耦合性低的优点,大大的方便了各个...原创 2018-03-22 17:10:34 · 459 阅读 · 0 评论 -
Android中重写Fragment构造函数出现异常
今天在编写程序时发现有几个Fragment界面是相同的,共用的同一个布局,只是在调用接口时参数不同,从而显示的数据不同,于是想将相同的Fragment抽离出来,共用一个Fragment,这样就简单完成了代码复用,减少了代码的冗余,于是兴冲冲的拿一个Fragment做实验,但是在写构造函数时出现了异常,如下图:打开more看了下,大概意思说的是每个fragment都应有一个空的构造函数,便于该fra...原创 2018-03-15 09:13:20 · 965 阅读 · 0 评论 -
Android通知栏(Notification)介绍及使用
在使用手机时,我们常常会碰到各种通知,例如微信,头条,UC等,天天不厌其烦的给你各种推送,当然了我们今天不讲推送,我们讲讲通知栏的构建和使用,以及自定义通知栏的布局和使用方法构建一个通知栏一般分为这几个步骤:1.创建通知栏管理工具 2.构建通知栏构造器 3.给构造器设置参数 4.发送请求具体代码如下: /** * 创建通知栏管理工具 ...原创 2018-04-08 15:50:13 · 32181 阅读 · 5 评论 -
EventBus3.0集成使用详解(下)
上一篇文章我们简单使用了EventBusEventBus3.0使用详解(上),今天这章我来说说EventBus的粘性事件使用方法,在写例子之前我们再次了解一下@Subscriber(),在上个例子中我们并没有添加任何参数,直接空值放入,这是因为在EventBus默认是POSTING线程传入,如果你要问POSTING是什么,那么现在就来告诉你在EventBus3.0中,有四种线程模型,分别是:POS...原创 2018-03-26 14:25:11 · 889 阅读 · 0 评论 -
Android开发使用Glide获取图片背景色淡绿色解决办法
第一次写博客,文笔不好,请大家多多关照,欢迎拍砖 在Android开发中,常用的加载图片工具有,Glide,Picasso,Fresco,其中Glide和Picasso使用方法极为相似,相对于Picasso来说,Glide加载图片更为迅速,内存占用更小等优点,但图像呈现和图像质量略逊一筹,而Fresco还未曾使用,对此不作评价。首先集成Glide,因为项目用的是这个版本,所以就以此版本为例 如果原创 2017-10-12 17:32:07 · 1791 阅读 · 0 评论