SurfaceView, GLSurfaceView, SurfaceTexture以及TextureView是Android当中名字比较绕,关系又比较密切的几个类.本文基于Android 5.0(Lollipop)的代码理一下它们的基本原理,联系与区别. SurfaceView从Android 1.0(API level 1)时就有 .它继承自类View,因此它本质上是一个View.但与普通View不同的是,它有自己的Surface.我们知道,一般的Activity包含的多个View会组成Vi…
Android 5.0 ARM EABI v7a System Image https://dl-ssl.google.com/android/repository/sys-img/google_apis/sysimg_arm-21_r01.zip Android 5.0 Android TV ARM EABI v7a System Imagehttps://dl-ssl.google.com/android/repository/sys-img/android-tv/sysimg_atv_ar…
一.出现的情况 在eclipse或 android studio开发, 设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如android-async-http等等,会出现有一些类找不到的错误. 二.原因 android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类). 三.解决方法 1.eclipse: libs中加入 org.apache.http.legacy.jar 上面的jar包在:**\android…
引言 Android5.0大概是在11月下旬开始进行OTA推送,博主手上的这台五太子(Nexus 5)也在前几天收到了Google的推送,博主当然是按耐不住赶紧FQ升级啦,但无奈的是这个大版本更新包有500M,足足更了好几个小时后才成功(过程中那个忐忑啊,怕出意外-.-),最后总算是有惊无险的更新完成,下面就简单说说Android5.0的实际使用感受. --- --- 设计风格 这个5.0的Material Design风格肯定不能不提,最为这次5.0系统的最大亮点之一,Google算是做足了功…
硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以上 软件环境:OS X 10.9.2 GNU Make 3.81 Python 2.7.5 XCode 5.0.2 java version "1.7.0_55" repo VERSION = (1, 21) 某收费VPN(代理FAN墙是下载不了的,请使用VPN) (软件版本问题非常可能导…
在等了好几天还没有等到OTA升级提示,前天笔者给Nexus4线刷入了官方提供的Lollipop的镜像,在试用了这两天之后,现在总结下自己感觉很惊艳的地方和一些地方的吐槽.(点击图片可以查看大图) 1.Material Design: 不得不说,这次的UI风格与用户交互改变很大,主要的就是谷歌推行的Material Design,刚开始看着和用着都觉得挺别扭,但是一旦接受了这个设定,还是挺带感的括弧笑. 典型的用户界面与交互设计可以参考Gmail,不得不说,Gmail一直是谷歌给开发者设计应用的规…
这几个概念比较绕, 又比较相近. 初看比较糊涂, 把握关键点就好. 关键字 View SurfaceViewGLSurfaceViewTextureView这三个后缀都是View, 所以这三个东西都是用来显示的, 和普通的View差不多, 类似TextView等. 通过历史来说明:SurfaceView 出现最早, 解决类似视频播放的问题(可以用单独一个线程来渲染UI).后来发现用起来不方便, 渲染线程需要单独编写, 一大堆都可以独立成模板.所以后来就出现了 GLSurfaceView, 概括一…
Nexus刷机 : 官方地址 刷机步骤 下载相应的安装包 连接USB 重启手机,进入BootLoader界面 : 使用命令 adb reboot bootloader 关机; 音量键下 + 电源键 解锁 : 输入命令fastboot oem unlock , 此时若显示< waiting for device >则需要执行adb kill-server,adb start-server来重启adb连接.若是Windows系统要注意豌豆荚,360等流氓应用会抢占adb接口,要先杀死之 将下载…
因为最近项目需要,涉及到 SD卡 的读写操作,然而申请 <!-- 读写权限 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 权限只能对 SD卡 进行读操作,而没有写权限,也…
上午的时候在刷Google+,看到了Abraham Williams转发了一篇强文,是Android Developers网站新发的一篇博客—Implementing Material Design in your Android App.觉得很前卫,对于新发布的Android版本号Android 5.0是一个很好的学习和了解的机会,所以就花了些时间把它翻译了下来,希望对自己.对其它人有所启发. 因为翻译Android开发博客和API也只是业余爱好,水平有限,其中不免有不准确的地方,所以把原文地…
现在已经进入了2018年,Android 8.0系统也逐渐开始普及起来了.三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接着小米.华为.OV等国产手机厂商即将推出的新年旗舰机也会搭载Android 8.0系统.因此,现在已经是时候需要让我们的应用程序对Android 8.0系统进行适配了. 其实在去年Android 8.0系统刚推出的时候,我就仔细翻阅过Google官方的功能变更文档.变更项着实不少,但是真正需要我们去进行功能适配的地方却并不多.总结了一下,最…
这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下载源码,并结合源代码一起阅读本文.但是即便是没有看源代码,本文也能帮助你理解我们在干什么. 两个问题 要实现我们需要的功能,我们必须解决两个问题: 我们需要管理视频的播放.在安卓中,我们有一个和SurfaceView 一起工作的MediaPlayer.class 类可以播放视频.但是它有许多缺陷.我们不能在列表中使用普通的VideoView .V…
有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 )   距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗.当我们首次看到Android 5.0 Lollipop这个名字的时候,就已经意识到这将是Android系统有史以来变化最大的一次升级. 首先,在感官界面设计上,我们彻底迎来了Android系统的扁平化时代,新…
Android Lollipop 面向开发人员的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频处理进一步完好 Android 在办公中的应用 屏幕截图和共享 新型传感器 Chromium WebView 辅助功能和输入 构建低电耗应用 欢迎使用 Android 5.0 Lollipop,这是迄今为止规模最大最为雄心勃勃的 Android 版本号! 此版本号为用户推出了各种崭新的新功能,为开发…
Android 5.0 (LOLLIPOP) 为用户和应用开发者提供了新功能.本文旨在介绍其中最值得关注的新 API. 如果您有已发布的应用,请务必看一看 Android 5.0 行为变更,了解您的应用应该考虑的变化.即使您不使用新的 API 或者确定新功能目标,这些行为变更仍可能会影响您的应用在 Android 5.0 设备上的表现. 如需详细了解新平台功能,请参阅 Android Lollipop 重要内容. 着手开发 要着手开发 Android 5.0 应用,您必须先获得 Android…
距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗.当我们首次看到Android 5.0 Lollipop这个名字的时候,就已经意识到这将是Android系统有史以来变化最大的一次升级. 首先,在感官界面设计上,我们彻底迎来了Android系统的扁平化时代,新的系统不仅使用了新的配色,同时看起来也很时尚.未来我们相信包括三星的TouchWiz或LG的Optimus自定义UI都会遵循Lollipop的新…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 参考资料<一起来学习Android 8.0系统的应用图标适配吧>中已经讲得很清楚了,这里我只是简单总结下.详情的内容请阅读参考资料! 为什么进行图标适配? 可能有些朋友觉得困惑,应用图标这种东西从Android远古时代就已经有了,而且功能格外的简单,就是放张图片而已,这有什么好适配的呢?但实际上,在当前Android环境下,应用图标功能是极其混乱的.可以看到,在Android上,应用图标可以是方形.圆形.圆角矩形.或者是其他任…
本文转载自:https://zhuanlan.zhihu.com/p/32868074 本人对于 SELinux for Android 理解不深,下文中的各文件及安全规则虽都是我所编写,但也是一边查阅文档一边试验得出的.在此强行为文,若有理解错误之处,请各位工程师同仁热情指出. 感谢 @leedecode 指出文章不足.按照 Project Treble 的要求,这种需求的规范做法应该是通过 HIDL 进行调用并添加上相应的 SELinux 权限,所以下文中的做法只能算是一种 workarou…
一.SurfaceView SurfaceView继承自View,并提供了一个独立的绘图层,你可以完全控制这个绘图层,比如说设定它的大小,所以SurfaceView可以嵌入到View结构树中,需要注意的是,由于SurfaceView直接将绘图表层绘制到屏幕上,所以和普通的View不同的地方就在与它不能执行Transition,Rotation,Scale等转换,也不能进行Alpha透明度运算. SurfaceView的Surface排在Window的Surface(也就是View树所在的绘图层)…
Android 6.0 中的 Wifi 连接 这几天在写一个软件,结果被其中的 wifi 连接问题困扰了 3 天. 先描述下需求: usb 接口接了一根 usb2serial,通过这个接口接收命令 当接收到的命令为连接 wifi 时,从命令中读出要连接的 wifi 名称,用这个名称去进行连接 返回结果为是否能够找到这个 wifi,找到这个 wifi 是否能够连接 起先,我觉得这个问题是很容易的.它不就是: 构造出一个 WifiConfiguration实例: 将实例传递给WifiManager对…
在Android 5.0中使用JobScheduler 原文链接 : using-the-jobscheduler-api-on-android-lollipop 译者 : Mr.Simple 校对者 : Mr.Simple 在这篇文章中,你会学习到在Android 5.0中怎样使用JobScheduler API. JobScheduler API同意开发人员在符合某些条件时创建运行在后台的任务. 介绍 在Android开发中,会存在这么些场景 : 你须要在稍后的某个时间点或者当满足某个特定的…
我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描述 今天在Android4.4 的小米4手机上运行我的程序的时候没有报错,而在Android 5.1的华为P7上运行我的程序的时候报了以下的错…
我的Android进阶之旅-->怎样解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描写叙述 今天在Android4.4 的小米4手机上执行我的程序的时候没有报错.而在Android 5.1的华为P7上执行我的程序的时候报了以下…
在这篇文章中,你会学习到在Android 5.0中怎样使用JobScheduler API. JobScheduler API同意开发人员在符合某些条件时创建运行在后台的任务. 介绍 在Android开发中,会存在这么些场景 : 你须要在稍后的某个时间点或者当满足某个特定的条件时运行一个任务,比如当设备接通电源适配器或者连接到WIFI.幸运的是在API 21 ( Android 5.0.即Lollipop )中,google提供了一个新叫做JobScheduler API的组件来处理这种场景.…
有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollipop开始,service服务必须采用显示方式启动.而android源码是这样写的(源码位置:sdk/sources/android-21/android/app/ContextImpl.java): private void validateServiceIntent(Intent service)…
android 6.0对于权限管理比较收紧,因此在适配android 6.0的时候就很有必要考虑一些权限管理的问题. 如果你没适配6.0的设备并且权限没给的话,就会出现类似如下的问题: java.lang.SecurityException: :com.chexiu.sales/u0a34} (pid=, uid=) with revoked permission android.permission.CALL_PHONE google官方权限分类: 如下为正常的权限: ACCESS_LOCAT…
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:汪毅雄 导语: 本文描述了ContentProvider发布者和调用者这两在Framework层是如何实现的. 作为Android的四大组件之一,ContentProvider作为进程之间静态数据传递的重要手段,其在系统级别的应用中起了重大的作用.毫无疑问,ContentProvider核心机制之一也是Binder,但是和其它3大组件又有区别.因为ContentProvider涉及数据的增删查改,当数据量比较大的时候,继续用Parc…
extends:http://www.eoeandroid.com/thread-568853-1-1.html 本帖最后由 469874851 于 2015-3-11 18:15 编辑 有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollipop开始,service服务必须采用显示方式启动.而android源码是这样写的(源码位置:sdk/source…
在Android4.0系统中,创建菜单Menu,通过setIcon方法给菜单添加图标是无效的,图标没有显出来,2.3系统中是可以显示出来的.这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 MenuBuilder做了改变,该类的部分源码如下: public class MenuBuilder implements Menu { ... private boolean mOptionalIconsVisible = false; .... void setOptionalIconsVisib…
前言 本章内容是android.widget.ExpandableListAdapter,版本为Android 3.0  r1,翻译来自"深夜未眠",欢迎访问它的博客:"http://chirs1012f.javaeye.com/",再次感谢"深夜未眠" !期待你一起参与Android  API的翻译,联系我over140@gmail.com. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com/ An…