
android
lixiang0522
好好学习,天天向上。
展开
-
android4.2源码下载编译过程
1. 下载安装64位ubuntu11.10。2. 执行sudo passwd root生成root密码,(10.04版需要修改)修改/etc/gdm/gdm.schemas文件中的:bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pv原创 2013-04-11 21:08:02 · 3809 阅读 · 1 评论 -
【Android API指南】动画和图像(2) - 视图动画
你可以使用视图动画系统执行视图的补间动画。补间动画使用起点,终点,尺寸,旋转,和一些自定义值去计算动画。一个补间动画可以执行一些简单视图对象转换(位置,大小,旋转,透明度),所以,如果你有一个TextView对象,你可以移动它,旋转它,放大或者缩小它。如果TextView有一个背景图像的话,也会跟着文本发生改变。animation packate提供了所有补间动画类。一系列翻译 2012-08-22 20:30:31 · 1597 阅读 · 0 评论 -
【Android API指南】App组件(3) - Activities(1) - Fragments
一个Fragment代表一个Activity的一种行为或者用户界面的一部分。你可以组合多个fragment到一个activity来创建一个多面板的UI,或者复用一个fragment到多个activity中。你可以认为fragment就是activity的一个模块,它有自己的生命周期,接收直接的输入事件,在activity运行中可以随意添加和删除。一个fragment通常需要嵌入到一个a翻译 2012-08-31 22:40:52 · 1827 阅读 · 0 评论 -
【Android API指南】动画和图像(3) - 图片动画
图片动画让你加载一系列图片资源,然后一个一个切换形成动画。这种方式是传统的动画模式,类似一个胶片电影,AnimationDrawable类是图片动画的基类。使用AnimationDrawable类的API在代码中定义动画帧,不过简单的办法是在XML中实现,XML一般存放在res/drawable/目录下。XML文件包含一个元素做为根元素,作为每个帧的节点,包含图片资源和一个翻译 2012-08-22 20:31:47 · 1643 阅读 · 0 评论 -
【Android API指南】动画和图像(4) - 画布和绘图资源
Android框架API提供了2D绘图API,允许你在画布或者以存在的视图上渲染你自己的图像。下面是两种典型做法:绘制你的图像或者动画到布局中视图对象中。这种方式下,你的图像由系统普通视图层绘制进程处理 - 你只是简单的定义了视图中的图像。直接绘制图像到画布,这种方法中,你自己调用合适的类的onDraw()方法,或者一个画布的draw...()方法(比如drawPicture())。同翻译 2012-08-24 09:00:09 · 2939 阅读 · 0 评论 -
【Android API指南】动画和图像(6) - 硬件加速
从Android3.0开始,Android 2D渲染通道被设计成能很好的支持硬件加速。使用GPU的View在Canvas上进行画的操作时都会使用硬件加速。在最新的Android版本里,图形硬件加速及绘制技巧得到了更好的提升。开启硬件加速最简单的方法就是在整个程序中全局开启它,如果程序只使用标准的View和Drawable的话,全局开启没什么影响,但是硬件加速不支持所有的2D绘制操作,所翻译 2012-08-26 12:59:21 · 4053 阅读 · 1 评论 -
【Android API指南】App组件(4) - Activities(2) - Loaders
Loader在Android3.0开始引进,作用的异步加载数据到activity或者fragment。有下面这些特征:任何activity和fragment都可用。提供异步加载数据功能。监控数据源,当数据改变时,传递新数据。当配置改变并重启时,自动连接并加载最后的游标。API概述Class/InterfaceDescription翻译 2012-09-04 17:47:42 · 2080 阅读 · 0 评论 -
【Android API指南】动画和图像(5) - OpenGL
Android包含了Open Graphics Library(OpenGL)支持高性能的2D和3D图像。特别是OpenGL ES API。OpenGL是一个跨平台图像API,为3D图像处理指定了标准的软件接口。OpenGL ES是为嵌入式设备提供的标准。Android1.0就开始支持OpenGL ES 1.0和1.1,从Android2.2开始支持OpenGL ES 2.0 API规格。翻译 2012-08-24 20:53:50 · 4387 阅读 · 0 评论 -
【Android API指南】动画和图像概述
Androidt提供很多强大API用来展示UI元素动画和绘制2D和3D图像。下面的章节是这些API的概述和系统可用功能的概述,帮助你确定你需要的最好的方法。动画Android提供两种动画系统:属性动画(3.0中推出)和视图动画。两个动画系统都是可行的选择,但是属性动画是首选,因为它比较灵活,而且提供了很多特征。除了这两种动画系统,你还可以使用绘图动画,它允许你加载绘图资源,然后逐个翻译 2012-08-21 21:12:16 · 1287 阅读 · 0 评论 -
【Android API指南】动画和图像(1) - 属性动画
属性动画系统是非常强健的框架,允许你移动几乎任何东西。你可以定义一个动画去改变任何对象属性,不管它是否绘制到屏幕上。一个属性动画在一个指定时间内改变一个属性(对象中的一个字段)的值。你需要先指定要改变的对象属性,例如一个对象在屏幕中的位置,然后指定你想在多长时间内改变它,改变这个值的区间是什么。属性动画系统让你可以定义下面这些动画特征:持续时间:动画的持续时间,默认是300翻译 2012-08-21 21:14:20 · 6433 阅读 · 1 评论 -
【Android API指南】App组件(2) - Activities
Activity提供一个用户可交互的界面,比如一个拨号界面,拍照界面,发送邮件的界面。每个activity都被提供一个窗口来绘制界面。窗口一般都是填满屏幕,也可以小于屏幕或者浮动在其他窗口上。一个程序通常包含多个activity,它们彼此被比较松散的绑定在一起。有一个activity会被指定为“main”activity,在启动程序时被第一个运行。每个activity都可以启动其他的a翻译 2012-08-29 20:02:41 · 1313 阅读 · 0 评论 -
Android Training - 使用碎片创建一个动态UI
为了能够在Android中创建动态和多窗口的用户界面,你需要封装UI组件和activity行为在不同的模块中,以便你可以在不同的activity间切换。你可以使用Fragment类创建这些模块,类似于一个嵌套的activity,能够定义自己的布局并管理自己的生命周期。当一个碎片指定了它自己的布局,那么activity可以使用它和其他碎片配置成不同的组合,并且可以修改你的布局以适应不同的翻译 2012-08-09 21:33:05 · 1337 阅读 · 0 评论 -
Android Training - 建立你的第一个应用程序
欢迎来到Android训练教程,这里你能找到一系列课程,这些课程帮助你建立非常棒的Android应用程序,在多样化的框架主题中有最佳的实践。每一课都使用代码片段和简单的代码解释解决一个问题或者实现一个功能所必须的步骤。第一部分我们会教一些基础,如果你是一个Android新手,你需要按照顺序一课一课的学习,让我们开始建立第一个应用程序吧。建立你的第一个应用程序翻译 2012-07-27 19:48:58 · 1336 阅读 · 0 评论 -
Android Training - 和其他程序交互(1) - 发送用户请求给另外一个程序
Android很重要的一个特征就是,一个程序可以发送用户请求给其他程序去执行特定的动作。例如,如果你想在地图上显示你的公司地址,你不需要建立一个显示地图的activity,你可以使用intent创建一个显示地图的请求,Android系统会开启一个程序显示地图上这个地址。像第一个教程:Android Training - 建立你的第一个应用程序所说的,你必须使用intent操纵你的a翻译 2012-08-14 20:26:59 · 1880 阅读 · 0 评论 -
Android Training - 创建一个Android工程
一个Android工程包含所有代码文件。Android SDK工具可以帮助我们很容易的建立一个Android工程,建立好的工程包含了默认的文件夹和文件。这个课程教我们怎么用Eclipse创建一个工程,或者通过命令行使用SDK工具创建工程。提示:你必须已经安装好了SDK,使用eclipse的话必须安装了ADT插件,如果没有,你需要先看看Installing the Andro翻译 2012-07-31 11:06:43 · 2600 阅读 · 1 评论 -
Android Training - 运行你的程序
如果你安装前一课程创建了一个Android工程,那么这个工程中已经包括了默认的"Hello World"代码,并且可以马上运行这个程序了。要怎么运行程序依靠两个东西:你是否拥有Android设备和你是否使用Eclipse。这节课程教你怎么安装并运行你的程序到真实设备和模拟器中。用eclipse和命令行都可以实现。在运行程序前,你必须知道一些Android项目的文件结构:翻译 2012-07-31 17:52:51 · 1417 阅读 · 0 评论 -
Android Training - 和其他程序交互(2) - 从一个activity取得结果
启动另外一个activity的方法不止一种,你也可以启动一个activity并从这个activity取得一个返回的结果,使用startActivityForResult()代替startActivity()可以实现。例如,你的程序可以启动一个照相机然后取得相片做为结果。或者,你可以启动一个联系人程序,然后选择一个联系方式做为结果。当然,响应的activity必须被设计成能返翻译 2012-08-15 21:08:33 · 1230 阅读 · 0 评论 -
Android Training - 和其他程序交互(3) - 允许其他程序启动你的activity
前面两课说的是:从你的程序启动其他程序的activity。但是如果你的程序可以实现某些功能,这些功能能够被其他程序使用,那么你的程序需要准备好响应其他程序的请求。例如,如果你做了一个可以分享信息和照片给朋友的社交程序,你最好让你的程序支持ACTION_SEND意图,以便用户可以在其他程序启动一个“分享”功能,并且运行你的程序去执行这个功能。要让其他程序可以运行你的activity,你需翻译 2012-08-15 21:09:06 · 1203 阅读 · 1 评论 -
Android Training - 和其他程序交互
一个android程序通常包含很多activity。每个activity显示一个界面,让用户执行一个特定的任务(例如显示地图或者拍照)。从一个activity到另外一个activity,你的程序必须使用一个Intent去定义你这么做的意图。当你通过startActivity传递一个Intent给系统,系统会指定和开始一个合适程序组件。使用Intent也可以让你的程序启动一个包含在其他独立的一个程序翻译 2012-08-14 20:25:24 · 1014 阅读 · 0 评论 -
【Android API指南】App组件(5) - Activities(3) - 任务和回退堆栈
一个程序通常包含多个activity,每个activity都被设计来完成指定的动作,并且可以启动另外的activity。例如,一个邮件程序可以有一个显示邮件列表的activity,当用户选择一个邮件时,一个新的显示邮件内容的activity被启动。一个activity可以启动另外一个程序的activity,让用户感觉就像是一个程序一样,Android让两个activity完成一个任务,翻译 2012-09-05 21:10:08 · 1782 阅读 · 0 评论 -
【Android API指南】App组件(1) - 应用程序基础
Android程序用java语言编写。SDK工具编译所有的数据和资源到一个Android文件中,这个文件以.apk为后缀,表示一个应用程序,android设备可以安装这个程序。程序安装好以后,它就运行在自己的安全沙盒中:Android系统是多用户Linux系统,每个程序是一个不同的用户。默认情况下,系统给每个程序分配一个唯一的Linux用户ID(这个ID只是被系统使用,对于翻译 2012-08-27 22:38:54 · 1306 阅读 · 0 评论 -
Android Training - 使用OpenGL ES(5) - 添加动作
绘制对象在屏幕上是OpenGL最基本的功能,不过你也可以使用Canvas和Drawable对象实现。OpenGL ES提供额外的能力来让你在三维空间中移动和转换绘制对象,提供用户体验。旋转一个形状为了旋转形状,你需要创建另外一个转换矩阵,然后合并到投影和摄像视图转换矩阵中:private float[] mRotationMatrix = new float[16]翻译 2012-09-17 20:02:18 · 1626 阅读 · 1 评论 -
Android Training - 使用OpenGL ES(6) - 响应触摸事件
要响应触摸事件,就需要实现GLSurfaceView的onTouchEvent()方法来监听触摸事件。设置一个触摸监听下面的代码监听MotionEvent.ACTION_MOVE事件,然后旋转形状一个角度。@Overridepublic boolean onTouchEvent(MotionEvent e) { // MotionEvent reports翻译 2012-09-17 20:03:04 · 2595 阅读 · 0 评论 -
【Android API指南】自定义组件
Android基于View和ViewGroup基础类提供了复杂和强大的组件模型来创建UI。比如一些小部件和布局。小部件包括Button,TextView,EditText等,布局包括LinearLayout,FrameLayout等。如果没有需要的部件和布局,你可以创建自己的View子类,如果想对部件和布局做一些调整的话,你自需要继承这些类,覆盖一些方法。创建自翻译 2012-09-18 21:02:08 · 1802 阅读 · 0 评论 -
替换android模拟器的Launcher程序
1. 启动模拟器。2. 命令行:adb shell 进入模拟机3. 执行 mount -o remount,rw /system 命令4. mv或者rm你需要替换的程序。5. ctrl+c退出模拟器6. adb push 本地路径 /system/app7. 点击模拟器的Home按钮,就可以启动你自己的launcher了。原创 2012-12-20 17:52:12 · 3010 阅读 · 0 评论 -
Android签名和反编译的学习
1. 先创建一个基本的android程序,不修改任何代码,然后我们导出一个没签名的apk文件。步骤:右键项目 -> android tools -> Export Unsigned Application Package2. 使用keytool工具生成数字证书。这个工具在jdk的bin目录下。keytool -genkey -v -keystore "d:\hellosigne原创 2013-03-05 16:27:14 · 1257 阅读 · 0 评论 -
Android中intent传递对象和Bundle的用法
android中的组件间传递的对象一般实现Parcelable接口,当然也可以使用java的Serializable接口,前者是android专门设计的,效率更高,下面我们就来实现一个Parcelabel。1. 创建一个类实现Parcelable接口,具体实现如下:package com.hebaijun.testparcelable;import android.os.Par原创 2013-03-06 14:14:33 · 61122 阅读 · 3 评论 -
Activity的生命周期,状态保存,窗口显示,取得返回结果,安全退出
1. 怎么让activity窗口显示?在xml中的activity项添加:android:theme="@android:style/Theme.Dialog"2. 同一程序中,Activity A启动Activity B时周期方法的调用顺序是?1)A执行onPause。2)B执行onCreate - onStart - onResume3)如果A不可见了执行A的onS原创 2013-03-07 15:19:49 · 1450 阅读 · 0 评论 -
Android Training - 使用OpenGL ES(3) - 绘制形状
初始化形状在绘制前,你必须初始化和加载形状。除非形状的构造在运行中会改变,不然你应该在onSurfaceCreated()方法中初始化它们。public void onSurfaceCreated(GL10 unused, EGLConfig config) { ... // initialize a triangle mTriangle = new翻译 2012-09-17 20:01:05 · 3144 阅读 · 0 评论 -
Android Training - 使用OpenGL ES(2) - 定义形状
开始绘制的第一步就是定义形状。下面我们学习定义一个三角形和一个正方形。定义一个三角形OpenGL ES允许你使用坐标在三维空间中定义一个绘图对象。所以,在定义三角形之前,你需要先定义它的坐标。通常的方法是定义一个顶点坐标数组。为了达到最大效能,你要把坐标写入到ByteBuffer中,它被传递到OpenGL ES图像通道中进行加工。class Triangle {翻译 2012-09-17 20:00:08 · 1336 阅读 · 0 评论 -
【Android API指南】App组件(6) - Services
Service是一个执行长时间后台运行操作,并且不提供界面的程序组件。其他组件可以启动一个service,这个service会运行在后台,即使用户切换到了其他程序,service也不会停止。一个组件可以和service绑定来进行交互,甚至是进行进程间的通信(IPC)。例如,一个service可以处理网络连接,播放音乐,执行文件I/O,或者和一个content provider交互,这些都在后台运行翻译 2012-09-06 20:48:54 · 1078 阅读 · 0 评论 -
【Android API指南】App组件(7) - Services(1) - Bound Services
一个bound service是客户端-服务器接口中的服务器。它允许组件去绑定service,发送请求,接收响应,甚至是执行进程间的通信。一个bound service通常在服务其他组件时存在,而不是一直运行在后台。基础一个bound service是Service类的实现,为了绑定一个service,你需要实现onBind()回调函数。这个函数返回一个IBinder对象,翻译 2012-09-07 21:06:25 · 896 阅读 · 0 评论 -
【Android API指南】App组件(8) - Services(2) - AIDL
AIDL(Android接口定义语言)允许你定义编程接口来让服务器和客户端进行进程间通信。在Android中,一个进程无法访问另外一个进程的内存。所以他们需要分解成原始对象,让操作系统能够理解,并跨过界限来处理对象。写这些处理代码非常麻烦,所以Android使用AIDL帮你处理。提示:只有在允许客户端从不同程序访问服务器并进行进程间通信和需要处理多线程时才需要使用AIDL,如果不需要在翻译 2012-09-10 21:25:43 · 841 阅读 · 0 评论 -
Android Training - 网络操作(1) - 连接网络
要执行网络操作,你的程序需要下面两个权限: android:name="android.permission.INTERNET" /> android:name="android.permission.ACCESS_NETWORK_STATE" />选择一个HTTP客户端Android包括两个HTTP客户端:HttpURLConnection和Apache HttpC翻译 2012-09-11 20:13:04 · 1024 阅读 · 0 评论 -
Android Training - 网络操作(2) - 管理网络用途
如果程序需要执行很多网络操作,那么你应该让用户能够设置网络连接和管理数据,比如,多久同步一次数据,是否只有Wi-Fi连接时才上传和下载数据,漫游情况下是否使用数据等。检查设备的网络连接设备可以使用多种方式连接网络,下面我们只关注Wi-Fi和移动网络。Wi-Fi比较快,移动网络一般是计费的,通常的做法是在Wi-Fi状态下获取大数据。在使用网络前,我们应翻译 2012-09-12 20:07:45 · 1236 阅读 · 0 评论 -
Android Training - 网络操作(3) - 解析XML数据
可扩展标记语言(XML)是使用机器可读形式按照一套规则编码的的文档。XML是互联网分享数据的通用格式。网站提供一个XML种子来让外部程序同步更新网站内容。上传和解析XML是网络应用程序常做的工作。下面就学习怎么解析并使用XML文件。选择一个解析器我们推荐XmlPullParser,它是Android上高效,并且可维护的解析XML的方法。以前Android有两个实现XmlPu翻译 2012-09-13 20:18:12 · 958 阅读 · 0 评论 -
Android Training - 使用OpenGL ES(1) - 构建OpenGL ES环境
为了使用OpenGL ES绘制图像,你需要创建一个视图容器。最直接的方法就是实现一个GLSurfaceView和一个GLSurfaceView.Renderer。GLSurfaceView是视图容器,而GLSurfaceView.Renderer控制绘制什么到视图中。GLSurfaceView只是加入OpenGL ES到你的程序的一种方法。对于全屏或者将近全屏的图像视图,它是合适的选择翻译 2012-09-17 19:59:17 · 1833 阅读 · 0 评论 -
Android Training - 使用OpenGL ES(4) - 应用投影和摄像视图
投影和摄像视图让你展示绘制对象更加接近现实中眼中看到的物理对象。这种模拟物理视图使用数学转换绘制对象的坐标来完成:投影 - 基于GLSurfaceView的宽高来调整绘制对象的坐标。如果没有这个计算,对象在不对等的视图中会出现倾斜。一个投影转换通常在视图比例被创建或者通过onSurfaceChanged()修改比例时才会被计算。摄像视图 - 基于一个虚拟的摄像点来调整视图的坐标。需要注翻译 2012-09-17 20:01:57 · 4106 阅读 · 2 评论 -
Android Training - 使用碎片创建一个动态UI(4) - 与其他碎片通信
为了能重复使用碎片UI组件,你需要创建一个完全独立,模块化的组件,这个组件可以定义自己的样式和行为。一旦你定义了一个可重用的碎片,你可以使用一个activity关联它们,通过程序逻辑链接它们成为一个完整的组合UI。通常你希望碎片间可以通信,比如基于用户事件改变内容。所有碎片间的通信都是通过activity实现,两个碎片不能直接通信。定义一个接口为了实现碎片和ac翻译 2012-08-13 21:17:09 · 3119 阅读 · 0 评论 -
Android Training - 使用碎片创建一个动态UI(3) - 构建一个灵活的UI
当设计你的程序去支持大部分屏幕尺寸时,你可以在不同的布局文件中复用你的碎片,在不同的屏幕空间中优化你的用户体验。例如,手机中可能一次只适合显示一个碎片,相反的,在大屏幕设备中,你可能想在一个界面中挨着显示很多个碎片。图解:一个activity在不同屏幕尺寸的显示效果。在大屏幕中,两个碎片紧挨着显示,在手机中,一次只显示一个碎片。FragmentManager翻译 2012-08-10 22:35:29 · 2727 阅读 · 0 评论