当前位置: 代码迷 >> Android >> 如何使用sqlite的blob存储.mp3
  详细解决方案

如何使用sqlite的blob存储.mp3

热度:487   发布时间:2016-05-01 22:20:39.0
怎么使用sqlite的blob存储.mp3
急,,,,,

------解决方案--------------------
package com.misoo.SQ01;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;

public class ac01 extends Activity implements OnClickListener{
private static final String DB_NAME = "mp3Song.db";
private static final int DB_VERSION = 2;
private Button btn, btn2, btn3;
private Cursor cur;
private MediaPlayer mPlayer; 

private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);

btn = new Button(this);
btn.setId(101);
btn.setText("play");
btn.setBackgroundResource(R.drawable.heart);
btn.setOnClickListener(this);
LinearLayout.LayoutParams param 
= new LinearLayout.LayoutParams(80, 50);
param.topMargin = 10;
layout.addView(btn, param);

btn2 = new Button(this);
btn2.setId(102);
btn2.setText("stop");
btn2.setBackgroundResource(R.drawable.heart);
btn2.setOnClickListener(this);
layout.addView(btn2, param);

btn3 = new Button(this);
btn3.setId(103);
btn3.setText("exit");
btn3.setBackgroundResource(R.drawable.heart);
btn3.setOnClickListener(this);
layout.addView(btn3, param);
setContentView(layout);
setTitle("Saving into SQliteDB...");
//---------------------------------
init();
setTitle("Saved in SQliteDB.");
}
private DatabaseHelper mOpenHelper;
public void init(){
mOpenHelper = new DatabaseHelper(this);
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
//-----------------------------------
String sql = "drop table mySong";
try {
db.execSQL(sql);
} catch (SQLException e) {
Log.e("ERROR", e.toString());
}
//-----------------------------------
sql = "create table mySong("
+ "song_no text not null, "
+ "song_mp3 blob );";
try {
db.execSQL(sql);
} catch (SQLException e) {
Log.e("ERROR", e.toString());
return;
}
//--------------------------------- 
SaveOneSong(db,"s01", R.raw.den_li_guing); 
}
public void SaveOneSong(SQLiteDatabase db, String key, int rid){
ContentValues cv = new ContentValues();
cv.put("song_no", key);

InputStream is = getResources().openRawResource(rid);
  相关解决方案