3

Являясь новым для разработки, я успешно сохраняю изображения в базе данных, преобразовывая изображения в массив байтов и сохраняя их в базе данных SQLite в BLOB (найти код ниже). Но я не получает, как хранить аудио в/видео-й в БД любые один помочь мне PLZ ...Как сохранить аудио/видео файл в базу данных SQLite в Android.

public void getImage(View view){ 
    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    intent.setType("image/* video/*"); 
    startActivityForResult(Intent.createChooser(intent, "select picture"), 1); 

} 

public void onActivityResult(int requestCode, int resultCode, Intent data){ 
    if(resultCode == RESULT_OK){ 
     Uri imageUri = data.getData(); 
     String imagePath = getPath(imageUri); 

     image1.setVisibility(View.VISIBLE); 

     image1.setImageURI(imageUri); 
     Bitmap bitmap = BitmapFactory.decodeFile(imagePath); 
     Toast.makeText(getApplicationContext(), ""+bitmap, Toast.LENGTH_SHORT).show(); 
     ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); 
     img = byteArrayOutputStream.toByteArray(); 
    } 
} 

public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

public void saveImage(View v){ 

    imageDatabase = new ImageDatabase(this); 

    imageDatabase.insert("first",img); 

    Toast.makeText(getApplicationContext(), ""+imageDatabase.numberOfRows(),Toast.LENGTH_LONG).show(); 
} 

В коде выше везет изображение из SDCard и отображение в ImageView и хранение в БД.

ответ

2

Храните медиафайлы во внутреннем/внешнем хранилище и храните путь к нему в своей базе данных.

см. Saving Files

+0

Пожалуйста, не оставляйте ссылку в качестве ответа. В будущем может измениться ссылка, которая сделает этот ответ бесполезным. –

+0

Вы правы, но я не могу сделать лучше. Все, что я могу сделать, это подавить это sentense –

+0

Renaud благодарит за ваш повтор, вы можете помочь мне, отправив код для этого кода ... –