Как сохранить аудио / видео файл в базе данных SQLite в Android?

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

 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();
}

В приведенном выше коде я беру изображение с SD-карты и отображаю в ImageView и сохраняю в БД.


person chethankumar    schedule 15.01.2016    source источник


Ответы (1)


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

см. Сохранение файлов

person Renaud Favier    schedule 15.01.2016
comment
Пожалуйста, не размещайте ссылку в качестве ответа. В будущем ссылка может измениться, что сделает этот ответ бесполезным. - person Prerak Sola; 15.01.2016
comment
Вы правы, но я не могу ничего лучше. Все, что я могу сделать, это подавить это предложение - person Renaud Favier; 15.01.2016
comment
Renaud благодарит вас за ваш повтор, вы можете мне помочь, отправив любой пример кода для этого ... - person chethankumar; 15.01.2016
comment
где находятся аудио / видео файлы? как их получить? с селектором, подобным вашему примеру изображения? - person Renaud Favier; 15.01.2016
comment
Аудиофайлы расположены на SD-карте, любым способом с помощью селектора или путем указания пути к аудиофайлу. (лучше от селекционера). - person chethankumar; 15.01.2016