0
첫 활동에서 내 장치에 내 장치 SD 카드에있는 노래를 저장하는 데이터베이스를 만들었습니다. 나는 그 모든 노래를 하나씩 연주하고 싶다. 버튼을 클릭하면 첫 번째 활동의 데이터베이스에 저장된 노래를 재생할 때 다른 활동에서 재생 버튼이 있습니다.안드로이드에있는 다른 활동의 데이터베이스에서 데이터를 가져 오는 방법
이제 데이터베이스를 만들고 노래를 저장했지만 해당 데이터베이스에서 노래를 가져 오는 것을 모릅니다. 내가 노래 목록을 저장하는 곳 는 다음
private Handler songsDatabase = new Handler()
{
public void handleMessage(Message msg)
{
File extStore = Environment.getExternalStorageDirectory();
Log.e("location",""+extStore);
System.gc();
final String[] proj = { MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.SIZE };
Log.e("media",""+proj.length);
musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, null, null, null);
Log.e("media1",""+musiccursor);
SQLiteDatabase db;
db = openOrCreateDatabase("TestData.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
final String CREATE_TABLE_COUNTRIES ="CREATE TABLE IF NOT EXISTS songs (bpm INTEGER,songname TEXT);";
db.execSQL(CREATE_TABLE_COUNTRIES);
Log.e("media","table created");
ContentValues values = new ContentValues();
cursor=managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, null, null, null);
while(cursor.moveToNext())
{
// Long duration = cursor.getLong(cursor.getColumnIndex(AudioColumns.DURATION));
// String data = cursor.getString(cursor.getColumnIndex(MediaColumns.DATA));
String title = cursor.getString(cursor.getColumnIndex(MediaColumns.DISPLAY_NAME));
values.put("bpm", 0);
values.put("songname", title);
db.insert("songs", null, values);
// handle song here
}
Log.e("media","insered");
Cursor cx = db.rawQuery("select * from songs" , null);
if (cx != null)
{
if (cx.moveToFirst())
{
do
{
int bpm=cx.getInt(0);
String songname =cx.getString(1);
Log.e("songs","bpm "+bpm+" songname "+songname);
}while (cx.moveToNext());
}
}
// Log.e("sql","counter" +counter);
db.close();
}
};
가이 작업을 수행하는 방법을 .... 말하기 나에게
일반적으로
데이터를 저장하는 데 사용하는 코드를 붙여 넣으십시오. 데이터를 다시 검색하는 방법을 쉽게 알려줍니다. – Cristian
이 줄 뒤에 커서 cx = db.rawQuery ("select * from songs", null); 커서 수를 cx.getCount()로 확인하십시오. – Venky