摘要: 大家好我们今天研究的是Android中很重要也最为复杂的媒体播放器---MediaPlayer.Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。 MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的Binder机制。而我们今天的例子只是利用MediaPlayer来播放res/raw文件夹中一首非常动听的英文哥love 阅读全文
posted @ 2012-12-12 09:29 忆冉 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 最近在研究Lanucher ,看了源码,发现了SlidingDrawer 这个类,也就是所谓的"抽屉"类。它的用法很简单,要包括handle ,和content .handle 就是当你点击它的时候,content 要么抽抽屉要么关抽屉。别的不多说了,具体步骤如下.1.新建Android 工程,命名为SlidingDrawer .2.准备素材,在这里我的图标是用Launcher2 里面的图标,放在drawable-hdpi 文件夹目录结构如下:3.设置main.xml 布局:代码如下:view plaincopy to clipboardprint?<?xmlvers 阅读全文
posted @ 2012-12-12 09:29 忆冉 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 图像显示所需的概念:像素:一幅图片的显示就是由许多显示着不同颜色的小方格组成的,这样的小方格就被称为像素,是构成图片的最小单位.但是这个像素的具体大小是多少呢?这需要取决于显示这张图片的具体的物理设备显示一个图片像素点的荧光点的大小.图片文件只是记录着它自身有多少个像素点,每个像素点显示什么颜色,至于它自身物理尺寸有多大,它自身也无法得知,例如一张480*800像素的图片在电脑显示器上显示明显要比在手机屏幕上显示大很多,而这张图片本身并没有改变.只是手机的屏比电脑显示器的屏要精细许多,也就是每一个物理像素点要小许多,密度也就大许多.分辨率:分为“图像分辨率”与“物理显示分辨率”。它们都是水平像 阅读全文
posted @ 2012-12-05 16:51 忆冉 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1二、Android(Java)中常见的容易引起内存泄漏的不良代码 1(一) 查询数据库没有关闭游标 2(二) 构造Adapter时,没有使用缓存的 convertView 3(三) Bitmap对象不在使用时调用recycle()释放内存 4(四) 释放对象的引用 4(五) 其他 5三、内存监测工具 DDMS --> Heap 5四、内存分析工具 MAT(Memory Analyzer Tool) 7(一) 生成.hprof文件 7(二) 使用MAT导入.hprof文件 8(三) 使用MAT的视图工具分析内存 8一、概述 Java编程中经常容易被忽视,但本身又十分重要的一个问 阅读全文
posted @ 2012-11-29 16:18 忆冉 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 一、Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有向图的起始顶点,该图就是从起始顶点开始的一棵树,根顶点可以到达的对象都是有效对象,GC不会回收这些对象。如果 阅读全文
posted @ 2012-11-29 16:17 忆冉 阅读(5538) 评论(0) 推荐(0) 编辑
摘要: 前面给大家分享了listview中adapter的开发技巧,下面我继续跟着2009年google开发大会上当分享的技巧给大家分享背景和图像的开发技巧。视图背景的优化视图的背景是根据视图的大小自动调节的。不管图像的尺寸是多大,如果图像做为视图的背景的时候,图像会自动缩放来匹配填充视图的大小。当视图大小和背景图片的尺寸不匹配的的时候,系统会自动的缩放图片。这样的自动调整如果多次甚至大量的出现在我们的应用中,那么势必会造成程序加载到延时、效率降低。那么我们如何尽量的避免自动缩放呢?一、提供的背景图片正好和视图的大小一致我们在制作程序的时候选择的背景图片正好和视图的大小一致,这样可以避免背景图标的自动 阅读全文
posted @ 2012-11-29 15:40 忆冉 阅读(3935) 评论(0) 推荐(0) 编辑
摘要: ListView的Adapter的作用如下图所示:Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?先看看下面的代码:public View getView(int position, View convertView, ViewGroup parent) {View item = mInflater.inflate(R.layout.list_item_icon_text, null);((TextView 阅读全文
posted @ 2012-11-29 14:57 忆冉 阅读(287) 评论(0) 推荐(0) 编辑
摘要: xml界面代码:<?xml version="1.0" encoding="UTF-8"?><TabHost android:id="@android:id/tabhost" android:background="@android:color/black" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://sch 阅读全文
posted @ 2012-11-29 14:38 忆冉 阅读(2963) 评论(0) 推荐(0) 编辑
摘要: Android中跟Touch事件有关的事件有三个: public boolean dispatchTouchEvent(MotionEvent ev):传递Touch事件至target view(可以是自己)。 public boolean onInterceptTouchEvent(MotionEvent ev):在ViewGroup中定义,用于拦截Touch事件的传递。 public boolean onTouchEvent(MotionEvent event):Touch事件处理函数。 先说下事件传递的两种方式: 隧道方式:从根元素依次往下传递直到最内层子元素... 阅读全文
posted @ 2012-11-27 09:45 忆冉 阅读(216) 评论(0) 推荐(0) 编辑
摘要: Android平台中的二种翻页效果实现。第一种翻页效果如下:实现原理:当前手指触摸点为a,则 a点坐标为(ax,ay), 由三角形acb与三角形cmb为对称三角形并且直线cp为am垂直平分线,则 B点坐标为(ax/2,ay/2)。作gf垂直于om且cb垂直于am, 三角形cfg与gfm相似,则 cf:gf = gf:mf cf=(gf * gf) / mf gf长度为g点纵坐标 mf长度为g点横坐标 cf长度可求 c点坐标可求 由c点、g点可确定过两点间的直线, 当该直线中x=0时求出与y足交点。第二种翻页效果实现原理:使用贝赛尔曲线。曲线有四个点:起始点、终止点(也称锚点)以... 阅读全文
posted @ 2012-11-14 09:12 忆冉 阅读(261) 评论(0) 推荐(0) 编辑