私はmysqlでデータベースを作成し、それにブロブとしてビデオを追加しました。私は今、データベースに接続し、彼らのIDに基づいてそれらを再生することによって、私のアンドロイドアプリケーションでこれらのビデオを再生する方法を把握しようとしています。私はこれをどうやってやるのか、どこから始めたらいいのか分からない。私はオンラインで見ましたが、mysqlデータベースからビデオを再生する方法のチュートリアルはありません。誰かがこれを行う方法に関する有用なチュートリアルを知っていれば、本当に役立つでしょうか、それとも私に説明することができますか?androidのmysqlデータベースからビデオを再生する方法
私は既にデータベースに情報を取得して投稿する方法を理解するために、基本的なログインアンドロイドアプリを作成しようとしました。以下はそのコードです。しかし、私が言ったように、私はデータベースからビデオを再生する方法を見つけることができるチュートリアルはありません。ですから、誰かが私にこのコードを変更して、データベースからビデオをダウンロードする方法を教えてくれれば、それは非常に役に立ちます。
public class MainActivity extends AppCompatActivity {
EditText ET_NAME,ET_PASS;
String login_name, login_pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ET_NAME = (EditText)findViewById(R.id.user_name);
ET_PASS = (EditText)findViewById(R.id.user_pass);
}
public void userLogin(View view){
login_name = ET_NAME.getText().toString();
login_pass = ET_PASS.getText().toString();
String method = "login";
BackgroundTask backgroundTask = new BackgroundTask(this);
backgroundTask.execute(method, login_name,login_pass);
}
}
public class BackgroundTask extends AsyncTask<String, Void, String> {
Context context;
AlertDialog alertDialog;
BackgroundTask(Context context){
this.context = context;
}
@Override
protected void onPreExecute() {
alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("login info...");
}
@Override
protected String doInBackground(String... params) {
String login_url = "http://192.168.157.1/login.php";
String method = params[0];
if(method.equals("login")){
String login_name = params[1];
String login_pass = params[2];
try {
URL url = new URL(login_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data = URLEncoder.encode("login_name", "UTF-8")+"="+URLEncoder.encode(login_name,"UTF-8")+"&"+
URLEncoder.encode("login_pass", "UTF-8")+"="+URLEncoder.encode(login_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String response = "";
String line = "";
while((line = bufferedReader.readLine()) != null){
response += line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return response;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
alertDialog.setMessage(result);
alertDialog.show();
}
}
データベースにファイルを保存しないでください。 http://stackoverflow.com/a/41235395/267540 画像を保存するには不十分ですが、動画を保存するとはるかに悪くなります – e4c5
データベースに小さなファイル(それぞれ<100k)を保存するのは、一般的ではないにしても大丈夫です。現在のところ大きなものは悪い考えです。 – Strawberry