导航

随笔分类 -  Android

摘要:最开始接触到theme和style是由于我要实现更改标题栏的样式的需求。当时比较幸运,找到了一片相当好的文章:解决Android自定义标题栏充满的问题。这篇文章详细讲解了解决问题的过程,让我受益匪浅。那什么是theme和style呢?Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例。 Theme:是一个包含一种或者多种格式化属性的集合,我们可以将其为一个单位用在应用中所有的Activity当中或者应用中的某个Activity当中。比如,我们可以定 阅读全文

posted @ 2011-05-27 19:53 NCUT蓝色理想 阅读(3245) 评论(0) 推荐(0) 编辑

摘要:做Android布局是件很享受的事,这得益于他良好的xml方式。使用xml可以快速有效的为软件定义界面。可是有时候我们总感觉官方定义的一些基本组件不够用,自定义组件就不可避免了。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?现在我们就来讨论一下他的用法。一、在res/values文件下定义一个attrs.xml文件,代码如下:<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="ToolBar&qu 阅读全文

posted @ 2011-05-27 19:51 NCUT蓝色理想 阅读(26883) 评论(3) 推荐(6) 编辑

摘要:41. Splash Screen开场屏在Android中的实现 很多网友可能发现近期Tencent推出的手机QQ Android版包含了一个开场屏Splash Screen载入效果,通常游戏或大型软件打开时可能需要一个释放解析资源的过程,需要一个前台的动画播放和后台的逻辑处理线程配合,当然对于简单的软件也可以加一个Splash Screen作为美化。在Android平台上如何实现呢? 首先创建一个Activirty,在SetContentView时直接通过ImageView创建一个全屏的图片,Android123提示大家还要考虑好分辨率和当前设备一致,onCreate添加代码如下: new 阅读全文

posted @ 2011-05-17 20:27 NCUT蓝色理想 阅读(2256) 评论(1) 推荐(0) 编辑

