软件工程由于需要不断迭代开发,因此要对源代码进行版本管理。Android源代码工程(AOSP)也不例外,它采用Git来进行版本管理。AOSP作为一个大型开放源代码工程,由许许多多子项目组成,因此不能简单地用Git进行管理,它在Git的基础上建立了一套自己的代码仓库,并且使用工具Repo进行管理。工欲善其事,必先利其器。本文就对AOSP代码仓库及其管理工具repo进行分析,以便提高我们日常开发效率。老罗的新浪微博:http://weibo.com/sheng
系统 2019-08-29 22:29:15 2350
我参考了这篇文章,我将它改了一下:可动态布局的Android抽屉之基础工程中需要这样的效果,左边和右边的Panel可以打开关闭:我把左边和右边的Panel封装成2个类了。这里要特别注意,抽屉是需要“handler”的,我这里可以把任何View都看成“handler”,使用setBindView(ViewbindView)方法进行绑定“handler”。这样做的好处是“把手”可以独立于抽屉,可以任意控制把手的位置,而不需要把手跟着抽屉移动!先看左边的Pane
系统 2019-08-29 22:07:41 2350
============================首先看看官网上关于Frameanimation的介绍================================地址:http://developer.android.com/guide/topics/resources/animation-resource.html#FrameFrameanimationAnanimationdefinedinXMLthatshowsasequenceofima
系统 2019-08-12 09:29:40 2350
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/basics/activity-lifecycle/recreating.html在应用被正常使用的情况下,会有一些场景发生并使得你的activity被销毁,比如:当用户按下了返回键,或者你的activity调用了fini
系统 2019-08-12 01:55:21 2350
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/basics/data-storage/databases.html一个Android应用一般都有几个activities。每个activity显示一个UI来允许用户一些特殊的事务(比如浏览地图或者拍摄照片)。为了将用户从
系统 2019-08-12 01:53:22 2350
注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/cloudsave/conflict-res.html这一系列文章只有一篇,它介绍了当应用使用CloudSaveservice存储数据到云端时,如何设计一个鲁棒性较高的冲突解决策略。云存储服务允许你为每一个在Google服
系统 2019-08-12 01:53:14 2350
引言上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“HelloWorld!”程序进行了3个手术,我们清楚了“Helloworld!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行。以后基本我们都会以实践的方式来深入Android开发。我们这次深入分析Android应用程序的布局文件,主要内容如下:1、用户界面及视图层次2、Android中布局定义方法3
系统 2019-08-29 22:32:07 2349
本文主要讲解下AsyncTask的使用以及Handler的应用首先,我们得明确下一个概念,什么是UI线程。顾名思义,ui线程就是管理着用户界面的那个线程!android的ui线程操作并不是安全的,并且和用户直接进行界面交互的操作都必须在ui线程中进行才可以。这种模式叫做单线程模式。我们在单线程模式下编程一定要注意:不要阻塞ui线程、确保只在ui线程中访问ui组件当我们要执行一个复杂耗时的算法并且最终要将计算结果反映到ui上时,我们会发现,我们根本没办法同时
系统 2019-08-12 09:30:09 2349
参考文献:http://blog.csdn.net/luoshengyang/article/details/6573809http://blog.csdn.net/hongtao_liu/article/details/6060734建议阅读本文时先浏览以上两篇文章,本文是对上两篇文章在HAL对上层接口话题的一个总结.1什么是HALHAL的全称是HardwareAbstractionLayer,即硬件抽象层.其架构图如下:Android的HAL是为了保护
系统 2019-08-12 09:29:29 2349
1.说明1)下载编译最基本的android源码,无法在真机上使用(不能生成boot.img),只能在模拟器上使用。这是因为没有编译相关机型的内核和硬件驱动。以下介绍的是用android源码编译出对应HTCG1的版本,和烧写的过程。编译生成的版本除相机不能用之外,其它绝大部分功能都能正常使用,在G1上运行2.1版的速度也不错。2)本文主要参考日文文档G1/G2烧机指南,感谢原文作者,原文地址:http://code.google.com/p/android-
系统 2019-08-29 23:08:32 2348
这里,我们不采用IDE,直接用命令行来处理。1、建立project这里使用AndriodSDK中tools里面的命令:androidcreateproject--target2/--path/workspace/andriod/learning/Now--activityNow/--packagecom.wei.andriod.learning.Now2、编程在目录src/com/wei/andriod/learning/Now/中于Now.java,这就
系统 2019-08-29 22:54:48 2348
引言当应用程序的组件第一次运行时,Android将启动一个只有一个执行线程的Linux进程。默认,应用程序所有的组件运行在这个进程和线程中。然而,你可以安排组件运行在其他进程中,且你可以为进程衍生出其它线程。本文从下面几点来介绍Android的进程与线程:1、进程2、线程2.1、远程过程调用(Remoteprocedurecalls,RPCs)2.2、线程安全方法1、进程组件运行于哪个进程中由清单文件控制。组件元素——、
系统 2019-08-29 22:32:10 2348
引言通过前面两篇:Android开发之又见HelloWorld!Android开发之深入分析布局文件&又是“HelloWorld!”我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“HelloWorld!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(LinearLa
系统 2019-08-29 22:32:06 2348
方法如下:1.以管理员身份运行命令提示符:快捷键win+R→输入cmd→回车2.启用并设定虚拟WiFi网卡:运行命令:netshwlansethostednetworkmode=allowssid=meizuPCkey=bulukaWiFi注意:下面参数可以自由变换mode:是否启用虚拟WiFi网卡,改为disallow则为禁用。ssid:无线网名称,最好用英文(以meizuPC为例)。key:无线网密码,八个以上字符(以bulukaWiFi为例)。以上三
系统 2019-08-29 22:28:33 2348
1.概念Adapter英文意思适配器Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:(盗图可耻,但是很直观)我们可以看到在Android中与Adapter有关的所有接口、类的完整层级图。在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展。比较常用
系统 2019-08-29 22:25:08 2348