2017-01-21 15 views
0

私は現在、私の教会のAndroidスタジオにモバイルアンドロイドアプリを作成しています。
私のアプリは基本的に聖書が私の説教者からmp3オーディオの説明にリンクされている聖書です。しかし、私は、ユーザーの電話にローカルに保存されたこれらのmp3ファイルを保存するのか、それともデータベースに保存するのかはわかりません。mp3ファイルをデータベースに保存しますか?

私はデータベースに関するいくつかのことを読んで、SQLiteは良いと知っていましたが、データベースをローカルに格納していましたが、これは私が望んでいないものです。

どうすればこの問題を解決できますか?
聖書のすべての詩は、私の説教者の特定のmp3オーディオ説教/説明にリンクしています。

+0

あなたはmp3ファイルをオンラインで保存したいと言っていますか? –

+0

はい、それが最善の選択です。 mp3ファイルはどれくらい重くなるのか分かりませんが、非常に重くて重いアプリケーションを作るのは理想的ではないと思います。 – TheMathNoob

+0

私はFirebase Storageを使うことにします。 https://firebase.google.com/docs/storage/android/upload-filesそれほど難しいことではありません。 –

答えて

1

リレーショナルデータベースは、必ずしも実際のファイルを格納するものではありません。確かに、BLOBバイナリ型を格納できますが、私はそれを提案しません。これがファイルサーバーの目的です。たとえば、Amazon S3、Firebase Storageなどです。

URLをファイルにデータベースに保存できますが、実際のファイルをリモートシステムに保存して、アプリケーションのサイズを小さくします。

ディスク上のリソースを、ユーザーが前記パッセージを読み込んだときに遅延させてキャッシュすることも、システムをストリームするように設定することもできます。それは、デバイスごとに一度ファイル全体をダウンロードするだけではなく、もっと多くの努力を必要とします。

+0

こんにちは、今私は自分がしなければならないことのアイデアを得ました。私はいくつかのオンラインストレージに自分のmp3ファイルを保存するつもりですし、私は自分のアプリで各mp3ファイルへのリンクを使用するつもりですが、私はそのXDを行う方法がわかりません。このようなタスクを実行するために使用するサーバーはどれですか? – TheMathNoob

+0

私は1つのシステムを推薦することはあまりありません。 Firebaseはある程度のスペースがあれば無料です。 Amazon S3はコストがかかります。どちらもAndroid APIとREST APIの機能を備えています。あなたは既に上記のコメントの中でFirebase Storageへのリンクを手に入れました –

2

詳細はあまりにも少ないと思います。私が質問を正しく理解していれば、これを実装する最善の方法は、あなたが望むmp3をサーバーにアップロードし、アンドロイドのアプリケーションでサーバーからファイルを再生することです(ウェブにリクエストしてください)。この場合、mp3の名前とサーバーからこのファイルへのリンクのみをデータベースに保存します。

mp3をbase64に変換し、SQLiteでテキストデータ型として保存することができます(base64文字列の長さが256文字を超える場合があります)。必要に応じてデコードすることもできますが、ホスティングよりもはるかに時間がかかりますすべてをクラウドにする

try { 
MediaPlayer player = new MediaPlayer(); 
player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
player.setDataSource("http://xty/MRESC/images/test/xy.mp3"); 
player.prepare(); 
player.start();  
} catch (Exception e) { 
// TODO: handle exception 
} 
+0

こんにちは、今私は自分がしなければならないことのアイデアを得ました。私はいくつかのオンラインストレージに自分のmp3ファイルを保存するつもりですし、私は自分のアプリで各MP3ファイルにリンクされたリンクを使用するつもりですが、私はそのXDを行う方法がわかりません。このようなタスクを実行するために使用するサーバーはどれですか? – TheMathNoob

+0

私はあまり経験はありませんが、モバイルアプリ用に開発されたGoogle Firebaseについて読むことができます(両方のiOSとAndroidと互換性があります)。ここでは、ファイルをホストしたり、データベースをホストしたり、アナリティクスを参照したり、認証システムを使用したりすることができます。オンラインでドキュメントを読むことも、チュートリアルを探すこともできます。私はこれがあなたの質問を解決するための最良のものだと思います。 –

+0

Dropboxはどうですか? – TheMathNoob

関連する問題