Android
MyRao
拒绝模糊,拒绝拖延,拒绝立Flag
展开
-
Android面试一天一题(1Day)IntentService作用是什么
写在前面该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点。先感谢各位大神的无私分享~!关于题目,大部分则出自AndroidInterview-Q-A和LearningNotes,当然既然是Android面试,主要是Android部分,Java基础之后再写。IntentService作用是什么,AIDL解决了什么问题 —原创 2016-08-31 01:39:12 · 3447 阅读 · 0 评论 -
Android面试经验 -- 乐视
此次投的是三年经验的Android开发,最后反而因为自己的失误,没有准备充分而导致结果很悲剧,以此告诫自己千万不能疏忽大意。原创 2016-10-04 14:00:28 · 1585 阅读 · 0 评论 -
Android libyuv应用系列(二)libyuv在Android中的使用
上篇文章Android libyuv使用系列(一)Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别中我们了解了YUV相关的知识,而本篇文章我会介绍libyuv是什么,以及如何使用libyuv进行相应的图像数据处理。当我们在 Android 中处理 Image 时,常因为 Java 性能和效率问题导致达不到我们期望的效果,例如进行Camera 采集视频流的原始帧时我们需原创 2017-01-15 20:30:39 · 8421 阅读 · 7 评论 -
Android Service与AIDL的使用
项目业务需求,需要将后台服务进行保活。通过开启远程服务与APP的进程进行进程间通信(IPC),寻求保活的方式花了一段时间,最后对MIUI的系统机制还是无果,Debug的时候发现MIUI拥有一个PowerKeeper,一旦触发就会对任何后台进程的APP(据说有白名单)进行KillApplication操作,在我的压力测试下,无一应用幸免(包括优化得极其稳定的Bilibili,GooglePlay录屏A原创 2017-02-24 01:21:52 · 2650 阅读 · 0 评论 -
Android实现录屏直播(一)ScreenRecorder的简单分析
应项目需求瞄准了Bilibili的录屏直播功能,基本就仿着做一个吧。研究后发现Bilibili是使用的MediaProjection 与 VirtualDisplay结合实现的,需要 Android 5.0 Lollipop API 21以上的系统才能使用。其实官方提供的android-ScreenCapture这个Sample中已经有了MediaRecorder的实现与使用方式,还有使用Media原创 2017-01-07 01:02:58 · 59136 阅读 · 19 评论 -
Android实现录屏直播(二)需求才是硬道理之产品功能调研
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/54150396前面的Android实现录屏直播(一)ScreenRecorder的简单分析一文中我们对 ScreenRecorder 这个开源 Demo 中的实现机制大概有了了解,但在继续写这个系列文章的时候发现每一个细节都太紧密了,稍微原创 2017-01-09 00:08:27 · 12471 阅读 · 11 评论 -
Android AsyncTask源码简要分析
AsyncTask初学 Android 的线程使用时接触最多的就是 AsyncTask 了,直到现在都还没有仔细查看过这个类的源码和实现,有愧于心啊。不说多的,本篇主要根据 AsyncTask 的类结构来进行简要说明,大致的介绍官方都写在文档或者注释中了,我们需要仔细研读。AysncTask 只适用于最多几秒的操作场景,如果有更高的需求官方强烈推荐使用 Executor / ThreadPoolEx原创 2017-01-15 22:22:41 · 740 阅读 · 0 评论 -
Android实现录屏直播(三)MediaProjection + VirtualDisplay + librtmp + MediaCodec实现视频编码并推流到rtmp服务器
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/54254244看到有网友在后台私信和询问录屏这部分推流相关的问题,感觉这篇博客早该写完了。事实上除了繁忙的工作加上春节假期一下子拖了近一个月之久。期间我也一直断断续续的在研究相关的实现,效果并不理想。所以先简单写一些重要的,本文会不定期更原创 2017-02-16 00:32:01 · 36173 阅读 · 111 评论 -
基于 CentOS 使用 Jenkins 实现 Android 持续集成
环境说明本次配置是基于 CentOS 的服务器环境进行的,Jenkins 环境已经搭建完成。本次说明仅限 Android 客户端的构建方式。配置方法这里参见蒲公英的说明文档:环境无论是什么系统,配置jenkins的配置是一样的安装 Jenkins下载最新的版本(一个 WAR 文件)。官网下载地址运行 java -jar jenkins.war 注意:Jenkins 需要运行 Java 5以及以上转载 2017-08-25 16:53:36 · 2185 阅读 · 0 评论 -
Android设计模式 -- 巧用策略模式告别过多的 if...else...
背景描述根据后台配置进行不同的广告加载策略,例如有广告 A / B / C,某个时段后台配置播放广告 C,默认播放 A;普通的实现方式创建广告管理类,实现广告加载/播放的控制:class AdManager(adName: String) { var ad = adName fun initAd() { when (ad) { ...原创 2018-02-28 19:04:01 · 1931 阅读 · 0 评论 -
Android Volley做网络请求的几种用法
前言: 最近在将自己写的烂代码重构,以前使用的网络请求全是基于apache的HttpClient,简单使用还好,使用多了发现重复代码太多,而且每次使用都很繁琐,因此在网上找了半天网络请求的相关类库,最后还是确定使用Volley,于是现在记个使用笔记:Volley几个主要功能:1. 普通String请求:既然使用了网络请求,那么网络权限是必不可少的,在AndroidManifest原创 2016-08-23 00:07:40 · 945 阅读 · 0 评论 -
Android使用typeface实现不同字体的调用显示及String转换为Unicode
最近工作用到,就写个小demodemo实现从assets中利用typeface调用不同字体,并在editText中显示出来1.layout中创建activity_main.xml文件布局代码如下: 1 LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:too原创 2016-08-23 00:07:17 · 2407 阅读 · 0 评论 -
Android Camera原始帧格式转换 —— 获取Camera图像(一)
概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的方向的方法,导致我们拿到原始帧后还需要再次对其进行转换为对应需求的数据,例如YUV的格式,图像的方向等(旋转多少度合适),下面我就粗略的介绍一下大致的流程,理解浅薄,大神请勿喷。原创 2016-08-23 00:08:37 · 10370 阅读 · 0 评论 -
2015年,从毕业到工作的几点感悟
锄禾日当午,汗滴禾下土。 2015年,从毕业到工作的几点感悟(Android开发):多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如:网络请求:常见的有Google提供的Volley,或者三方的okHttp(Square的)等;数据解析:例如解析JSON字符串,一般有GSON,FastJSON等开源库;性能、内存优化:L原创 2016-01-20 10:10:00 · 2178 阅读 · 0 评论 -
Android HorizontalScrollGridView的一点坑
应需求实现横滑的GridView,网上较多都是通过HorizontalScrollView + GridView嵌套实现的,并且效果还不错,然而我发现StackOverFlow上面有人推荐API>17的版本可以使用HorizontalScrollGridView,心里暗想这不是官方现成的嘛,不用白不用。结果功能实现后发现,如果使用setNumsOfRow()这个方法,整个View会变得在屏幕范围内可原创 2016-09-13 00:44:13 · 655 阅读 · 0 评论 -
Android Conflict with nineoldandroids等报错
问题报错:Conflict with nineoldandroids原因我在引入Fresco时由于其中也包含nineoldandroids这个库,导致库的冲突,相关的库冲突都是因为这个问题导致的,按照以下代码进行exclude即可。解决办法compile('com.facebook.fresco:fresco:0.4.0') { exclude group: 'com.nineoldandro原创 2016-08-24 13:10:39 · 701 阅读 · 0 评论 -
Android屏幕旋转使用OrientationEventListener的监听
说明遇到一个奇葩的问题,我在使用onConfigChanged拦截屏幕的横竖屏旋转时,发现直接进行180度的横屏/竖屏转换居然没有反应!查找原因发现仅对landscape或者portrait状态有用,而同属于landscape的reverse_landscape并不受影响。那么问题怎么破呢?刚开始想到了用Sensor的状态来监听当前屏幕状态,可是发现针对加速度传感器或者陀螺仪的参数来进行判断太麻转载 2016-08-23 00:09:16 · 38927 阅读 · 3 评论 -
Android String.xml使用
常用操作 加粗字体 斜体字体 给字体加下划线 \n 换行 \u0020 表示空格 \u2026 表示省略号 用法使用<b>和<b>来打印出 这样的文字;“<”表示“<”的意思; 使用textView.setText(Html.fromHtml(“Hello World,AnalysisXmlActivty!“));设置类似于html那样的效果 如果你需要使用 String.form转载 2016-10-18 00:26:42 · 612 阅读 · 0 评论 -
Android libyuv应用系列(一)Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别
项目中接触到图像处理这部分,需求是将手机摄像头采集的原始帧进行 Rotate (旋转)、Scale(拉伸)和 format convert(格式转换),无奈对此的了解甚少于是网上查阅资料恶补了一顿,完事后将最近所学总结一下以方便之后的人别踩太多。首先想要了解YUV为何物,请猛戳:Video Rendering with 8-Bit YUV Formats 链接中微软已经写的很详细了,国内大部分文章都原创 2017-01-02 22:08:33 · 6848 阅读 · 6 评论 -
Android ObjectAnimator动画初识、模仿
ObjectAnimator:ObjectAnimator的概念这里就不解释了,直接从代码中说明,以下是模仿Persicope的加载动画,简单的几行代码即可实现,当然我也是模仿的,更好的实现思路还请各位朋友自己仔细思考。先说说我的思路:首先下载Periscope然后改名zip解包,获取对应的png图片(搜索相关的loading文件:ps__bg_loading.png),看到了该文件的大小,原创 2016-08-23 00:08:44 · 473 阅读 · 0 评论 -
读书 --《App研发录》总结
说明看这本书的时候,总感觉怪怪的。因为在地铁上看完的,作者书中基本都是他自己工作中遇到的问题和坑,虽说这样会让人感觉找到了解决方案,可以再进行深入的研究,可是某些地方介绍的有点片面,仅仅是引用部分博客就以偏概全了。还有可能是涉及的内容大部分都是我自己已经踩过的坑,所以觉得学到的东西不太多。再说说值得一看的地方吧,首先也如前面提到的,书中内容基本都是作者工作之谈,所以有很实用的内容,推荐阅读章原创 2016-08-23 00:09:09 · 2041 阅读 · 0 评论 -
No resource identifier found for attribute 'appComponentFactory' in package 'android'
说明国庆一回来Android项目编译就报这个错, 所有人的设备都无法编译成功, 排查后推断是 Android SDK 28的问题,但是我们的 CompileSDKVersion 和 TargetVersion / BuildTools 都是 26, 按理来说不应该出这个问题. 可经过一番挣扎后发现还是只能升级 SDK 版本, 但是升级 28 的话, 有两种改动:全部改为 Jetpack 的 ...原创 2018-10-09 19:00:42 · 30342 阅读 · 16 评论