摘要: package com.example.voicerecord;import java.io.File;import java.io.IOException;import android.media.MediaPlayer;import android.media.MediaRecorder;imp... 阅读全文
posted @ 2013-09-29 16:57 火小邪123 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 用soundpool可以播一些短的反应速度要求高的声音, 比如游戏中的爆破声,而mediaplayer适合播放长点的。 1. SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里如果音效文件过大没有载入完成,我们调用play方法时可能产生严 重的后果,这里Android SDK提供了一个SoundPool.OnLoadCompleteListener类来帮助我们了解媒体文件是否载入完成,我们重载 onLoadComplete(SoundPool soundPool, int sampleId, int status) 方法即可获得。 2. 从上面的onLoadCo 阅读全文
posted @ 2013-09-29 15:28 火小邪123 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。MediaPlayer的生命周期这张状态转换图清晰的描述了 MediaPlayer 的各个状态,也列举了主要的方法的调用时序,每种方法只能在一些特定的状态下使用,如果使用时 MediaPlayer 的状态不正确则会引发 IllegalStateException 异常 。 Idle 状态: 当使用 new() 方法创建一个 MediaPlayer 对象或者调用了其 reset() 方法时,该 MediaPlayer 对象 阅读全文
posted @ 2013-09-29 14:50 火小邪123 阅读(603) 评论(0) 推荐(0) 编辑
摘要: SQLiteDatabase是Android SDK中操作数据库的核心类之一。使用SQLiteDatabase可以打开数据库,也可以对数据库进行操作。然而为了数据库升级的需要以及使用更方便,往往使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种数据库操作。 SQLiteOpenHelper是个抽象类,在该类中有如下两个抽象方法,SQLiteOpenHelper的子类必须实现这两个方法。 public abstract void onCreate(SQLiteDatabase db); public abstract void onUpdate(SQLiteDatabase 阅读全文
posted @ 2013-09-27 15:51 火小邪123 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 写这个小程序的时候有三个问题困扰了我。1.数据库中创建表 最开始的时候我是这么创建表的:String sql = "create table MyTable(_id integer primary key autoincrement,username text,password text)"; 然后发现经常报出MyTable已存在的错,这才意识到这样创建表会导致每次进入程序都会创建一下这个已经存在的表。 于是将sql改成了:String sql = "create table IF NOT EXISTS MyTable(_id integer primary ke 阅读全文
posted @ 2013-09-27 15:38 火小邪123 阅读(495) 评论(0) 推荐(0) 编辑
摘要: BroadcastReceiver基本概念 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对程序中发送出来的Broadcast进行过滤接受并响应的一类组件。如何使用BroadcastReceiver 1.首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 sendOrderBroadcast()、sendStickyBroadcast()方法或者sendBroadcast()方法,把 Intent对象以广播方式发送出去。 2.当Int... 阅读全文
posted @ 2013-09-25 15:56 火小邪123 阅读(290) 评论(0) 推荐(0) 编辑