摘要:这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了. 一,主要文件和类;1.Launcher.java:launcher中主要的activity. 2.DragLayer.java:launcherlayout的rootview.DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步处理然后按情况分发下去,角色是一个controller.它首先用onInterceptTouchEvent(MotionEvent)来拦截所有的touch事件,如果是长按item拖动的话不把事件传下去,直接交由onTouchEvent()处理,这样就可以实现it
阅读全文
摘要:好东西在这里完整的COPY下来留着现在看今天开始launcher2分析系列,Launcher2的代码路径为: packages/apps/Launcher2 项目构成:AndroidManifest.xml 项目Launcher2的描述文件CleanSpec.mk android项目授权文件?-->我的没有NOTICE apache授权协议Android.mk Launcher2编译的makefileMODULE_LICENSE_APACHE2 空文件proguard.flags -keep *****h-->我的没有res目录 描述文件以及icon资源的位置src目录 源代码目录
阅读全文
摘要:大家好,这篇文章我将教大家如何在Windows环境下下载Android源码,Android自2007年11月5号发布以来,发展速度如此之快,和它走开源的路是分不开的。我们在开发中有什么不明白不清楚的,直接把Android源码下下来研究就可以了,看源代码将会让你提升很快!在这之前大家先熟悉俩个代码版本管理工具SVN,以及Git。SVN(Windows环境下最常用的):svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。Git:Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subv
阅读全文
摘要:Launcher是Android系统的桌面系统,是比较重要也比较复杂的程序,这里对其代码做一个分析,希望起到抛砖引玉的作用。1. Launcher有什么? live folder , widget , shortcut , wallpaper ,见 onActivityResult 2. UI 分成 3 部分: workspace,slibingdrawer,deletezone 3. Menu: 见 onCreateOptionsMenu in launcher.java 4. launcher 类是个 activity, 遵循 activity 的生命周期。 5. 资源文件比较多,这里只关
阅读全文
摘要:在前面的2篇文章Android读写XML(上)——package说明、Android读写XML(中)——SAX中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。类说明XmlSerializerDefine an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。什么是串行化?对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。下面,我们就直接来看个具
阅读全文
摘要:在Android读写XML(上)——package说明中,详细介绍了使用DOM方法读取XML文档,由于使用DOM方法需要将整个XML文档加载内存中,对系统资源占用比较多,这对内存比较紧张的Android系统来说,使用DOM方法读取XML文档会有很大的限制。使用SAX方法读取XML,对内存资源的占用的比较少,因此在嵌入式设备中极力推荐使用,Android也不例外,本篇幅详细说明Android中如何使用SAX读取XML文档。SAX采用基于事件驱动的处理方式,它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理。为了了解如何使用SAX API处理XML文档,这里介绍一下SAX所使用的基
阅读全文
摘要:XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。首先介绍下Android SDK与Java SDK在读写XML文件方面,数据包之间的关系。Android 平台最大的一个优势在于它利用了Java 编程语言。Android SDK 并未向标准 Java Runtime Environment (JRE)提供一切可用功能,但它支持其中很大一部分功能。Java 平台支持通过许多不同的方式来使用 XML,并且大多数与 XML 相关的 JavaAPI 在 Android 上得到
阅读全文
摘要:大家好我们今天的教程是在Android教程中自定义View的学习,对于初学着来说,他们习惯了Android传统的页面布局方式,如下代码:view plaincopy to clipboardprint??xmlversion="1.0"encoding="utf-8"?LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_
阅读全文
摘要:大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。为了让大家容易理解我做了一个简单的Demo,主布局main.xml里有一个TextView和一个Button,当点击Button,出现Dialog,而这个Dialog的布局方式是我们在layout目录下定义的custom_dialog.xm
阅读全文
摘要:大家好,我们上一节讲的是LayoutInflater的 使用,而这一节我将讲一下MenuInflater,顾名思义,LayoutInflater是用来解析定义在layout下的布局文件,那么MenuInflater是不是用来解析定义在menu目录下的菜单布局文件呢? 恭喜你答对了!(*^__^*) 嘻嘻……我们传统意义上 的定义菜单感觉比较繁琐,当我们使用MenuInflater来生成菜单,你会发现是多么的爽朗,呵呵,我今天的小Demo,是定义四个菜单,并且实现了一个菜单事件。就是我们点击设置(Setting)菜单,进入手机设置状态!下面看一下效果图: 下面是实现Demo的详细步骤:一、建立一
阅读全文
摘要:今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图:下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo.二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图:三、修改string.xml文件如下:view plaincopy to clipboardprint??xmlversion="1.0"encoding="utf-8"?resourcesstringname="hello"HelloWorld,WidetDemo!/stringstring
阅读全文
摘要:javascript:WebForm_DoPostBackWithOptions(new%20WebForm_PostBackOptions("Editor$Edit$lkbPost",%20"",%20true,%20"",%20"",%20false,%20true))
阅读全文
摘要:滑动式抽屉(SlidingDrawer)通过手柄像抽屉一样滑动式的把带有内容的画面隐藏和表示的窗体小组件。这个窗体组件在Android1.0里面是非公开的API(frameworks\base\core\java\com\android\internal\widget\SlidingDrawer.java)。从Android1.5开始,变成正式的API(android.widget.SlidingDrawer类)。这个窗体组件在Android的Home画面的ApplicationLauncher里使用了(参照下图)。● 关闭(close)状态的SlidingDrawer(红框内的是手柄-han
阅读全文