摘要: 前面写了十四篇关于界面的入门文章,大家都看完和跟着练习之后,对于常用的Layout和View都会有一定的了解了,接下来的文章就不再强调介绍界面了,而是针对具体的常见功能而展开。 本文介绍MediaPlayer的使用。MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用MediaPlayer,要视情况选择了。MediaPlayer播放音频比较简单,但是要播放视频就需要SurfaceView。SurfaceView比普通的自定义View更有绘图上的优势,它支持完全的OpenGL ES库。 先贴出 阅读全文
posted @ 2011-05-20 17:27 大树2 阅读(277) 评论(0) 推荐(0)
摘要: 上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需要自己选择,我这里就直接在普通的用户界面调用SurfaceHolder的lockCanvas和unlockCanvasAndPost。 先来看看程序运行的截图:截图1主要演示了直接把正弦波绘画在Sur 阅读全文
posted @ 2011-05-20 17:19 大树2 阅读(476) 评论(0) 推荐(0)
摘要: 上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全一样,本文不做多线程方面的介绍了。直接讲解SurfaceView与多线程的混合使用,即开一条线程专门读取图片,另外一条线程专门绘图。 本文程序运行截图如下,左边是开单个线程读取并绘图,右边是开两个线程,一个专门读取图片,一个专门绘图:对比一下,右边动画的帧速明显比左边的快,左右两者都没使用Thread.sleep()。为什么要开两个线程一个读一个画,而不去开两个线程像左 阅读全文
posted @ 2011-05-20 17:17 大树2 阅读(368) 评论(0) 推荐(0)
摘要: Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动。本文介绍的是Activity的生命周期以及针对Activity的Intent使用。 之前的例子一直都是使用Activity,在一个Layout XML与一个Activity捆绑的情况下可以视为一个Form,多个Layout XML与一个Activity捆绑的话那就是个Application本身了。Intent可以分为显式Intent和隐式Intent:显式Intent用于启动明确的目标组件(前面所说的三大组件),同一个Application内的多个Activity调 阅读全文
posted @ 2011-05-20 17:14 大树2 阅读(186) 评论(0) 推荐(0)
摘要: 上次介绍了Activity以及Intent的使用,这次就介绍Service,如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行。Service跟Activity一样也由Intent调用。在工程里想要添加一个Service,先新建继承Service的类,然后到AndroidManifest.xml -> Application ->Application Nodes中的Service标签中添加。 Service要由Activity通过startService 或者 bindService来启动,Intent负责传递参数。 阅读全文
posted @ 2011-05-20 17:10 大树2 阅读(335) 评论(0) 推荐(0)
摘要: BroastcastReceiver,Broastcast是应用程序间通信的手段。BroastcastReceiver也是跟Intent紧密相连的,动态/静态注册了BroastcastReceiver之后,使用sendBroadcast把Intent发送之后,系统会自动把符合条件的BroastcastReceiver启动,跟嵌入式系统的中断类似。前面分别讨论了Activity和Service,这次就轮到BroastcastReceiver,Broastcast是应用程序间通信的手段。BroastcastReceiver也是跟Intent紧密相连的,动态/静态注册了BroastcastRecei 阅读全文
posted @ 2011-05-20 17:06 大树2 阅读(356) 评论(0) 推荐(0)
摘要: 接手android也有一年的时间了,由于刚开始学习时资料比较少,又大多都是断章取义的,所以对于android我一直处于似懂非懂的状态下。今天终于感觉到该留点学习的经验吧,那就从这篇开始我的android系列文章了。Android使用Git管理源代码的,在Linux下我们可以使用ubuntu来获取系统源码,下面我就逐步介绍在Windows些如何获取Android系统源码了。一。安装msysGit在google的http://code.google.com/p/msysgit/中这样介绍到:If you just want to use Git to do your version control 阅读全文
posted @ 2011-05-20 17:02 大树2 阅读(389) 评论(0) 推荐(0)
摘要: 对于很多C/C++程序员初入Android开发来说,如果你没有认证学习过Java的设计模式,不理解托管语言的OOP设计方法,可能你的应用变得很结构化,对于项目管理、架构扩展来说将会存在很多问题,Android123参看了目前国内很多应用发现很多代码完全就不是一个Java程序员写出来的,虽然能用但是这样设计对于日后的维护等方面将会有很严重的问题. 目前注明的主要有23种设计模式,就常规的Java设计模式Android开发网给大家应该掌握的主要有以下: 一、创建型模式 1. 工厂方法模式 2. 单例模式 3. 生成器模式二、行为型模式 1. 迭代器模式 2. 责任链模式 3. 观察者模式 4. 模 阅读全文
posted @ 2011-05-20 15:41 大树2 阅读(693) 评论(0) 推荐(0)
摘要: Android面试题,看看你基础如何?发布时间:2011-04-08作者:Android开发网原创 近期很多公司招聘Android程序员,就一些常见的Android面试基础题做下总结,看看你能做出多少道? 1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗? 这里Android123提示大家,Intent的一些标记有FLAG_ACTIVITY_BROUGHT_TO_FRONT 、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、 阅读全文
posted @ 2011-05-20 15:39 大树2 阅读(417) 评论(0) 推荐(0)
摘要: Android开发之Java设计模式入门篇发布时间:2011-04-05作者:Android开发网原创 有关Android开发相关的Java基础系列之设计模式入门篇,Android123帮助一些初入Java语言开发的程序员补充些常识性问题,可以帮助C/C++程序员少走些弯路。 1. 抽象类 - 在一个类的前面有abstract关键字,一般描述些公共属性,没有具体对象概念,比如 abstract class Android123 { } 2. 最终类 - 在一个类前面有final关键词,这样的类无法再被派生,没有子类,需要注意的是abstract和final不能同时出现在一个类中。final修饰 阅读全文
posted @ 2011-05-20 15:38 大树2 阅读(215) 评论(0) 推荐(0)
摘要: Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。1.默认效果代码:Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();2.自定义显示位置效果代码toast = Toast.makeText(getApplicationContext(),"自定义位置Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);to 阅读全文
posted @ 2011-05-20 15:29 大树2 阅读(229) 评论(0) 推荐(0)
摘要: 下图是帮助文档中的关于界面开发的推荐色值,大家可以参考一下:dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,Tex 阅读全文
posted @ 2011-05-20 15:26 大树2 阅读(617) 评论(0) 推荐(1)
摘要: 1 ANDROID数据库技术 文件系统,结构;2 SDCARD访问(读写)3 CONTENT PROVIDER:在多个应用中存取和读取数据。增加,查询,删除,更改数据。4 SQLITE:轻量级的黄入式的数据库。5 cursor 光标对象1 android 数据库技术 在Android中,提供了4种数据存储的途径,和两种存储方式。这是重点,要撑握: 系统配置Shared Preferences FILE SQLITE NETWORK1>系统配置Shared Preferences:保存应用程式配置信息.键值对保存方式;name和value 比如我给程序界面设置了颜色,我想在下一次启动时还是 阅读全文
posted @ 2011-05-20 14:14 大树2 阅读(591) 评论(0) 推荐(0)
摘要: [转]8大你不得不知的Android调试工具 1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法:new Exception(“print trace”).printStackTrace();2. MethodTracing1) 功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等2) 方法:a) 在程序代码中加入追踪开关importandroid.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”);//先建/data/tm 阅读全文
posted @ 2011-05-20 13:16 大树2 阅读(303) 评论(0) 推荐(0)