自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dennis-Android的博客

努力工作,快乐生活!

  • 博客(43)
  • 资源 (16)
  • 收藏
  • 关注

原创 Android OpenGL ES学习笔记之概要

前言因为对OpenGL比较感兴趣,所以这段时间一直在研究这个,于是把自己的学习笔记分享给大家,希望能帮到初学者 。一、OpenGL ES是什么百度百科是这样介绍的:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。 OpenGL(Open Graphics Lib

2016-08-10 10:03:10 2215 1

原创 Android4.4-Launcher源码分析系列之概述

这段时间研究了安卓4.4的Launcher源码,决定把自己的收获分享一下,欢迎各位留言.把4.4的Launcher源码导入到eclipse中时会报一些错误,这是因为涉及到一些隐藏的api和资源.需要以下3个jar包        1.ramework_intermediates/classes.jar                                   这个主要是andro

2016-05-19 14:59:12 2331 3

原创 Android 7.0 SystemUI 之启动和状态栏和导航栏简介

Android 7.0 SystemUI 之启动和状态栏和导航栏简介一、SystemUI 是什么首先SystemUI 是一个系统应用,apk路径位于/system/priv-app源码路径位于:/framework/base/packages/ystemUI它负责的功能如下:状态栏信息的展示:比如电量信息,时间,wifi状态等通知栏消息壁纸管理截图功能近期任务栏显示,比如长按home键显示

2016-12-07 16:37:10 23918 6

原创 Android7.0 Vold 进程工作机制分析之由MountService发起挂载请求

Android7.0 Vold 进程工作机制分析之由MountService发起挂载请求一、MountService发起挂载请求上一篇Android7.0 Vold 进程工作机制分析之由Kernel发起挂载请求是讲解了kernel发起的请求,这一篇接着讲由MountService发起挂载请求的流程. 其实这个流程的大部分在上一篇已经被包含了,我还是写下吧.1.MountSe

2016-11-25 09:57:59 2929

原创 Android7.0 Vold 进程工作机制分析之由Kernel发起挂载请求

Android7.0 Vold 进程工作机制分析之由Kernel发起挂载请求一、MountService简介MountService是一个系统服务,负责与Vold进程通信的,运行在SystemServer进程,当收到Vold的挂载消息后,会通过广播的方式通知上层应用.它是在SystemServer的startOtherServices方法里启动的SystemServer路径——

2016-11-25 09:57:20 2065 3

原创 Android7.0 Vold 进程工作机制分析之整体流程

Android7.0 Vold 进程工作机制分析之整体流程一、Vold简介Vold是Volume Daemon的缩写,负责管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等。它是通过init进程解析init.rc脚本所启动的进程.它处于Native层.二、基础架构这里引用Gityuan博客的一张图。SystermServer进程和Vol

2016-11-25 09:56:21 5340 3

原创 Android OpenGL ES学习笔记之添加纹理

texture在游戏制作里面指贴图,又称纹理。游戏制作需要用到大量的图片素材,尤其是3D游戏。游戏制作的时候会存放图片到texture里面,运行游戏时会读龋如果坏掉…

2016-08-10 10:42:57 4710 3

原创 Android OpenGL ES学习笔记之材质概念和添加光照

一、光照概念观察一个真实的3D物体,在不同的部位必然有不同的光照效果,有的地方暗一点,有的地方亮一点。而这种视觉差异是由光源和材质(物体的材料)共同决定的。光源强度由红、绿、蓝三色光强度共同决定,最终的光照效果由4部分组成: - Emitted(光源) - diffuse(漫反射光) - specular(镜面反射光) - ambient(环境光) 这里附上一张网上的图:

2016-08-10 10:33:14 5002 2

原创 Android OpenGL ES学习笔记之绘制一个立方体

前言前面已经讲了如何绘制点、线、面,现在就来绘制一个立方体,OpenGL ES中任何一个立体图形都是由很多面组成的,这个面指的就是三角形,所以绘制立方体就是绘制多个三角形而组合起来。绘制立方体有6个面,左、右、前、后、上、下。共有8个顶点,每个面有4个顶点,代码如下 PS:一定要注意顶点的顺序,不能随意选择 // 定义立方体的8个顶点 float[] cubeVe

2016-08-10 10:29:34 8221 6

原创 Android OpenGL ES学习笔记之添加颜色

一、分类添加颜色的种类有两种 - Flat coloring 单色 - Smooth coloring 平滑着色单色顾命思义就是一种单一的颜色,调用 glColor4f(float red, float green, float blue, float alpha)方法传入红、绿、蓝、透明度四个参数,取值0~1f。还是以An

2016-08-10 10:27:52 3966

原创 Android OpenGL ES学习笔记之图形变换

一、概念在OpenGl ES中,将一个3D模型显示到2D屏幕中有以下四个过程。 1. 视角(Viewing)变换 2. 模型(Modeling)变换 3. 投影(Projection)变换 4. 视窗(Viewport)变换视角(Viewing)变换相当于你拿着一台照相机移动,从不同的位置来观察一个人,比如下图模型(Modeling)变换此时相机不动,

2016-08-10 10:25:52 3520

原创 Android OpenGL ES学习笔记之绘制线、面

前言之前一篇文章讲了如何绘制点,所谓两点成线,三点成面。一个立体图形就是由很多面组成,在OpenGL ES中,面特指一个三角形。绘制调用glDrawArrays(int mode, int first, int count)方法mode的参数可以选择 - GL_POINTS ————绘制独立的点 - GL_LINE_STRIP————绘制连续的线段,不封闭 - GL_LINE_LOOP————绘制连

2016-08-10 10:21:29 7326

原创 Android OpenGL ES学习笔记之常用API

上一篇文章Android OpenGL ES学习笔记之绘制点涉及到了一些API,在这篇文章配合一些实例给大家详细的讲解下。缓冲区在OpenGL ES 中存在着三种缓冲区- 颜色缓冲区 ————包含了颜色索引或者RGBA颜色数据- 深度缓冲区 ————存储每个像素的深度值,当启动深度测试时,片段像素深度值和深度缓冲区深度值进行比较,决定片段哪些像素点数据可以替换到颜色缓冲区中

2016-08-10 10:17:47 2751 1

原创 Android OpenGL ES学习笔记之绘制点

一些基本概念 世界坐标系 世界坐标系就是3D绘图中像素的坐标。在3D绘图中,坐标轴遵循右手法则,让你右手手心正对自己,大拇指指向X轴正方向,拇指指向Y轴正方向,中指指向Z轴正方向。如下图所示点的表示 空间中一个点具有(x,y,z)坐标。在Android系统中,可以用一个float数组、int数组等来表示一个点,比如private float[] mArray = { 0f, 0f, 0f };而在

2016-08-10 10:12:42 6869

原创 Android OpenGL ES学习笔记之实现OpenGL ES接口

一、GLSurfaceView介绍在Android平台上实现OpenGL的view很简单,只需要用到GLSurfaceView和GLSurfaceView.Renderer。GLSurfaceView是用来连接OpenGL ES和android的view结构的.GLSurfaceView位于android.opengl包类,继承自SurfaceViewpublic class GL

2016-08-10 10:03:47 4716

原创 精彩案例-悬浮在桌面上的照相机

一、简介这个案例就是在桌面上开启一个悬浮窗,悬浮窗里实时显示照相机的内容,可以自由拖动,当在非桌面状态下自动隐藏.如下图所示(): PS:gif都失真了,凑合看,实际中这个窗口是不会闪烁的 我做这个是因为公司项目里在android系统的NavigationBar里显示了行车记录仪,实时录像.我想把类似的思路分享出来.通过这个可以学习TextureView和自定义悬浮窗口的知识.

2016-07-24 20:29:29 8418 5

原创 完全理解Android中的RemoteViews

一、什么是RemoteViewsRemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteViews之间依赖Binder实现了进程间通信.二、RemoteViews的用法RemoteViews使用最多的场合是通知栏和桌面小插件. 以通知栏为例,讲解下它的用法.1、新建一个Notification这里要

2016-07-16 15:17:18 9722

原创 Android中Intent连接不同组件的原理

一、什么是Intent1、概念Intent翻译过来是”意图、目的”的意思,是连接四大组件的桥梁,作为中介传输信息.2、类型Intent分为两种,显示和隐示.显示需要指定目标组件信息,隐示则只需要指定被目标组件响应的信息(action和category等信息).3、属性component(组件):目的组件 action(动作):用来表现意图的行动 category(类别):用来表现动作的类别

2016-07-11 09:27:01 3243

原创 Android 热修复其实很简单

android AndFix 热修复 动态加载

2016-07-03 20:37:48 27778 52

原创 Java的ClassLoader加载机制

一、ClassLoader的概念Java程序在运行的时候,JVM通过类加载机制(ClassLoader)把class文件加载到内存中,只有class文件被载入内存,才能被其他class引用,使程序正确运行起来.二、ClassLoader的分类 Java中的ClassLoader有三种.1. Bootstrap ClassLoader 由C++写的,由JVM启动.启动

2016-06-29 13:44:53 5095 1

原创 Android系统窗口管理机制简介

一、概述Android系统窗口管理是由WindowManagerService负责实现的.WindowManagerService(后面简称WMS)的代码位于frameworks/base/services/java/com/android/server/wm/WindowManagerService.java.什么是窗口?窗口就是屏幕上的一块矩形区域,可以显示UI和与用户交互

2016-06-28 17:29:10 4580

原创 Android系统启动流程分析之启动应用

继上一篇Android系统启动流程分析之安装应用文章接着分析系统启动应用的过程.Android系统的启动流程简要分析里已经介绍了SystemServer在main方法里创建了一个线程ServerThread,并调用initAndLoop方法加载各种服务,ActivityManagerService(Ams)就是在这里加载的.那么,看下initAndLoop方法里关于AMS的核心代码.1

2016-06-24 17:37:27 1701

原创 Android系统启动流程分析之安装应用

跟随上一篇博客Android系统的启动流程简要分析继续分析android系统的启动.上一篇文章里讲了,SystemServer在main方法里创建了一个线程ServerThread,并调用initAndLoopf方法.ServerThread thr = new ServerThread();thr.initAndLoop();在initAndLoopf方法里加载各种服务,比如Win

2016-06-21 16:35:16 1348

原创 Android系统的启动流程简要分析

一.Android系统的架构介绍Android的整个系统分为四层,从上至下为应用层、框架层、系统库、Linux内核层.1.应用层各种系统应用,比如电话、浏览器、日历等2.框架层也就是Framework层,

2016-06-14 13:54:12 1386

原创 Android4.4-Launcher源码分析系列之搜索框/删除框

一、搜索框/删除框简介搜索框在手机桌面上方,当拖动一个快捷方式图标时就会隐藏搜索框并且显示删除框.如下图所示二、搜索框/删除框布局  屏幕上方的搜索和删除框是在一个布局里,名称为qsb_bar,位于res/layout-port/launcher.xml布局里,如果你的设备是横屏的,那么在res/layout-land/launcher.xml布局里.

2016-06-06 09:25:01 4310 5

原创 Android4.4-Launcher源码分析系列之Launcher界面修改、壁纸替换、图标替换、修改滚动指示器

一、Launcher加载布局的基本流程Launcher界面的内容展现是由default_workspace.xml决定的,它决定了每个屏幕显示的内容和布局.位于res\xml目录下.它是在LauncherProvider里的loadDefaultFavoritesIfNecessary方法进行解析,然后存储到数据库中.LauncherProvider继承自ContentProvider.看下这

2016-06-04 09:32:40 5030

原创 Android4.4-Launcher源码分析系列之Launcher启动简介

一、Launcher的启动首先启动LauncherApplication,这里面只有两行代码,初始化了LauncherAppState,LauncherAppState主要是初始化一些对象,注册广播和内容观察者等.比如你安装程序和卸载程序,里面都会监听这个广播.之后启动Launcher这个Activity,看它的oncreate方法. @Override prote

2016-06-03 21:01:36 1704

原创 Android4.4-Launcher源码分析系列之WorkSpace及屏幕滑动

一.WorkSpace是什么前面已经介绍了一个WorkSpace包含了多个CellLayout,再回忆下之前画过的图WorkSpace是一个ViewGroup,它的布局如下 <com.android.launcher3.Workspace android:id="@+id/workspace" android:layout

2016-06-03 10:46:15 10552 6

原创 Android4.4-Launcher源码分析系列之CellLayout

一.CellLayout是什么在前面的 Android4.4-Launcher源码分析系列之Launcher介绍分析了Launcher的布局,CellLayout继承自ViewGroup,一个Workspace由多个CellLayout组成,每一个CellLayout负责里面图标(favorite)和widget的显示.说白了,我们滑动屏幕的每一页就是一个CellLayout.二、Ce

2016-06-02 09:45:20 3732 1

原创 Android4.4-Launcher源码分析系列之关键的类和接口之DragScroller、DragController

一、DragScrollerDragScroller是一个接口,顾名思义是控制滑动的接口,它定义了4个方法public interface DragScroller { /** * 左滑 */ void scrollLeft(); /** * 右滑 */ void scrollRight(); /** *进入滑动区域

2016-06-01 10:37:25 2080

原创 Android4.4-Launcher源码分析系列之关键的类和接口之DropTarget、DragSource

一、DropTargetDropTarget是一个接口,它定义了一个可以接收被拖动对象的对象,意思是说实现了这个接口的对象是一个可以放置被拖动对象的容器.实现了这个接口的有ButtonDropTarget、Folder、Workspace三个.它内部定义了一个DragObject类,声明了一些与拖动有关的属性 class DragObject { publi

2016-06-01 09:13:29 3657

原创 Android4.4-Launcher源码分析系列之关键的类和接口之DragLayer

一、DragLayer布局上一篇文章分析过Launcher的布局,它是最外层的布局<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher

2016-05-31 19:36:44 3125

原创 Android4.4-Launcher源码分析系列之Launcher介绍

一.Launcher是什么Launcher是启动器的意思,最直观的就是手机上的桌面.其实它是个Activity. public class Launcher extends Activity implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks, 它负责管理桌面,包括显示快捷方式,w

2016-05-19 16:08:55 6244

原创 教你学会Android的NDK开发

一.NDK是什么  NDK是Native Development kit的缩写,即本地开发工具包,它支持用C/C++方式来开发Android,而SDK是用Java来开发Android。这样在安卓平台上就实现了Java+C/C++的开发方式。两者可以通过JNI (Java Native Interface)来互相调用。关于它们的关系如下图所示:    二.NDK的作用     1.便

2016-05-14 12:42:22 770

原创 app动态引导页的制作

有一些app的引导页有些特别,不是常规的那种静态图。比如慕课网的引导页         PS:博客上传图片限制在2M以下,只能减少帧数了,所以有点快                    我一开始想,这个不就是个gif吗,然后网上看了下Android实现gif的资料,基本都是自定义view然后解码gif,一帧一帧,效果也不是很 理想.于是我就反编译了app,发现这是三个短视频.

2016-05-03 10:51:36 11626 33

原创 安卓实现老虎机抽奖的案例

最近看到某理财app上有一个类似老虎机的抽奖功能,觉得蛮好玩就想自己动手去实现下.就做了一个简单的案例,效果如下:

2016-04-30 17:08:32 7231

原创 android 语音合成的简单实现

语音合成也就是TextToSpeech,简称TTS,即把文本转换成语音的意思。安卓系统自带TTS引擎,默认为Pico引擎,如下图所示:

2016-04-25 20:13:01 5925

原创 高德地图搜索附近的实现

最近项目中有用到搜索附近4S店和加油站的功能,于是我写了个Demo,输入你想查找的内容,就可以显示相关的信息.效果如下:        PS:listview中有两个纬度,后一个应该是经度的,不小心写错了名称。           这里使用的是高德地图,先需要去高德SDK网站申请一个key,下载相应的SDK导入工程,需要地图SDK和定位SDK,网站在此,然后配置AndroidManif

2016-04-23 17:04:00 12097 8

原创 Android开发Widget之提高篇

在上一篇博客Android开发Widget之入门篇

2016-04-19 22:01:28 1885

原创 Android开发Widget之入门篇

一. Widget介绍:        Widget是窗口小部件的意思,比如时间Widget,日历Widget等。

2016-04-17 22:21:32 1200

自定义悬浮窗显示照相机

在桌面上显示一个悬浮窗,在悬浮窗里实时显示照相机 博客地址: 精彩案例-悬浮在桌面上的照相机 http://blog.csdn.net/qq_31530015/article/details/52015170

2016-07-24

Xposed框架和开发用到的jar包

博客地址:http://blog.csdn.net/qq_31530015 Android 4.0.3到Android 4.4的版本选择以下的 框架:de.robv.android.xposed.installer_v33_36570c.apk API:XposedBridgeApi-54.jar Android 5.0以上的版本选择以下的 框架:XposedInstaller_3.0_alpha4.apk API:XposedBridgeApi-82.jar

2016-07-03

AndFix热修复Demo

用法参考 博客地址: http://blog.csdn.net/qq_31530015

2016-07-02

热修复的Demo

用法参考 博客地址: http://blog.csdn.net/qq_31530015

2016-07-02

带注释的Launcher3

带有注释的Launcher3

2016-06-16

Launcher 4.4源码 可在eclipse直接编译

博客地址: http://blog.csdn.net/qq_31530015

2016-05-26

可以直接在eclipse上运行Launcher4.4源码

博客地址:http://blog.csdn.net/qq_31530015

2016-05-19

动态引导页的实现

动态引导页的Demo, 原文博客地址: http://blog.csdn.net/qq_31530015(app动态引导页的制作)

2016-05-03

动态引导页的Demo

动态引导页的Demo, 原文博客地址: http://blog.csdn.net/qq_31530015(app动态引导页的制作)

2016-05-03

语音合成的Demo

原文地址:http://blog.csdn.net/qq_31530015(android 语音合成的简单实现)

2016-04-27

OkHttp Jar包

OkHttp Jar包

2016-04-27

高德地图搜索周边的Demo

原文地址:高德地图搜索周边的实现 http://blog.csdn.net/qq_31530015

2016-04-23

时间widget的Demo

原文地址:http://blog.csdn.net/qq_31530015

2016-04-20

widget的Demo

博客:http://blog.csdn.net/qq_31530015/article/details/51176059

2016-04-19

画板的Demo

画板Demo

2016-04-11

DialogDemo

一键生成自定义Dialog的Demo

2016-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除