sqlite
はできません。 server
にデータベースを作成する必要があります。あなたはmysql
、oracle
などを使用することができますそのサーバーのためn
の生徒の数にアクセスすることができます。
新しい情報やデータをユーザーに提供するために、Androidアプリがインターネットからデータを取得する必要が何度もあります。あなたのアプリがこれを達成するためのさまざまな方法があります。自分でweb
service/API
を設定することもできますし、既に存在するservice/API
からフェッチすることもできます。
1)
API
からデータを取得する幸いなことに、AsyncTask
というクラスがあります。 Android documentation
から、AsyncTaskは、バックグラウンド操作の実行を許可し、スレッドとハンドラを操作することなくUIスレッドに結果を公開することにより、UI thread
の適切で簡単な使用を容易にします。簡単に言って、AsyncTask
はすべての複雑さを処理します。 AsyncTask
の機能を利用するために
2)
、あなたはそれをサブクラス化し、Params
、Progress
とResult
と呼ばれる3つのジェネリック型を、提供しなければなりません。 Paramsはタスクに解析されるパラメータを指し、Progress
は進捗インジケータ/カウンタタイプを指し、Resultはタスクの完了時に返されるものです。 AsyncTaskにはonPreExecute
(高価なタスクが始まる前に何をするか)、doInBackground
(実際の高価な操作がここに入ります)、onProgressUpdate
(進捗を表示するために何を行うか)、そしてonPostExecute
)。
class RetrieveFeedTask extends AsyncTask<Void, Void, String> {
private Exception exception;
protected void onPreExecute() {
progressBar.setVisibility(View.VISIBLE);
responseView.setText("");
}
protected String doInBackground(Void... urls) {
String email = emailText.getText().toString();
// Do some validation here
try {
URL url = new URL(API_URL + "email=" + email + "&apiKey=" + API_KEY);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
bufferedReader.close();
return stringBuilder.toString();
}
finally{
urlConnection.disconnect();
}
}
catch(Exception e) {
Log.e("ERROR", e.getMessage(), e);
return null;
}
}
protected void onPostExecute(String response) {
if(response == null) {
response = "THERE WAS AN ERROR";
}
progressBar.setVisibility(View.GONE);
Log.i("INFO", response);
responseView.setText(response);
}
}
Read
この機能を使用するには、このチュートリアル:http://www.androidauthority.com/use-remote-web-api-within-android-app-617869/
はまた、このマニュアルを参照してください:http://developer.android.com/reference/android/os/AsyncTask.html
はいSQLiteは、ローカル・データベースです。すべてのユーザーに共通のデータベースが必要な場合は、たとえばmysqlデータベースを使用します。 – xNeyte
他のデバイスでSQLiteにアクセスできません –