05 2012 档案

摘要:回退堆栈在Fragment中被编辑的事务能够放在它自己的Activity中回退堆栈内。当用户在该Activity中按下返回按钮时,在回退堆栈中的任何事务在Activity自己被结束之前会被弹出堆栈。例如,实例化一个带有整数参数的简单的Fragment对象,并且把这个整数显示在它的UI的一个TextView中:publicstaticclassCountingFragmentextendsFragment{ int mNum; /** * Create a new instance of CountingFragment, providing "num" * as an ar 阅读全文
posted @ 2012-05-31 20:53 andriod2012 阅读(1158) 评论(0) 推荐(0) 编辑
摘要:1.继承关系java.lang.Object|__android.app.Fragment实现接口:ComponentCallbacks2 View.OnCreateContextMenuListener引入版本:API Level 11已知的子类:DialogFragment、ListFragment、PreferenceFragment、WebViewFragment2.类概要一个Fragment是应用程序的用户界面或行为的一个片段,它能够被放置在一个Activity中。通过FragmentManager对象来实现与Fragment对象的交互,能够通过Activity.getFragmen 阅读全文
posted @ 2012-05-31 11:56 andriod2012 阅读(4078) 评论(0) 推荐(1) 编辑
摘要:Sumsung Galaxy Nexus 屏幕分辨率为 1280X 720,但通常的应用都会显示Navigation Bar(Back 键,Home 键等),如下图所示:但我注意到Youtube应用在问触摸事件时,会自动隐藏Navigation Bar,全屏播放影片。网上有使用定制ROM的方式实现全屏。但如果你想实现和Youtube类似的方法自动隐藏Navigation Bar,全屏显示应用,简单的方法如下:在OnCreate方法中使用。myview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);其中的myview 可以为 阅读全文
posted @ 2012-05-31 09:37 andriod2012 阅读(303) 评论(0) 推荐(0) 编辑
摘要:本包提供了路口到路口实时导航API,从地图服务器返回的路径信息含有文字和路径的地理坐标信息,类NavigationEngine根据路径和当前坐标实现实时导航。它内部含用三个工作线程:Location Monitor 实时监视当前位置坐标是否偏离路径,如果偏移,决定是否需要重新计算路径。语音命令生成 根据当前路径和位置预先生成语音命令列表。语音命令处理 从预先生成语音命令列表选取一个命令并通知回调函数。下图是Navigation Engine的一个 简明状态机转换图下图为Gis.Navigation包中类定义WayPoint定义导航路径结过点。NavigationEngine导航核心类,并提供模 阅读全文
posted @ 2012-05-31 09:02 andriod2012 阅读(146) 评论(0) 推荐(0) 编辑
摘要:SetWallpaper介绍如何在Android获取当前Wallpaper,对Wallpaper做些修改,然后用修改后的图像重新设置Wallpaper。WallpaperManager用来管理Android的Wallpaper。下面代码通过WallpaperManager来取得当前Wallpaper然后显示在屏幕Layout的imageView上。final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); final Drawable wallpaperDrawable = wallpaperM.. 阅读全文
posted @ 2012-05-31 09:00 andriod2012 阅读(203) 评论(0) 推荐(0) 编辑
摘要:OpenGL ES 支持的颜色格式为RGBA模式(红,绿,蓝,透明度)。颜色的定义通常使用Hex格式0xFF00FF 或十进制格式(255,0,255), 在OpenGL 中却是使用0…1之间的浮点数表示。 0为0,1相当于255(0xFF)。我们在Android OpenGL ES 开发教程(19):绘制迷你太阳系 绘制了红太阳,蓝地球,白月亮。使用的是glColor4f 来指定颜色的. 这是使用的Flat Coloring (单色).Flat coloring(单色)是通知OpenGL使用单一的颜色来渲染,OpenGL将一直使用指定的颜色来渲染直到你指定其它的颜色。指定颜色的方法为publ 阅读全文
posted @ 2012-05-31 08:58 andriod2012 阅读(187) 评论(0) 推荐(0) 编辑
摘要:Gallery可以显示一系列的图片,并且可以横向滑动。下面展示如何使用Gallery去显示一系列的图片。1. 创建一个工程,Gallery。2. main.xml中的代码。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_hei 阅读全文
posted @ 2012-05-30 20:36 andriod2012 阅读(241) 评论(0) 推荐(0) 编辑
摘要:声明:本文档仅为个人学习过程中顺手翻译之作,方便开发的同胞借鉴参考。如有觉得译的不好不到位的地方,欢迎指正,将及时做出更正尽量尊重原文档,因为首次Objective-C,有些地方可能直译了没有注意该语言的专有词,希望指正。如需转载,请注明出处我的编程环境:IDE:XCODE4.3.1OS: MAC OS X 10.7.4文章来译自:http://developer.apple.com/如何定义类大多数面对对象编程都包含为新对象编写代码---定义一个新类。在Objective-C中,类被定义为两部分:一个接口声明有一些方法以及类的属性,以及它的父类的名字一个实现类真正的类 (包括实现的方法的代码 阅读全文
posted @ 2012-05-30 18:14 andriod2012 阅读(973) 评论(1) 推荐(0) 编辑
摘要:通常情况下,按“Home”键可以回到“Home Screen”,这时你的应用可能还在后台运行。对于某些特殊情况,比如你重新定义了“Home“键防止用户退出你的应用,在某些情况下需要回到系统自带的Home 应用并强制退出应用。假定能自定义的Home 应用名称为DummyActivity,你重新定义了Home 键,此时如过按“Home”键,系统会列出如下类似的列表:此时如果将DummyActivity设为缺省“Use by default for this action”,以后用户将无法按“Home”键退回原有的Home应用。在这种情况下,如果需要启动缺省的Home应用,可以通过PackageMa 阅读全文
posted @ 2012-05-30 11:12 andriod2012 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:本篇算是该系列最后一篇,虽不能说是很熟,但使用MonoTouch 开发的其本方法是掌握了,主要是完成当初的任务,实现地图开发包在iPhone上的实现。使用MonoTouch ,.Net 代码很容易就可以在iPhone上运行,但iphone上 CoreGraphics 图形库的坐标原点在左下角,Y轴方向向上,和其它的图形系统不同,大部分图形系统坐标原点在左上方,Y轴方向向下,如果不注意,图象显示方向就不正确。下图是在iPhone使用引路蜂地图演示程序的一个截图。基于iOS, Mac OS 地图开发包将在不久的将来发布,敬请关注。其功能和它在Java ME,Android 平台类似,和iphone 阅读全文
posted @ 2012-05-30 10:15 andriod2012 阅读(108) 评论(0) 推荐(0) 编辑
摘要:结束了选择开发平台的思想斗争,最终选择MonoTouch. 最终的代码需要在iphone上测试,尽管可以使用iphone模拟器来开发,但模拟器和16实际的手机还是有很大的区别的。内存大小,CPU速度,关键的iphone模拟器和实际的手机所支持的API不同,iphone模拟器实际上是个Mac OS应用,很多在手机上不支持的库可以用在iphone模拟器,也就是与能在iphone模拟器上运行的代码不一定可以在iphone手机上运行。当如果需要将程序部署到手机,就需要加入Apple iOS Member,每年需付$100,而MonoTouch软件的费用是$399,还不算太贵。于是付款,正好赶上感恩节促 阅读全文
posted @ 2012-05-30 10:15 andriod2012 阅读(135) 评论(0) 推荐(0) 编辑
摘要:这个例子说明如何使用Graphics2D对象来绘制各种几何图形。引路蜂二维图形库中定义里多种基本几何图形,如,点,线段,曲线和矩形等。接口PathIterator定义了从Path中获取路径元素的方法。接口IShape定义了描述几何图形公用的方法。点类Point定义了二维空间位置在(x,y)一个点。Point point = new Point (x, y); 创建一个点对象。此外Point类也提供了计算两点之间距离的方法等。线段类Line定义了平面上一条线段。下面代码绘制一条线段。// draw Line2D.Doublegraphics2D.draw (pen, new Line(x1, y 阅读全文
posted @ 2012-05-30 10:14 andriod2012 阅读(184) 评论(0) 推荐(0) 编辑
摘要:本包定义了GPS接收器一个通用接口,并提供对NMEA 2.0数据的解码方法。在Java ME平台上对JSR179 进行了封装.Coordinates定义地址经纬度坐标。Location定义地址信息,如名称等。LocationProvider地理信息提供者,是所有GPS 设备的基类。Orientation提供当前GPS坐标中的方向信息。QualifiedCoordnates提供当前GPS坐标中的详细方向信息,包括精度。JSR179LocationProviderJSR179 API locationProvider封装类,只在Java ME平台提供。NMEACompatibleLocationP 阅读全文
posted @ 2012-05-30 08:24 andriod2012 阅读(154) 评论(0) 推荐(1) 编辑
摘要:Save & Restore State与之前的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 实现的UI类似,但功能和实现方法稍有不同。(9)是通过Shared Preferences 和 Activity 的onPause() ,和onResume()来保持UI中 EditText 的值。本例是通过onSaveInstanceState(Bundle savedBundle) 来实现保持UI状态。 和onPause,onResume不同的是,onSaveInstanceState不是Activity Li 阅读全文
posted @ 2012-05-30 08:21 andriod2012 阅读(205) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<uses-sdkandroid:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer"/>被包含于(CONTAINED IN):<manifest>说明(DESCRIPTION):这个元素用API 的级别(一个整数)来说明应用程序会跟哪些Android平台版本兼容。由应用程序给出的API级别会跟给定不同的设备中的Android系统的API级别比较。尽管这个元素被用 阅读全文
posted @ 2012-05-30 08:17 andriod2012 阅读(2100) 评论(0) 推荐(0) 编辑
摘要:尽管Java不像C/C++那样需要手工管理内存资源,而是通过更为方便、更为智能的垃圾回收机制来帮助开发者清理过期的资源。即便如此,内存泄露问题仍然会发生在你的程序中,只是和C/C++相比,Java中内存泄露更加隐匿,更加难以发现,见如下代码:[java] view plaincopy//Canyouspotthe"memoryleak"?importjava.util.*;publicclassStack{privateObject[]elements;privateintsize=0;privatestaticfinalintDEFAULT_INITIAL_CAPACIT 阅读全文
posted @ 2012-05-29 22:03 andriod2012 阅读(369) 评论(0) 推荐(0) 编辑
摘要:*利用组合(composition)和委托(delegation)可以在运行时实现继承行为的效果,动态地给对象加上新的行为。*利用继承扩展子类的行为,是在编译时静态决定的;利用组合的做法,可以在运行时动态地扩展对象的行为。软件设计原则:类应该对扩展开放,对修改关闭。这就是我们常说的开放-关闭原则。*开放-关闭原则使类容易扩展,在不修改代码的情况下,通过搭配实现新的行为。这样的设计可以应对改变,比如增加新功能或需求发生变更。OO设计技巧:允许系统在不修改代码的情况下,进行功能扩展。*装饰者模式:动态地将责任加到对象身上。如果要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。*装饰者模式中,装 阅读全文
posted @ 2012-05-29 18:29 andriod2012 阅读(902) 评论(0) 推荐(0) 编辑
摘要:Google Play会过滤对用户可见的应用程序,以便用户只能看到和下载那些跟他们的设备兼容的应用程序。过滤应用的程序的方法之一是Android版本的兼容性。Google Play检查每个应用程序清单中的<uses-sdk>属性,从而建立它的兼容版本的范围,然后基于对用户的Android系统版本API的比较来显示和隐藏应用程序。更多信息请看Filters on Google Play(http://developer.android.com/guide/appendix/market-filters.html) 阅读全文
posted @ 2012-05-29 17:07 andriod2012 阅读(136) 评论(0) 推荐(0) 编辑
摘要:final Display display = this.getWindow().getWindowManager().getDefaultDisplay();if (display != null){ // 获取屏幕大小 screenWidth = display.getWidth(); screenHeight = display.getHeight();} 阅读全文
posted @ 2012-05-29 16:30 andriod2012 阅读(123) 评论(0) 推荐(0) 编辑
摘要:软件功能参考下表中列出了由当前大多数发布的发布的Android平台所支持的软件功能描述符。对于应用程序要使用或需要的单一功能,都要在应用程序的清单的<uses-feature>元素中使用android:name属性来进行声明。功能属性值说明注释Live Wallpaperandroid.software.live_wallpaper应用程序使用或提供Live WallpapersSIP/VOIPandroid.software.sip应用程序要使用设备上的SIP服务android.software.sip.voip子功能。应用程序要使用设备上的基于SIP的VOIP服务。声明这个子功 阅读全文
posted @ 2012-05-29 15:36 andriod2012 阅读(765) 评论(0) 推荐(0) 编辑
摘要:功能参考下面列出了关于软/硬件功能,以及能够暗示Google Play的权限的参考信息。硬件功能下面列出了被大多数当前发布的平台所支持的硬件功能描述。对于应用程序所使用或需求的每一个硬件功能,都要在一个独立的<uses-feature>元素的android:name属性中声明。功能类型:Audio功能描述符:Android.hardware.audio.low_latency说明:应用程序使用设备上的低延迟的音频通道,并且对于输入或的延迟或之后是敏感的。备注:功能类型:Audio功能描述符:Android.hardware.audio.low_latency说明:应用程序要使用设备 阅读全文
posted @ 2012-05-29 11:53 andriod2012 阅读(2613) 评论(0) 推荐(0) 编辑
摘要:声明:本文档仅为个人学习过程中顺手翻译之作,方便开发的同胞借鉴参考。如有觉得译的不好不到位的地方,欢迎指正,将及时做出更正尽量尊重原文档,因为首次Objective-C,有些地方可能直译了没有注意该语言的专有词,希望指正。如需转载,请注明出处我的编程环境:IDE:XCODE4.3.1OS: MAC OS X 10.7.4文章来译自:http://developer.apple.com/Objects, Classes, and Messaging本章介绍了Objective-C中使用,实现的对象,类以及消息的相关基础知识。除此之外还介绍了一下运行时环境的相关内容。运行时系统Objective- 阅读全文
posted @ 2012-05-29 00:22 andriod2012 阅读(897) 评论(0) 推荐(0) 编辑
摘要:声明:本文档仅为个人学习过程中顺手翻译之作,方便开发的同胞借鉴参考。如有觉得译的不好不到位的地方,欢迎指正,将及时做出更正尽量尊重原文档,因为首次Objective-C,有些地方可能直译了没有注意该语言的专有词,希望指正。如需转载,请注明出处我的编程环境:IDE:XCODE4.3.1OS: MAC OS X 10.7.4文章来译自:http://developer.apple.com/简介Objective-C语言是一种简单的基于当下先进的面向对象的一种计算机语言。它作为标准的ANSI C语言的扩展,轻量但很强大。相对C, Objective-C新加入的一些内容更多是基于Smalltalk语言 阅读全文
posted @ 2012-05-28 18:28 andriod2012 阅读(427) 评论(0) 推荐(0) 编辑
摘要:1.2.3.4. 阅读全文
posted @ 2012-05-28 17:00 andriod2012 阅读(104) 评论(0) 推荐(0) 编辑
摘要:试比较以下两行代码在被多次反复执行时的效率差异:由于String被实现为不可变对象,JVM底层将其实现为常量池,既所有值等于"stringette" 的String对象实例共享同一对象地址,而且还可以保证,对于所有在同一JVM中运行的代码,只要他们包含相同的字符串字面常量,该对象就会被重用。我们继续比较下面的例子,并测试他们在运行时的效率差异:[java] view plaincopyBooleanb=Boolean.valueOf("true");Booleanb=newBoolean("true");前者通过静态工厂方法保证了每次 阅读全文
posted @ 2012-05-28 15:02 andriod2012 阅读(272) 评论(0) 推荐(0) 编辑
摘要:有一些工具类(utility class)不希望被实例化,实例对它没有任何意义。然而,在缺少显式构造器的情况下,编译器会自动提供一个公有的、无参的缺省构造器(default constructor),对于用户而言,这个构造器与其他的构造器没有任何区别。在已发行的API中常常可以看到一些被无意识实例化的类。企图通过将类做成抽象类来强制该类不可被实例化,这是行不通的。该类可以被子类化,并且该子类也可以被实例化。这样做甚至会误导用户,以为这种类是专门为了继承而设计的。然后,有一些简单的习惯用法可以确保类不可被实例化。我们只要让这个类包含私有构造器,它就不能被实例化了:[java] view plai 阅读全文
posted @ 2012-05-28 15:01 andriod2012 阅读(198) 评论(0) 推荐(0) 编辑
摘要:对于单实例模式,相信很多开发者并不陌生,然而如何更好更安全的创建单实例对象还是需要一些推敲和斟酌的,在Java中主要的创建方式有以下三种,我们分别作出解释和适当的比较。1. 将构造函数私有化,直接通过静态公有的final域字段获取单实例对象:[java] view plaincopypublicclassElvis{publicstaticfinalElvisINSTANCE=newElvis();privateElivs(){...}publicvoidleaveTheBuilding(){...}}这样的方式主要优势在于简洁高效,使用者很快就能判定当前类为单实例类,在调用时直接操作Eliv 阅读全文
posted @ 2012-05-28 15:00 andriod2012 阅读(500) 评论(0) 推荐(0) 编辑
摘要:静态工厂和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数。考虑用一个类表示包装食品外面显示的营养成分标签。这些标签中有几个域是必须的:每份的含量、每罐的含量以及每份的卡路里,还有超过20个可选域:总脂肪量、饱和脂肪量、转化脂肪、胆固醇、钠等等。大多数产品在某几个可选域中都会有非零的值。对于这样的类,应该用哪种构造器或者静态方法来编写呢?1. 重叠构造器模式[java] view plaincopy//Telescopingconstructorpattern-doesnotscalewell!publicclassNutritionFacts{privatefinalintser 阅读全文
posted @ 2012-05-28 14:59 andriod2012 阅读(159) 评论(0) 推荐(0) 编辑
摘要:对于类而言,为了让客户端获取它自身的一个实例,最常用的方法就是提供一个公有的构造器。类也可以提供一个公有的静态工厂方法,它只是一个返回类的实例的静态方法。下面是一个来自Boolean的简单示例。[java] view plaincopypublicstaticBooleanvalueOf(booleanb){returnb?Boolean.TRUE:Boolean.False;}静态工厂方法与构造器不同的第一大优势在于,它们有名称。静态工厂方法与构造器不同的第二大优势在于,不必在每次调用它们的时候都创建一个新对象。静态工厂方法与构造器不同的第三大优势在于,它们可以返回原返回类型的任何子类型的对 阅读全文
posted @ 2012-05-28 14:03 andriod2012 阅读(453) 评论(0) 推荐(0) 编辑
摘要:*观察者模式:定义了对象之间的一对多依赖关系,当一个对象(主题对象)的状态改变时,它的所有依赖者(观察者对象)都会收到通知并自动更新。*观察者模式实现了主题对象与观察者对象之间的松耦合,当有新的观察者时,无需修改主题对象的代码,只需要新的观察者对象实现接口。在程序运行的过程中,可以随时注册和删除观察者而不影响主体对象。*观察者模式使主题(Subject)对象和观察者(Observer)对象都可以被轻易地复用。软件设计原则:努力在交互对象之间实现松耦合,使它们之间的互相依赖降到最低,从而提高可复用性。*Java内置了对观察者模式的支持:java.util.Observable类和java.uti 阅读全文
posted @ 2012-05-28 13:28 andriod2012 阅读(295) 评论(0) 推荐(0) 编辑
摘要:PHP的变量名以美元符号$开始, 可以包含数字,字母,以及下划线, 只能字母或者下划线开头,不能以数字开头.$str = "hey, 妈妈叫你回去7饭饭拉"; echo $str;还有一种是变量间的赋值1) 一般赋值, 两个变量享有不同内存区域, 改变原变量不会影响第二个变量$num1 = 1;$num2 = $num1;$num1= 3;echo $num1 .'<br/>';echo $num2 .'<br/>';2) 传址/引用赋值从PHP4.0开始引入了传址/引用赋值, 在原变量前加 &符号, 表示对原 阅读全文
posted @ 2012-05-27 18:00 andriod2012 阅读(126) 评论(0) 推荐(0) 编辑
摘要:面向对象(OO)的四个基本概念是:抽象、封装、继承、多态。软件设计原则:封装变化--把软件中那些在将来可能产生变化的地方独立出来,与其他部分分割以减少变化时对它们的影响。这样的设计可以使系统变得有弹性,更好地应对变化。软件设计原则:针对接口编程,而不针对实现编程。依据该原则,声明一个变量时要把它声明为超类型(接口或抽象类),而不是实现类。*继承的好处是实现了代码的复用。*软件开发人员花费在软件开发完成之“后”的时间要远多于完成之“前”,所以应致力于提高可维护性和可扩展性上的复用程度。软件设计原则:多用组合,少用继承。使用组合的方式可以实现代码的分割,使代码有更大的弹性,更好地提高了复用性。策略 阅读全文
posted @ 2012-05-27 10:38 andriod2012 阅读(239) 评论(0) 推荐(0) 编辑
摘要:有的时候,我们做的程序需要提供一些选项的功能,能让用户去定制化他们自己的使用风格。举个例子,你可能允许用户是否自动保存登录信息,允许用户自己设定某个页面的刷新时间等等。在Android平台上面,我们可以使用PreferenceActivity基类去显示给用户一个选项设置的界面。在Android3.0或更高的版本上,可以使用PreferenceFragment类去实现这个功能。下面将展示如何去创建和使用PreferenceFragment。1、创建一个工程:PreferenceFragmentExample。2、在res文件夹下面新建一个xml文件夹,在xml文件夹下面新建一个文件:prefer 阅读全文
posted @ 2012-05-26 19:12 andriod2012 阅读(210) 评论(0) 推荐(0) 编辑
摘要:基于暗示功能的过滤一个暗示的功能是为了让应用程序正确运行所需的功能,但是,这个功能不在清单的<uses-feature>元素中声明。严格的说,应用程序应用始终声明它所使用和需要的所有功能,因此对于应用程序使用的,但却没有声明的功能,应该被认为是一个错误。但是,出于对用户和开发者的保护,Google Play会查看每个应用程序的暗示功能,并基于这些功能来过滤应用程序,就像是明确声明的功能所做的处理一样。应用程序可能需要一个功能,但却不声明,这是因为:1.应用程序是针对较旧的Android类库版本(Android1.5或更早)来编译的,并且<uses-feature>元素是 阅读全文
posted @ 2012-05-26 10:31 andriod2012 阅读(418) 评论(0) 推荐(0) 编辑
摘要:Google Play会过滤出那些对用户可见的应用程序,因此用户只能看到和下载那些跟他们的设备兼容的应用程序。通过功能的兼容性是过滤应用程序的方法之一。Google Play通过把以下两项内容进行比较,来判断应用程序跟给定用户设备是否兼容:1.应用程序需要的功能---指应用程序在它自己的清单的<uses-feature>元素中声明的功能;2.在设备上有效的硬/软件功能---值设备用只读的系统属性所报告的它所支持的功能。为了确保功能的准确比较,Android包管理器提供了一个共享的功能常量集合,应用程序和设备都使用这些常量来声明各自所需要和支持的功能。可用的功能常量在本文下面的功能参 阅读全文
posted @ 2012-05-25 11:10 andriod2012 阅读(471) 评论(0) 推荐(0) 编辑
摘要:当要设置一个闹钟时,可以把数据放在Intent里,再用intent对象生成一个PendingIntent对象,然后用AlarmManager 来邦定PendingIntent对象设置闹钟,具体代码如下:Intent intent = new Intent(context, AlarmReceiver.class); intent.putExtra("id", alarm.getId()); intent.putExtra("weekday", getCurrentWeekday()); PendingIntent pendingIntent = Pend 阅读全文
posted @ 2012-05-25 09:20 andriod2012 阅读(519) 评论(0) 推荐(0) 编辑
摘要:分析Android Framework有什么好方法呢?回答这一问题之前,先回想一下我们是如何分析他人编写的代码的。在分析程序代码时,我们通常从程序的入口main()函数开始,一点一点地理清程序流程,把握程序的运行过程。同样,在分析结构庞大的Android Framework时,也要从Android平台启动过程入手。Android启动过程包含从Linux内核加载到Home应用程序启动的整个过程,依次分析这一过程,有利于我们系统地理解Android Framework运行的原理。下图简单地描述了Android的启动过程。1. Linux内核Android是基于Linux内核的系统平台。启动时,首先 阅读全文
posted @ 2012-05-25 08:33 andriod2012 阅读(669) 评论(0) 推荐(0) 编辑
摘要:Google Play会根据应用程序所支持的纹理压缩格式来过滤应用程序,以确保应用程序只能安装在处理其纹理属性的的设备上。开发者能够使用基于GPU平台的纹理压缩格式,作为针对特定设备类型一种过滤方式。 阅读全文
posted @ 2012-05-24 21:02 andriod2012 阅读(162) 评论(0) 推荐(0) 编辑
摘要:我们也可以创建另外一种碎片——DialogFragment。顾名思义,DialogFragment就是一个浮动在Activity上面的Fragment。当需要用户的反馈时,DialogFragment就会派上用场。与使用ListFragment类似,需要继承DialogFragment基类。下面将会展示如何使用DialogFragment。1、创建一个工程:DialogFragmentExample。2、在包路径下面新建一个类,Fragment1。public class Fragment1 extends DialogFragment { static Fragment1 newInst.. 阅读全文
posted @ 2012-05-24 20:39 andriod2012 阅读(257) 评论(0) 推荐(0) 编辑
摘要:Google Play能够过滤要显示给用户的应用程序,因此用户只能看到和下载那些跟他们的设备兼容的应用程序。通过功能的兼容性来过滤应用程序是这个方法之一。Google Play通过检查建立每个应用程序清单中的功能需求来过滤应用程序,然后Google Play会基于对应用所需功能和设备所支持的功能的比较,来决定对每个用户所显示或隐藏的应用程序。通过指定应用程序所需要的功能,能够让Google Play把应用程序展现给那些满足应用的功能需求的设备,而不是展现给所有的用户。 阅读全文
posted @ 2012-05-24 13:39 andriod2012 阅读(318) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<uses-featureandroid:name="string" android:required=["true" | "false"] android:glEsVersion="integer"/>被包含于(CONTAINED IN):<manifest>说明(DESCRIPTION):这个元素用于声明一个单独的被应用程序使用的硬件或软件功能。<uses-feature>声明的目的是通知其他外部实体,该应用程序所依赖的硬件和软件功能。这个元素提供的re 阅读全文
posted @ 2012-05-24 08:13 andriod2012 阅读(6753) 评论(0) 推荐(1) 编辑
摘要:ListFramgent就是一个包含ListView的Fragment,它可以通过数据源(数组或游标)显示一系列的信息。ListFragment是非常有用处的,就像RSS,可能左边显示一个列表,右边显示被选中的列表所对应的内容。可以通过继承ListFragment创建一个ListFragment对象。下面将展示如何使用ListFragment。1、创建一个工程:ListFragmentExample。2、main.xml中的代码。<?xml version="1.0" encoding="utf-8"?> <LinearLayout x 阅读全文
posted @ 2012-05-23 21:20 andriod2012 阅读(964) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<uses-permissionandroid:name="string"/>被包含于(CONTAINED IN):<manifest>说明(DESCRIPTION):这个属性用于给应用程序授予正确的操作的所必须的权限。这些权限是在应用程序安装时被授予的,而不是在运行时授予的。有关更多的权限信息,请看《AndroidManifest.xml文件详解(三)》文档中“权限”介绍(http://blog.csdn.net/fireofstar/article/details/7543067)和《Android的安全性和权限》(http 阅读全文
posted @ 2012-05-23 08:22 andriod2012 阅读(474) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<uses-libraryandroid:name="string" android:required=["true" | "false"] />被包含于(CONTAINED IN):<application>说明(DESCRIPTION):这个元素用于指定该应用程序必须链接的共享类库。这个元素告诉系统该应用程序包的类装载器中所包含的类库代码。Android的所有包(如andorid.app,android.content,android.view和android.widget等)都在应用 阅读全文
posted @ 2012-05-22 14:04 andriod2012 阅读(633) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<uses-configurationandroid:reqFiveWayNav=["true" | "false"] android:reqHardKeyboard=["true" | "false"] android:reqKeyboardType=["undefined" | "nokeys" |"qwerty" |"twelvekey"] android:reqNavigation=["un 阅读全文
posted @ 2012-05-22 08:20 andriod2012 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:语法(SYNTAX):<supports-screensandroid:resizeable=["true"|"false"] android:smallScreens=["true" | "false"] android:normalScreens=["true" | "false"] android:largeScreens=["true" | "false"] android:xlargeScreens=["tru 阅读全文
posted @ 2012-05-21 20:28 andriod2012 阅读(21739) 评论(0) 推荐(1) 编辑
摘要:实际代码是做和做FM闹钟相关功能,收藏防止以后查阅new AlertDialog.Builder(this) .setTitle(getString(R.string.info)) .setMessage(getString(R.string.auto_search_confirm)) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int w) { ... 阅读全文
posted @ 2012-05-18 11:44 andriod2012 阅读(3209) 评论(0) 推荐(0) 编辑
摘要:最近在做一个闹钟的项目,当闹钟响起的时候需要用到自动解锁和点亮屏幕,因此记录一下解屏幕锁与点亮屏幕的代码:KeyguardManagerkm=(KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);//得到键盘锁管理器对象KeyguardLockkl=km.newKeyguardLock("unLock");//参数是LogCat里用的Tagkl.disableKeyguard();//解锁PowerManagerpm=(PowerManager)getSystemService(Context.POWER_S 阅读全文
posted @ 2012-05-16 10:57 andriod2012 阅读(334) 评论(0) 推荐(0) 编辑
摘要:最近在搞广告联盟的SDK和4.0的Launcher。目前呢广告联盟的sdk还没正式上线,正在测试,如果没有大的问题,估计会在近期上线测试。要搞4.0的launcher需要把SDK升级到4.0(当然还有ADT等),不然项目导入是会有很多的红叉(蛋都碎了),SDK升级到4.0以后发现,以前的一些完好的项目出错了(出现红叉)且以前正常运行的项目在4.0的系统上跑出现bug。sdk4.0做了很大的变动,但是又没有找到什么变更的说明文档,这对于我这种低水平的开发者而言,真的是灾难性的,以前的项目的版本适配怎么搞,蛋都没了......SDK4.0和以前版本的兼容问题需要大家认真测试。下面继续说4.0的la 阅读全文
posted @ 2012-05-11 11:11 andriod2012 阅读(584) 评论(0) 推荐(0) 编辑
摘要:最近学习了一下3D相册的代码,发现LinearGradient类可以来实现图片倒影的渐变效果(图片是网上找的,仅供参考),下面记录一下该用法:LinearGradient是实现线性渐变的效果,用法如下: Paint p=new Paint(); //生成画笔对象 LinearGradient lg=new LinearGradien(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR);//生成 LinearGradient 对象 参数一:为渐变起点坐标的x轴位置, 参数二 :为渐变起点坐标的y轴位置, 参数三 :为渐变终点坐标的x. 阅读全文
posted @ 2012-05-11 10:29 andriod2012 阅读(406) 评论(0) 推荐(0) 编辑
摘要:svn中的revert和update今天有人问到revert和update的问题。刚开始还真被问住了。因为感觉revert和update都可以将本地的copy更新到以前的一个版本,会有什么不同呢?查了些资料,并做了个试验,终于发现了它们的不同。假设当前最新的版本是6,但是,最新的一次提交不是你想要的,也就是想把版本为6的修改干掉下面来看看如何分辨用revert和update来实现。1、使用revert保证本地copy为最新版本,即版本6.将本地copy revert到版本5.将本地copy commit。2、使用update将本地copy update到版本5.这个时候是没办法直接提交的,因为 阅读全文
posted @ 2012-05-08 14:41 andriod2012 阅读(21674) 评论(0) 推荐(0) 编辑
摘要:1. Samba Samba 用于Linux 和windows之间的共享,ubuntu里面默认没有安装samba 在安装好samba之后,就用开始配置samba服务: Samba服务器主要配置文件为/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中。 在Windows系统中不用输入密码访问Linux共享目录 在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/myth/share目录,要在 Windows系统中访问这个共享的目录,假设Windows主机的I 阅读全文
posted @ 2012-05-07 10:51 andriod2012 阅读(87577) 评论(1) 推荐(2) 编辑