《Android4高级编程》
文章平均质量分 79
安静的Sunny
人生就是不断重复挖坑,跳坑,填坑的过程!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Service 与 IntentService
一、概述 Service为Android四大组件之一,与Activity不同的是,Service没有图形用户界面,是运行不可见的,是长生命周期的。而Activity是有图形界面,有固定生命周期的,只能在生命周期内启动,停止,重新创建。 启动一个Service或以通过其它组件,比如:Activity,Broadcast Receiver,ContentProvider或其它的Service来启动原创 2016-01-16 17:55:36 · 702 阅读 · 0 评论 -
OpenGLES Android篇零基础系列(三):OpenGL ES的渲染管道及VertexShader与FragmentShader
前言在前2篇文章中,我们都说到着色器,且在第二篇中正式说到,这着色器只能用在OpenGL ES2.x等可编程管道里面,而在OpenGL ES1.x是不能用的。但我们一直没有说这是为什么,两者有什么区别。那这篇我们就一起来学习下OpenGL ES中的渲染管道。正文管道,英文名叫Pipeline,相信用过FaceBook图片加载库的同学对这个管道并不陌生,因为SimpleImageDrawee里面也是用原创 2016-07-14 14:47:47 · 5652 阅读 · 0 评论 -
OpenGLES Android篇零基础系列(二):OpenGL各坐标系及模型矩阵(ModelViewMatrix),投影矩阵(ProjectionMatrix)等的深入理解
上一篇我们粗略的介绍了下GLES20 中 GLSurfaceView以及Render接口的使用。 对于三角形顶点坐标的定义并没有做出注释,其实在官方的ApiDemo中,它也是赤裸裸的,一个注释都没有,且代码写得一点都不敢恭维,不知道那位同行现在是不是还在google里面。下面贴出一小段官方的ApiDemo中的代码,一起鉴赏鉴赏: private static final int FLOAT_SIZ原创 2016-07-13 16:17:17 · 16994 阅读 · 0 评论 -
OpenGLES Android篇零基础系列(一):OpenGLES2.x可渲染管道基本流程
转载请注明出处前言OpenGL ES是OpenGL的一个子集,是针对手机、PDA和游戏主机等嵌入式设备而设计的。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 因此OpenGL ES作为第三方库被应用在android中。 到目前为止,OpenGL ES已经发展有了3个版本,OpenGL ES 1.0 , OpenGL ES原创 2016-07-12 19:17:03 · 7689 阅读 · 1 评论 -
OpenGLES Android篇零基础系列(四):透视投影(PerspectiveProjection)与正射投影(OrthographicProjection)
前言 OpenGLES Android篇零基础系统前面已经写了三篇了,因为OpenGL里面的水着实是深,所以里面好多的概念都没有去查资料,如果一碰到不会的就去查,就感觉没有连贯性。所以就只能是先一笔带过,然后再慢慢研究。正文前面我们已经了解到,OpenGL其实是把物体从世界坐标系通过各种复杂的转变,计算等变成屏幕坐标系,显示在视口中。即:把三维物体转变为二维图像。而转变的方式有透视、正射,首先我们原创 2016-07-27 16:16:34 · 12389 阅读 · 7 评论 -
Git远程操作详解
本文转载至:http://www.ruanyifeng.com/blog/2014/06/git_remote.html概述Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。 Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作。git clonegit remotegit fetch转载 2017-03-01 18:02:02 · 362 阅读 · 0 评论 -
Android 常用的ADB 命令
1,查看某一路径的权限:adb shell ls -al /data 结果如图: 2,如果电脑通过 USB连接多台Android设备时,怎样通过命令操作指定的设备:adb devices 结果: 如果要针对上图的2IMFE1WG6N设备进行shell命令操作: adb -s 2IMFE1WG6N shell 【-s:为select的缩写,意为选择】3,用adb来对设备原创 2017-02-22 19:18:48 · 587 阅读 · 0 评论 -
Ubuntu14下repo的下载及Android源码下载
因为repo是google官方用python写的有关git命令的脚本, 因此第下载repo之前 首先安装git第一步:安装Git$sudo apt-get install git-core 第二步:安装curl因为要下载工具,android源码等,因此得安装一个下载工具,而Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传原创 2017-03-02 14:57:02 · 1984 阅读 · 0 评论 -
Android7.0上拍照与选择照片Crash问题
在Android7.0系统上,Android 框架强制执行了 StrictMode API 政策禁止向你的应用外公开 file:// URI。 如果一项包含文件 file:// URI类型 的 Intent 离开你的应用,应用失败,并出现 FileUriExposedException 异常,如调用系统相机拍照,或裁切照片。应对策略:若要在应用间共享文件,可以发送 content:// URI类型的原创 2017-02-24 19:24:04 · 6185 阅读 · 0 评论 -
OKHTTP之缓存配置详解
注意注意:转载一篇郭神的文章:http://chuansong.me/n/1185791251527前言在Android开发中我们经常要进行各种网络访问,比如查看各类新闻、查看各种图片。但有一种情形就是我们每次重复发送的网络请求其实返回的内容都是一样的。比如一个电影类APP,每一次向服务器申请某个电影的相关信息,如封面、简介、演员表等等,它们的信息都是一样的。显然,这样有点浪费资源,最主要的是这些重转载 2017-02-27 14:48:54 · 627 阅读 · 0 评论 -
OpenGLES Android篇零基础系列(五):GLSL着色器语言
本文转载至:http://www.tuicool.com/articles/qMfAfy一.概述GLSL ES是在GLSL(OpenGL着色器语言)的基础上,删除和简化了一部分功能后形成的,目标平台是消费电子产品和嵌入式设备,比如智能手机、游戏主机等等,ES版本主要降低了硬件功耗,减少了性能开销。二.基本语法规则大小写敏感语句末尾 必须 要有分号从main函数开始执行函数声明中 不能省略返回原创 2016-12-22 15:49:20 · 2759 阅读 · 0 评论 -
漫说Android 中SurfaceView蕴含的美
相信大家对SurfaceView并不陌生,也相信大家一定有用它来做过视频播放等功能。但我今天要跟大伙分享的并不是如何利用SurfaceView来做视频播放,而是想与大伙一起来谈谈SurfaceView所蕴含的美,一种只有程序员才能读懂的美。SurfaceView作为View家族的一员,它的美是内在的,而这种内在的美又受View家族的熏陶。即继承了View的精神,但又与时俱进,不乏创新精神,标新立异,原创 2016-11-12 15:16:02 · 886 阅读 · 1 评论 -
关于GLSurfaceView lockCanvas锁定画布的问题
注:由于最近一直在研究人脸识别,其中用到了GLSurfaceView,里面遇到了一个坑,一直没找到原因,现在终于找到了,权且做个备忘录。大家都应该知道,我们可以直接通过SurfaceView来锁定画布,在画布上面画自己想要的东西,完了,通过解锁画布,把内容渲染出来。可不知道为什么,在用GLSurfaceView是,调用lockCanvas()方法,死活不成功,报如下错误: 但是我如果自己写一个S原创 2016-10-17 10:26:02 · 4000 阅读 · 1 评论 -
Android 首选项框架及PreferenceScreen,PreferenceActivity,PreferenceFragment的用法与分析
前言 《Android 4 高级编程(第3版)》第7章第5节讲到了首选项框架和PreferenceActivity概述等内容,因为第一次见到PreferenceScreen,还没用过,所以心情难免有点小激动。那google官方为什么要出这么个东东,它又有什么好处呢?让我们带着这些个问题,一起去进行探索吧!提纲这篇文章我们会从以下几个知识点进行学习:PreferenceScreenPr原创 2016-01-05 15:18:35 · 3259 阅读 · 1 评论 -
Android TTS(TextToSpeech)语音输出与RecognizerIntent语音识别
一、引言在《Android 4 高级编程(第3版)》第11章中,讲到了语音输出及语音识别。 对语音识别,公司项目中有用到,但是我们用的第三方的(讯飞),由于这块功能不是由我来做,所以也就没有花时间去看第三方是怎么接入的,只是粗略的扫了一下项目中这块的代码,没有难度。跟其它第三方API一样。二、正文1、TTS(TextToSpeech)TextToSpeech:在android speech包下,从原创 2016-03-05 23:31:16 · 3382 阅读 · 0 评论 -
Android Data Binding 用户指南
1)介绍这篇文章介绍了如何使用Data Binding库来写声明的layouts文件,并且用最少的代码来绑定你的app逻辑和layouts文件。Data Binding库不仅灵活而且广泛兼容- 它是一个support库,因此你可以在所有的Android平台最低能到Android 2.1(API等级7+)上使用它。需求:Android Studio 1.3.0-beta1 或转载 2016-03-11 17:33:00 · 953 阅读 · 0 评论 -
Android ViewStub的应用
ViewStubviewStub是一个轻量级的View,用在动态切换布局中, 因为如果通过设置View.GONE等来控制布局文件的显示与否,虽然逻辑简单且易控制, 但是耗系统资源。所以ViewStub只能inflate一次,inflate一次后,它就会被置空,因此不能用来设置view,只能用来设置布局文件。 用法如下: 效果图: 如果是按照以往,注册界面我会新开一个界面,用Intent原创 2016-04-09 14:45:02 · 476 阅读 · 0 评论 -
Android关于LinearLayout中onDraw(Canvas canvas)方法不执行问题
前言在Android实际项目开发中,由于需求,我们可能会自定义各种控件,最常用的就是extends View或extends LinearLayout等。然后再复写onDraw()方法。正文1,最开始自定义XXView enxtends View ,然后重写onDraw()方法, 这样只要我们实例化一个XXView对象时,onDraw()方法就会调用。 但当我自定义另外一个View extend原创 2016-04-11 13:51:06 · 5210 阅读 · 4 评论 -
Ubuntu12.04下Android4.0.4源码的下载及其编译过程
本文转载至:http://www.jizhuomi.com/android/environment/427.html 一、下载源码 1、下载工具repo:https://android.googlesource.com/tools/repo/ 在本地目录建个bin的文件夹,进入bin文件夹;通过git下载:Java代码 git clone https://android.google转载 2016-07-18 19:34:25 · 726 阅读 · 0 评论 -
Android关于Jenkins+Gradle自动化构建时Gradle版本冲突的问题
前言 Jenkins自动化构建工具已经出来好久了,它为我们省去了不少的重复性工作,例如:构建,打包等。但是对于初学者,刚开始的配置可能会有点麻烦。这里我就不再赘述了,不懂的童鞋请自行去找度娘。正文 今天在构建项目时,Jenkins构建失败,并报以下错误: 意思就是项目里面配置的Gradle为2.10,但当前jenkins所用的版本为2.4,这个时候怎么办呢?有两种方法:一、把Jenki原创 2016-07-20 19:49:59 · 3626 阅读 · 0 评论 -
Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
本文转载至:http://www.cnblogs.com/Freedoms/p/5171201.html一、前言 目前正在准备从eclipse开发环境向AndroidStudio迁移,提前过去探探路,不出所料,原来gradle脚本果然报错,无法运行,想想索性把本地的gradle一起升级到最新版本,毕竟1.22有点太古老了。 仍然不废话,先上干货。二、准备工作1、首先,如果使用eclipse作转载 2016-10-14 11:06:32 · 538 阅读 · 0 评论 -
Android控件之TextClock
前言以前写时间控件,都是自己用TextView,然后写个线程来获取当前时间,然后显示。 直到今天无意间看到ApiDemo里面的View,发现了TextClock,才知自己的无知。正文1、 TextClock简介关于时间的文本显示,Android提供了DigitalClock和TextClock。DigitalClock是Android第1版本发布,功能很简单,只显示时间;在Android4.2(对原创 2016-10-17 14:07:14 · 12447 阅读 · 0 评论 -
Python实现Android Apk 加固及多渠道打包
前言道高一尺,魔高一丈。现如今只做混淆的apk,在smali逆向中,可以说是裸奔。鉴于此,各大佬也都针对自己的应用进行了加固处理(加固原理自找度娘),与此同时,市面上各主流平台也都开源推出了自己的应用加固工具,比如360加固助手。 我们海豚睡眠就是采用360加固,然后再配合美团新一代打包神器walle,来打渠道包上线的。 基本流程就是:apk包 —-》 360加固 —–》多渠道打包—–》上线原创 2017-10-26 11:29:27 · 4108 阅读 · 1 评论
分享