摘要:11.Android JSON解析示例代码 来自Google官方的有关Android平台的JSON解析示例,如果远程服务器使用了json而不是xml的数据提供,在Android平台上已经内置的org.json包可以很方便的实现手机客户端的解析处理。下面Android123一起分析下这个例子,帮助Android开发者需要有关 HTTP通讯、正则表达式、JSON解析、appWidget开发的一些知识。 public class WordWidget extends AppWidgetProvider { //appWidget @Override public void onUpdate(Cont 阅读全文

posted @ 2011-05-17 20:26 NCUT蓝色理想 阅读(1371) 评论(0) 推荐(0) 编辑

摘要:31. View和SurfaceView 在Android游戏当中充当主要的除了控制类外就是显示类,在J2ME中我们用Display和Canvas来实现这些,而Google Android中涉及到显示的为view类,Android游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下android.view.View和android.view.SurfaceView。SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,到底有哪些优势呢? Sur 阅读全文

posted @ 2011-05-17 20:26 NCUT蓝色理想 阅读(1716) 评论(2) 推荐(0) 编辑

摘要:1. android单实例运行方法我们都知道Android平台没有任务管理器,而内部App维护者一个Activity history stack来实现窗口显示和销毁,对于常规从快捷方式运行来看都是startActivity可能会使用FLAG_ACTIVITY_NEW_TASK标记来打开一个新窗口,比如Launcher,所以考虑单任务的实现方法比较简单,首先Android123纠正下大家一种错误的方法就是直接在androidmanifest.xml的application节点中加入android:launchMode="singleInstance"这句,其实这样将不会起到任 阅读全文

posted @ 2011-05-17 20:25 NCUT蓝色理想 阅读(1920) 评论(0) 推荐(0) 编辑

摘要:Android自定义View实现很简单继承View,重写构造函数、onDraw,(onMeasure)等函数。如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml。在其中定义你的属性。在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://schemas.android.com/apk/res/你的自定义View所在的包路径".在使用自定义属性的时候,使用前缀:属性名,如my:textColor="#FFFFFFF"。实例:view plaincopy to clipboardprint?packa 阅读全文

posted @ 2011-05-17 15:41 NCUT蓝色理想 阅读(74122) 评论(2) 推荐(6) 编辑

摘要:最近在实现一个邮件系统,想仿照Android自带的邮件列表界面,在ListView中显示如下界面通过Android自带的Hierarchy Viewer分析得知,该ListItem包括:最左边的View(红色)区分不同的邮箱 左边的复选框ImageView 恩。。不知为啥不用CheckBox实现 中间三个TextView 显示邮件标题 内容及日期 右边的复选框ImageView 星标,也是用ImageView 实现的 恩·· 比较复杂的一个结构,Android对于ListView提供了几种Adapter,不过结构都比较简单、功能也比较少实现上面的结构还是的自己改进Adapt 阅读全文

posted @ 2011-05-17 10:24 NCUT蓝色理想 阅读(3118) 评论(0) 推荐(0) 编辑

摘要:应用程序基础关键类ActivityServiceBroadcastReceiverContentProviderIntent Android应用程序使用Java做为开发语言。aapt工具把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk文件中的所有代码被认为是一个应用程序。从很多方面来看,每个Android应用程序都存在于它自己的世界之中:默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时 阅读全文

posted @ 2011-05-11 10:24 NCUT蓝色理想 阅读(406) 评论(0) 推荐(0) 编辑

摘要:相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 要想明白Socket连接,先要明白TCP连接。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送 阅读全文

posted @ 2011-05-04 11:09 NCUT蓝色理想 阅读(934) 评论(1) 推荐(0) 编辑

摘要:FBReaderJFBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。 项目地址:http://www.fbreader.org/FBReaderJ/ AngleAngle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现。 项目地址:http://code.google.com/p/angle/android-shuffleandroid-shuffle是一个GTD(Ge 阅读全文

posted @ 2011-04-28 15:18 NCUT蓝色理想 阅读(909) 评论(0) 推荐(0) 编辑

摘要:本片不多说 直接引用: http://www.ophonesdn.com/article/show/36 http://developer.android.com/reference/android/os/AsyncTask.html 连接互联网的能力大大提升了移动电话的业务范围,中国移动很多出色的业务,像移动随身听,飞信等都是基于网络连接的应用程序,这也说明未来的移动互联网领域大有可为。因此深入掌握的联网应用程序的开发和设计至关重要。本文主要介绍在开发联网应用过程中如何管理线程,如何从主线程之外更新界面。(作者:中国移动通信研究院 詹建飞) 为什么需要线程 假设需要开发一个联网应用程序,需 阅读全文

posted @ 2011-03-19 00:15 NCUT蓝色理想 阅读(1658) 评论(0) 推荐(0) 编辑

摘要:Android允许为列表中一个单独的行指定布局。只要在ListAdapter对象中指定一个布局资源就可以了。一个ListAdapter构造函数有一个参数来指定每一行的布局资源。此外,它还有另外两个参数来指定哪一个数据域与行布局资源中的对象相关联。这两个参数一般是平行数组。Android在R.layout类中提供了一些标准的布局资源。例如simple_list_item_1, simple_list_item_2, 和two_line_list_item。参考示例一(使用SimpleCursorAdapter):1. 使用默认的布局。2. Activity对应的Java代码如下。Java代码pa 阅读全文

posted @ 2011-03-18 23:45 NCUT蓝色理想 阅读(444) 评论(0) 推荐(0) 编辑

摘要:今天仔细研究了一下API Demo中的QuickContactsDemo示例,感觉对ListActivity有了进一步的认识。下面结合官方文档和自己的研究对ListActivity做个总结。 Screen Layout ListActivity的默认布局由一个位于屏幕中心的全屏列表构成。如果你不想使用默认的布局,可以在onCreate()方法中通过setContentView()方法设定你自己的布局。 如果指定你自己定制的布局,你的布局中必须包含一个id为"@id/android:list"的ListView。 若你还指定了一个id为"@id/android:em 阅读全文

posted @ 2011-03-18 16:31 NCUT蓝色理想 阅读(2316) 评论(0) 推荐(1) 编辑

摘要:有了framework后,我们不用面对赤裸裸的OS API,做一些重复而繁杂的事情。但天下没有免费的午餐,我们还是需要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。在Android中,下层是Linux的核,但上层的java做的framework把这一切封装的密不透风。以消息处理为例,在MFC中,我们可以用PreTranslateMessage等东东自由处理消息,在C#中,Anders Hejlsberg老大说了,他为我们通向底层开了一扇“救生窗”,但很遗憾,在Android中,这扇窗户也被关闭了(至少我现在没发现... 阅读全文

posted @ 2011-03-18 15:56 NCUT蓝色理想 阅读(1211) 评论(0) 推荐(0) 编辑

摘要:public class ScreenTest extends Activity {class SmsContent extends ContentObserver{private Cursor cursor = null;public SmsContent(Handler handler) {super(handler);}/*** @Description 当短信表发送改变时,调用该方法* 需要两种权限* android.permission.READ_SMS读取短信* android.permission.WRITE_SMS写短信* @Author Snake* @Date 2010-1 阅读全文

posted @ 2011-03-18 11:05 NCUT蓝色理想 阅读(1179) 评论(0) 推荐(0) 编辑

摘要:Android中的短信并没有正式的content provider可用,在官方文档中没有提供定义。不过依然可以自己定义好URI,然后查询出短信内容。例如conetent://sms则是所有短信所在的path。 要将短信按会话分类,原先我是查询出所有短信后,然后再按照thread_id分类。系统自带的短信程序包含一个会话显示界面,每个条目包含:联系人、短信数量、第一条短信等内容。当我的程序处理的短信较多时,一次查询出所有的短信就变得很慢。(如果再加上为每个会话查询联系人信息,则会更慢) 看了系统短信的代码,发现它可以只查询出会话的信息,而不用查询出所有短信内容。因为部分代码没找到,一直不知道它是 阅读全文

posted @ 2011-03-17 18:11 NCUT蓝色理想 阅读(9471) 评论(4) 推荐(2) 编辑

摘要:前言 本章内容是android.widget.CursorAdapter,版本为Android 2.3 r1,翻译来自"深夜未眠",欢迎访问它的博客:"http://chirs1012f.javaeye.com/",再次感谢"深夜未眠" !期待你一起参与Android API的翻译,联系我over140@gmail.com。 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com/ Android中文翻译组:http://goo.gl/6vJQl正文 一、结构 public abstract c 阅读全文

posted @ 2011-03-17 17:57 NCUT蓝色理想 阅读(1176) 评论(0) 推荐(0) 编辑

摘要://contentObserver只是通知数据库中内容变化了cursor.registerContentObserver(mChangeObserver);//datasetObserver是调用requery之后通知上层cursor数据内容已经更新cursor.registerDataSetObserver(mDataSetObserver);我们的调用流程如下:当我们使用getContentResolver().query()的时候,我们的resolver会通过uri找到对应的provider,调用相应的query()方法,该方法中的部分内容: SQLiteDatabase db = mO 阅读全文

posted @ 2011-03-17 17:55 NCUT蓝色理想 阅读(2264) 评论(1) 推荐(1) 编辑

摘要:为了看代码方便,一边在网上google资料,一边看Android java 源代码。偶然发现了一个类MmsSmsDatabaseHelper.java,原来android将所有的短信信息都存入了mmssms.db中。公开的SDK中没有这个类,不能直接使用。于是自己写了一个SQLiteOpenHelper,但是查询的时候发生SQL异常。看来不能为所欲为了,不过据网上资料介绍可以拷贝db文件来实现短信数据备份。既然每个db跟package名相关,建立了一个package为com.android.providers.telephony的工程去试一试,看看能不能成功。结果输出Please execut 阅读全文

posted @ 2011-03-17 16:19 NCUT蓝色理想 阅读(877) 评论(0) 推荐(0) 编辑