Android
文章平均质量分 84
Ocean2006
这个作者很懒,什么都没留下…
展开
-
Opengl ES----glDrawArray和glDrawElements
花了四天的时间, 把一款FPS游戏引擎Fly3D 转到OpenGL ES上, 众所周知, ES是面向移动设备的, 所以,为了效率,它对OpenGL进行了很多的筛减, 把一些没有效率的函数如(glBegin)全部扔掉了, 一些绘制的类型如GL_POLYGON也抛掉了,这里跟大家分享一下, 使用glDrawArray绘制POLYGON的替代方法以及glDrawElements绘制三角形网格转载 2011-10-21 01:25:13 · 2387 阅读 · 0 评论 -
Android中的Binder机制的理解
注:更详细介绍请参考: http://my.unix-center.net/~Simon_fu/?p=875 http://my.unix-center.net/~Simon_fu/?p=894 http://my.unix-center.net/~Simon_fu/?p=942 http://转载 2012-08-07 14:36:48 · 1401 阅读 · 0 评论 -
Tasks and Back Stack
本文对Android SDK开发文档“Tasks and Back Stack”章节的主要内容进行了翻译,原文请参考:docs/guide/topics/fundamentals/tasks-and-back-stack.html。概述一个手机应用程序通常包含多个Activities。每个Activity的设计,都是为了完成某种明确的功能及跳转到其他应用程序的Activity。比如,一个邮转载 2012-08-13 14:23:30 · 1220 阅读 · 0 评论 -
Android应用程序进程启动过程的源代码分析
Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持Binder进程间通信机制;这两个特点都是在进程的初始化过程中实现的,本文将详细分析Android应用程序进程创建过程中是如何实现这两个特点的。 Android应用程序框架层创建的应用程序进程的入口函数是ActivityThread.main转载 2012-08-20 17:46:36 · 1927 阅读 · 0 评论 -
Android4.0 Keyguard解锁屏机制
Keyguard解锁屏是Android系统中必不可少的模块,用户在开机后或者在点击Power按钮屏幕变亮后首先看到的画面即为解锁屏模块对应的界面。Keyguard模块功能相对简单: 第一:直观地显示手机当前的关键信息:比如电池信息、运营商信息、日期信息以及通话短信信息等。 第二:增强手机的安全性能:为了安全,用户可以在Setting里的Secure选项中设置passwo原创 2012-10-17 00:46:36 · 23590 阅读 · 3 评论 -
Android反射机制实现与原理
本文介绍Android反射机制实现与原理,在介绍之前,要和Java进行比较,所以先看下Java中的反射相关知识:一、反射的概念及在Java中的类反射 反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。在计算机科学领域,反射是一类应用,它们能够自描述和自控制。这类应用通过某种机制来实现对自己行为的描述和检测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的转载 2014-04-02 00:55:39 · 1598 阅读 · 1 评论 -
Android View绘制流程
一、官方文档 先是看了一下官方的文档, 地址是http://developer.android.com/guide/topics/ui/how-android-draws.html,它大体讲解了View的绘制流程。在此翻译一下,方便大家阅读。 当一个Activity接收焦点,它将被要求画出它的布局。Android框架将处理画图,但Activity必须提供根节点布局的层次转载 2014-04-02 01:05:06 · 1178 阅读 · 0 评论 -
Activity的加载模式
在上一文中,我们说过,Activity就相当于一块块的七巧板,每个应用用这一个个七巧板组合成了美丽的图画,并用代码验证了每个Activity的生命周期。 那么,每个应用又是如何将各个Activity组合起来的呢?这就是本文要讲的内容。 通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式转载 2014-04-28 13:39:45 · 883 阅读 · 0 评论 -
Android Fragment 基本介绍
Android Fragment 基本介绍Fragment Android是在Android 3.0 (API level 11)开始引入Fragment的。 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。 可以把Fragment设计成可以在多个转载 2014-08-29 15:13:30 · 799 阅读 · 0 评论 -
Android Fragment管理
Android基础之使用Fragment控制切换多个页面Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序就可以了,不用到处去找。里面分开不同功能,实现了不同的类今天讲解一下Fragment的控制,主要是切换View和页面替换等操作。还有转载 2014-08-29 15:46:42 · 899 阅读 · 0 评论 -
Android下PreferenceScreen 加载流程
android下PreferenceScreen 加载流程前面引入主题的废话不多说,也不会说,Preference的加载过程我们就从addPreferencesFromResource()方法开始研究。 addPreferencesFromResource()方法在PreferenceActivity类和PreferenceFragment类(Android3.0以后才有)中转载 2014-08-29 19:23:21 · 3398 阅读 · 1 评论 -
Android静态注册无法接受系统广播问题
概要引入google文档翻译总结目前提高原创 2014-11-06 09:28:53 · 22725 阅读 · 1 评论 -
JNI官方中文资料
声明该篇文章完全引用自《JNI完全手册》完整版,用来方便查询查阅,同时作为该系列教程的基础知识。感谢原文档作者。文档所依赖的版本是比较低的,但是恰恰是低版本才能更容易上手学习。文档也有些枯燥,适合开发中参考查询和粗略概况性 的浏览掌握大局使用,也是下来几篇的基础性指导文档。下来几篇不会再解释代码简单函数释义,只会说重点,遇到不懂的来 这篇文章搜索函数名即可查阅函数详情。转载 2017-12-03 01:07:19 · 556 阅读 · 0 评论 -
Android Framework启动流程分析(一)
Android手机系统本质上是一个基于Linux的应用程序,它以Linux系统为内核。系统的启动过程包括Linux内核启动和Android框架启动两个阶段,本文主要介绍Android 框架(Framework)启动阶段。一、Linux内核启动 1、装载引导程序bootloader Linux内核启动时首先装载执行bootloader引导程序,装载完成后进入内核程序。原创 2012-08-15 19:39:42 · 11149 阅读 · 3 评论 -
Android Framework启动流程分析(二)
发展到今天,Android系统已经更新到O,对于Android系统和Framework的启动流程也有了一些变化。为了完善Android Framework启动流程分析(一)中描述,紧跟Android发展。本文章对于部分逻辑做了补充。 如果想阅读完整的Android Framework启动流程,请阅读《Android Framework启动流程分析(一)》。原创 2017-10-27 00:46:32 · 519 阅读 · 0 评论 -
Android Chromium动态库加载过程
最近解决WebViewZygote问题的过程中,仔细阅读了老罗的一篇关于Chromium加载的blog,受益匪浅。详细的代码分析过程请参考原文:Android WebView加载Chromium动态库的过程分析原创 2017-11-22 01:58:34 · 1066 阅读 · 0 评论 -
Android AIDL
注:本文讲的十分详细和全面,重在讲解客户端服务,有助于android aidl的系统理解。如果仅是简单的掌握aidl的开发过程,可以参考:aidl开发过程简介。 客户端服务必须继承于Service类来编写,重写onBinder后返回给客户调用端。而Android中的系统服务是指可以使用getSystemService方法获取的服务,这类服务通过addService添加到系统,并接受S转载 2012-02-13 15:00:45 · 926 阅读 · 0 评论 -
Android ContentProvider讲解
Content Providers android SDK文档中对于Content Provideri进行了详细的描述。下面列出了文档的英文原文。为了方便理解,这里总结下Content Provider涉及的主要知识点: 一、Content provider basics 1、Content Provider实现了应用间数据的共原创 2012-06-26 13:27:35 · 2010 阅读 · 0 评论 -
Android中Preference的使用以及监听事件分析
转载请注明出处: http://blog.csdn.net/qinjuning 在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局。当然,凡事都有例外,FMRadio应用程序中则使用了View布局结构(可能是该应用程序是marvel公司提供转载 2012-06-25 16:42:47 · 1040 阅读 · 0 评论 -
OpenGL学习二——四种变换
现实世界中可以通过以下方式观察感兴趣的对象: 1、变化观察者的位置(观察点),从不同的角度去审视(视图变换) 2、移动或者旋转被观察对象,全方位观察(模型变换) 3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪裁)(投影变换) 4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,原创 2011-10-14 17:26:32 · 1451 阅读 · 0 评论 -
OpenGL学习一——程序绘图框架
1、OpenGL初始化,包括OpenGL状态、特性设置等,大体包括: 颜色设置:glClearColor、glShadeModel 纹理设置:glEnable、glGenTextures等 深度检测设置:glClearDepthf、glDepthFunc、glEnable 混色设置:glBlendFunc、glEnable 光照设置:glLight原创 2011-10-12 19:18:44 · 1202 阅读 · 0 评论 -
git log命令详解
git log用于查询版本的历史,命令形式如下: git log [] [..] [[--] ...] 主要参数选项如下: -p:按补丁显示每个更新间的差异 --stat:显示每次更新的修改文件的统计信息 --shortstat:只显示--stat中最后的行数添加修改删除统计原创 2011-10-11 18:42:43 · 24962 阅读 · 0 评论 -
Android 3D 游戏开发教程– Part I-VI
开始 Android 3D 游戏开发教程– Part I-VI 本帖最后由 huzht 于 2010-4-25 07:58 编辑 这几篇Android 3D游戏开发的文章原文出自一位德国人Martin 在droidnova.com写的文章,有lixinso翻译为中文。第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。这个关于3D游戏的系列的叫做 Vortex转载 2011-10-08 20:06:34 · 1786 阅读 · 0 评论 -
android消息处理——Thread、Looper、Handler
一 简介: android应用程序和windows程序一样,都是基于消息驱动的。如果想要了解android系统的消息处理机制,理解Thread、Looper和Handler三个对象必不可少。Android系统中Looper负责管理线程的消息队列和消息循环,即接受线程中的Message并分发、回调处理消息的函数。对于开发者来说,Looper本身可能不太重要,毕竟这个是android系原创 2011-08-17 18:49:19 · 8363 阅读 · 3 评论 -
android下repo的基本使用
1.安装git sudo apt-get install git-core curl 2.安装repo curl http://android.git.kernel.org/repo >~/bin/repochmod a+x ~/bin/repo 3.初始化版本库 mkdir workspace repo init -u git://android.git.kernel转载 2011-05-15 21:05:00 · 9534 阅读 · 1 评论 -
基于Repo和Git的版本管理
涉及Android源代码的工作需要用到的Git和Repo工具。多数情况下我们可以用Git工具代替Repo,或者两者混用组合成更复杂的命令。而Repo工具可以使Android的网络操作更加简洁。 Git是一个开源版本管理系统,旨在处理各种知识库发布的大型项目。一般来说,我们可以使用Git进行本地操作,比如本地分支化、提交、对比和编辑。Android项目中一个挑战是如何支持外部的群体(爱好翻译 2011-05-15 20:51:00 · 20190 阅读 · 1 评论 -
Common Errors in Setting Java Heap Size
Two JVM options are often used to tune JVM heap size: -Xmx for maximum heap size, and-Xms for initial heap size. Here are some common mistakes I have seen when using them:Missing m, M, g or G at转载 2011-05-09 20:15:00 · 4442 阅读 · 0 评论 -
使用Eclipse来开发Android源码
http://wangliping.net/android_debug 其实这篇文章应该是我自己亲自动手来写的,网上很多的类似资源都告诉网友们,只要按照其方法就可以导入成功,其实这是误导大家,而且如果一旦出了错误就说是out/目录没有解压好,我想问问这些网友们,你们亲自试过了吗?我在实践过程中确实出了错误,我是自己解决这些错误信息的,没有用到你们提到的所谓的out/问题。主要还是.c转载 2011-05-09 18:25:00 · 1634 阅读 · 0 评论 -
Android OpenGL——GL10方法介绍
javax.microedition.khronos.opengles接口GL10上级接口:GL下级接口:GL11公共接口GL10继承于GLGL10接口包含了Java(TM)程序语言为OpenGL绑定的核心功能。OES_byte_coordinates,OES_single_precision,OES_fixed_point,OES_read_format,以及OES_comp转载 2011-10-08 19:57:16 · 13506 阅读 · 3 评论 -
Android log日志信息获取
LogCat是Android中一个命令行工具,可以用于得到程序的log信息,结合tee和grep命令可以方便的获取、查看日志。1、Logcat使用 命令:LogCat [options] [filterspecs] LogCat的选项包括: -s 设置过滤器,如指定 '*:s'. -f 输出到原创 2011-07-14 21:06:13 · 2996 阅读 · 0 评论 -
Android JNI知识简介
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,转载 2012-01-15 10:48:20 · 696 阅读 · 0 评论 -
Android build.prop生成过程
本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_转载 2012-04-25 16:50:02 · 6821 阅读 · 0 评论 -
Android.mk文件语法规范
Android.mk文件语法规范 译者:ChrixLee 2010.5.12 序言:-------------此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生转载 2012-04-22 17:48:22 · 1051 阅读 · 0 评论 -
Android之Adapter用法总结
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个首要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的转载 2012-05-16 11:21:33 · 829 阅读 · 0 评论