Android AP
文章平均质量分 69
wongstar
这个作者很懒,什么都没留下…
展开
-
android --music database-1
数据库在 data/data/下的com.android.providers.media/databases -->分为2部分external-cfe1d0f.db//外部数据 主要是从sdcard中的数据internal.db//主要是系统的数据,比如系统铃声 其中上面的和music有关 后面的跟Vdiao有关后面表 还和Gallery有关 今天我研究原创 2010-04-23 12:11:00 · 1939 阅读 · 0 评论 -
不同Activity之间的切换
<br />问题:一个application(即同一个.apk)里面有A,B,C三个Activity,启动顺序为:A为action=main&Launch即application启动的第一个activity,A启动B,B启动C,那想从关闭C之后直接回到A,而不是回到B?? <br /><br />分析:正常情况下:A启动B之后,A进入Stop的状态,并且B进入活动栈栈顶,B启动C之后,B进入Stop的状态,并且C进入活动栈栈顶,此时活动栈为从栈底开始为:A-->B-->C,若C通过finish关闭之后,返回转载 2010-08-10 16:50:00 · 873 阅读 · 0 评论 -
Android开发者必须深入学习的10个应用开源项目
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项 目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用:1.Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团转载 2010-08-25 17:29:00 · 801 阅读 · 0 评论 -
DocumentBuilder解析
URLConnection cn; URL url = new URL( "http://apps-for-android.googlecode.com/svn/trunk/CLiCkin2DaBeaT/AndroidManifest.xml"); cn = url.openConnection(); cn.connect(); InputStream stream = cn.getInputStre原创 2010-09-01 10:08:00 · 12955 阅读 · 0 评论 -
那么android效率为什么这么的高呢
<br /><br />ndroid系统框架和上层应用是类java(不是正统的sun java)开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机和java开发,一般都会认为效率低下。其实不然,在基本主流的智能手 机的软件平台上,android的执行速度是最快的。 <br /><br /> 那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析: <br /><br />1、 资源文件的优化读取。 <br /><br />我们知转载 2010-09-16 15:20:00 · 1495 阅读 · 0 评论 -
ANDROID的SENSOR相关信息
<br /><br />1. Accelrator的x,y,z轴的正负向:<br />手机屏幕向上水平放置时: (x,y,z) = (0, 0, -10) 而不是 (0, 0, 10)<br />当手机顶部抬起时: y减小,且为负值<br />当手机底部抬起时: y增加,且为正值<br />当手机右侧抬起时: x减小,且为负值<br />当手机左侧抬起时: x增加,且为正值<br />2. Accelrator的z轴的变化:<br />手机屏幕向上水平放置时,z= -10<br />手机屏幕竖直放置时, z转载 2010-09-16 15:25:00 · 755 阅读 · 0 评论 -
android 铃声设置流程讲解
<br />总体思路为 :<br />1.截取铃声<br />2.保存入sd卡<br />3.获取铃声信息<br />4.将信息和文件路径写入数据库获得铃声Uri<br />5.将获得的Uri设置为铃声。<br />核心实现:在<br />public class DefaultRingtonePreference extends RingtonePreference {<br />private static final String TAG = "DefaultRingtonePreference";<转载 2010-09-16 15:31:00 · 3515 阅读 · 0 评论 -
Android Layout机制研究
<br /><br />Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究一下它的实现。<br />Android有4种Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout。<br />放入Layout中进行排布的View的XML属性:<br />4种Layout中Item所共有的XML属性:<br />(1)layout_width<br />(2)layout_转载 2010-09-16 15:32:00 · 990 阅读 · 0 评论 -
Android UI事件处理
<br /><br />在Android平台上,捕获用户在界面上的触发事件有很多种方法,View类就提供这些方法。你在使用各种View视图来布局界面时,会发现几个公用的回调方法来捕捉有用的UI触发事件,当事件在某个View对象上被触发时,这些方法会被系统框架通过这个对象所调用,例如:当一个View(如一个Button)被点击,onTouchEvent()方法会在该对象上被调用,所以,为了捕获和处理事件,必须去继承某个类,并重载这些方法,以便自己定义具体的处理逻辑,显然,你更容易明白,为什么在你使用View类转载 2010-09-16 15:33:00 · 850 阅读 · 0 评论 -
android out of memory
<br /><br />1.大量查询数据库时cursor没有关闭<br />错误写法:<br /> Cursor cursor = getContentResolver().query( );<br /> if(cursor != null)<br />{<br /> cursor.moveTOFirst();<br /> while(!cursor.isAfterLast())<br /> {<br /> ..............<br />转载 2010-08-05 10:34:00 · 2247 阅读 · 0 评论 -
HTTP协议Content-Type小结
<br />application/download 让文件下载。任何文件都要下载 ".*"="application/octet-stream"<br />".001"="application/x-001"<br />".301"="application/x-301"<br />".323"="text/h323"<br />".906"="application/x-906"<br />".907"="drawing/907"<br />".a11"="application/x-a11"<br /转载 2010-08-03 09:45:00 · 227 阅读 · 0 评论 -
android 生成缩略图
<br /> <br />options.inSampleSize = 4; options.inDither = false; options.inPreferredConfig = Bitmap.Config.ARGB_8888; options.inJustDecodeBounds = false; Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.sam, options);原创 2010-07-27 11:39:00 · 1817 阅读 · 0 评论 -
Music -Database -3(receiver的学习)
通过学习mediaScannerReceiver.来学习receiver..reciver接收到的时候启动service 来创建数据库和扫描数据库! mainfest.xml如下: //当启动后时候接受到 //当usb mount的原创 2010-04-26 15:37:00 · 780 阅读 · 0 评论 -
Handler Thread Looper
前几天和一位同事讨论Android中Handler和Thread,其中一个问题是:创建Handler时会不会创建Thread?我对JAVA编程不熟,但直觉告诉我不会:我认为Handler只是用来辅助实现异步操作的东西。当时我拿了GTK+中的idle来做对比,sendMessage就相当于加一个idle函数,系统处理完前面的Message后就会处理这个Message。毕竟没有看过里面的实现代码转载 2010-04-28 09:24:00 · 11001 阅读 · 0 评论 -
Android下的多线程
在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾转载 2010-04-28 09:35:00 · 892 阅读 · 0 评论 -
android --music database-2
以下是android 中MediaStore的source code通过图片可以知道 该类主要分为4个部分,MediaColumns接口Image类Audio类Video类 MediaColumns的定义如下:-->上篇文章已经说明! 下面主要来研究Audio主要的接口有如下:我分别来介绍:AudioColumns GenresColumn原创 2010-04-26 16:47:00 · 1097 阅读 · 0 评论 -
ContentProvider
.3 ContentProvider 当数据需要在应用程序间共享时,我们就可以利用ContentProvider为数据定义一个URI。之后其他应用程序对数据进行查询或者修改时,只需要从当前上下文对象获得一个ContentResolver(内容解析器)传入相应的URI就可以了。本节中将以前面创建的code.db数据库为例,向读者介绍如何定义一个ContentProvider,以及如何在其他程序中使用转载 2010-04-29 11:05:00 · 4273 阅读 · 1 评论 -
Music -Database -4(数据库触发器和View的学习)
db.execSQL("CREATE TRIGGER IF NOT EXISTS audio_meta_cleanup DELETE ON audio_meta " + "BEGIN " + "DELETE FROM audio_genres_map WHE原创 2010-05-06 14:21:00 · 1170 阅读 · 0 评论 -
android Content Provider基础之 SQL
SQLite使用的SQL语言与标准的SQL语言大体是相同的,所以我想先回顾下SQL语言的用法。首先我们假设我们有如下表格,表格名称“Employees”:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueN转载 2010-05-06 16:14:00 · 991 阅读 · 0 评论 -
Could not find *.apk在android1.5中的解决办法
Could not find *.apk在android1.5中的解决办法1、选择properties->java build path->libraries,把默认的andraid包去掉2、选择左侧的android标签,在target中选择android1.1或android1.5,确定3、在项目上但就右键,选择android tools->Fix project properties完成后就可转载 2010-05-08 15:41:00 · 1063 阅读 · 3 评论 -
android measure
fill_parent-->public static final int EXACTLY = 1 wrap_content-->public static final int AT_MOST = 2原创 2010-09-29 10:11:00 · 10668 阅读 · 2 评论 -
横向移动ListView
<br />public class MyListView extends LinearLayout implements OnGestureListener { private GestureDetector mGestureDetector; private ListView mListView; public MyListView(Context context) { super(context); mGestureDete转载 2010-10-13 16:39:00 · 1964 阅读 · 2 评论 -
ColorButton 的实现
<br />ColorButton 的实现作者: 刘鹏日期: 2010-03-12本文总结了 Android 自带 Calculator 程序中 ColorButton 的实现方法。简介<br />Android 平台自带了一个计算器程序(Calculator), UI 做的非常漂亮美观,如 下图所示。Calculator 程序在 Calculator 的 UI 中,按钮的表现非常有特色,简洁、大方,既有立体感, 还带一些动画效果,这里我们分析这些特效的实现。参考 Calculator 的源码,我们称这转载 2010-10-14 16:55:00 · 1466 阅读 · 0 评论 -
安装Eclipse ADT插件时遇到的一些问题
http://code.google.com/intl/sv-SE/eclipse/docs/install-eclipse-3.5.html原创 2011-12-20 17:31:08 · 787 阅读 · 0 评论 -
android Fragments (Android官方文档中文版)
转自:http://blog.sina.com.cn/s/blog_69a4fbd70100r5j4.html 概述Fragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragme转载 2012-04-25 13:15:09 · 1361 阅读 · 0 评论 -
Android推送方式比较
当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震及时通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现。第二种就是服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。 虽然Pull和Pu转载 2012-04-25 14:44:43 · 1262 阅读 · 0 评论 -
ViewStub用法
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl转载 2012-04-24 15:38:32 · 22977 阅读 · 6 评论 -
ListView 实现点击侧边A-Z快速查找
为了实现上面的A-Z 快速定位的功能下面是main.xml的布局文件<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/llParent" android:layout_width="fill_parent" android:layou原创 2012-04-27 20:11:45 · 6214 阅读 · 2 评论 -
android中的weight
android:layout_weight详细分析介绍:布局文件是: android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" >android:layout_width="fill_p转载 2012-04-23 15:34:58 · 7658 阅读 · 0 评论 -
关于android读取用户号码,手机串号,SIM卡序列号
1.从一个错误代码引出我们的讨论:android公开的API提供了访问方法,大家都知道使用TelephonyManager提供的方法,但是有些理解有误,如下国内一个比较大的andorid论坛提供的例子,就出现了错误:帖子如下http://www.eoeandroid.com/thread-14027-1-3.html,其中实现代码没有注释,只能按照变量定义判断: Tele转载 2012-05-14 13:35:04 · 1495 阅读 · 0 评论 -
ListView与Button的共存问题解决
<br />ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽。 首先,说明一下,ListView中每一行包括以下三项: 一个ImageView, 一个TextView,一个ImageButton,依次排开。 以下是layout的内容,分为两部分:res/layout/main.xml<br /><br /><?xml version="1.0" encodin转载 2011-02-23 08:56:00 · 1325 阅读 · 0 评论 -
定义自己的dialog
<br /> <br />onCreate(Bundle bundle){Window theWindow = getWindow();theWindow.setGravity(Gravity.BOTTOM | Gravity.FILL_HORIZONTAL);//window是 每个view都有一个window来控制,通过Window来和底层通讯设置当前窗口的Gravity为 底部&水平filltheWindow.requestFeature(Window.FEATURE_NO_TIT原创 2011-02-23 10:12:00 · 649 阅读 · 0 评论 -
widget 的问题--Intent的竟然传不了值
偶发现widget中的pendingIntent = PendingIntent.getService(context,0 /* no requestCode */, intent, 0 /* no flags */);其中的Intent的竟然传不了值,郁闷啊!后来用 下面的方法解决了写了个 Class extend Application{}然后在getAppliction().来存储相应的东西!原创 2011-03-08 15:26:00 · 1072 阅读 · 0 评论 -
Canvas的save和restore
onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?❑ save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。❑ restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比sa原创 2010-10-14 14:41:00 · 1080 阅读 · 0 评论 -
Graphics-----ColorFilter
1.使用ColorFilterMaskFilter是对一个Paint的alpha通道的转换,而ColorFilter则是对每一个RGB通道应用转换 。所有由ColorFilter所派生的类在执行它们的转换时,都会忽略alpha通道。Android包含三个ColorFilter:ColorMatrixColorFilter 可以指定一个4×5的ColorMatrix并将其应用到一个Paint中。ColorMatrixes通常在程序中用于对图像进行处理 ,而且由于它们支持使用矩阵相乘的方法来执行链接转换,所以转载 2010-10-14 17:32:00 · 3191 阅读 · 0 评论 -
android UI相关
<br />一、Canvas类android.graphics.Canvas<br />Canvas类好比手机中的画纸,我们可以在Canvas上画图形或者图像。一般我们用android来绘画的时候,需要四个组成部分:<br />1、位图:包含像素<br />2、Canvas画板:包含绘画内容,写入位图<br />3、初始图形:如Rect、Bitmap、text等<br />4、Paint:用来描述上面初始图形的颜色和类型等<br />Canvas类提供了三个构造方法:<br />Public Canvas(转载 2010-10-15 11:12:00 · 5231 阅读 · 0 评论 -
Graphics---FingerPaint (MaskFilter)
<br /><br />使用MaskFilter<br />MaskFilter类可以为Paint分配边缘效果。<br />对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。Android包含了下面几种MaskFilter:<br />BlurMaskFilter 指定了一个模糊的样式和半径来处理Paint的边缘。<br />EmbossMaskFilter 指定了光源的方向和环境光强度来添加浮雕效果。<br />要应用一个MaskFilter,可以使用setMaskFil转载 2010-10-15 11:58:00 · 2276 阅读 · 0 评论 -
Crop Code 分析
mCropRect.offset(dx, dy);//开始不管怎样都偏移这么多。dx,dy那么多. // Put the cropping rectangle inside image rectangle. mCropRect.offset( Math.max(0, mImageRect.left - mCropRect.left), Math.max(0, mImageRect.top - mCrop原创 2010-10-27 15:11:00 · 815 阅读 · 0 评论 -
一些小技巧
对应的IO流都可以用下面代码来close. public static void closeSilently(Closeable c) {//close all the stream. if (c == null) return; try { c.close(); } catch (Throwable t) { // do nothing } } copy新的image时原创 2010-10-29 10:25:00 · 1071 阅读 · 0 评论 -
ANDROID的MANIFEST.XML文件字段解析
android:allowTaskReparenting是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。android:alwaysRetainTaskState是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态android:clearTaskOnLanunch比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Qandroid:confi转载 2010-11-25 10:58:00 · 722 阅读 · 0 评论