Ya, Anda bisa melakukannya.
Bahan yang Anda butuhkan:
- Server Web
- Basis Data yang Disimpan di server web
- Dan sedikit pengetahuan android :)
- Layanan web (json ,Xml...etc) apa pun yang Anda sukai
1. Pertama-tama atur izin internet di file manifes Anda
<uses-permission android:name="android.permission.INTERNET" />
2. Buat kelas untuk membuat HTTPRequest dari server (saya menggunakan json parisng untuk mendapatkan nilai)
misalnya:
public class JSONfunctions {
public static JSONObject getJSONfromURL(String url) {
InputStream is = null;
String result = "";
JSONObject jArray = null;
// Download JSON data from URL
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
// Convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
try {
jArray = new JSONObject(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return jArray;
}
}
3. Di MainActivity
. Anda Buat objek dari kelas JsonFunctions
dan berikan url sebagai argumen dari mana Anda ingin mendapatkan data
misalnya:
JSONObject jsonobject;
jsonobject = JSONfunctions.getJSONfromURL("http://YOUR_DATABASE_URL");
4. Dan akhirnya baca jsontags dan simpan nilainya dalam daftar array dan kemudian tampilkan di tampilan daftar jika Anda mau
dan jika Anda memiliki masalah, Anda dapat mengikuti blog ini. Dia memberikan tutorial android yang luar biasa AndroidHive
Karena jawaban di atas yang saya tulis sudah lama dan sekarang HttpClient
, HttpPost
,HttpEntity
telah dihapus di Api 23. Anda dapat menggunakan kode di bawah ini di build.gradle(app-level) untuk tetap menggunakan org.apache.http
dalam proyek Anda.
android {
useLibrary 'org.apache.http.legacy'
signingConfigs {}
buildTypes {}
}
atau Anda dapat menggunakan HttpURLConnection
seperti di bawah ini untuk mendapatkan tanggapan Anda dari server
public String getJSON(String url, int timeout) {
HttpURLConnection c = null;
try {
URL u = new URL(url);
c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("Content-length", "0");
c.setUseCaches(false);
c.setAllowUserInteraction(false);
c.setConnectTimeout(timeout);
c.setReadTimeout(timeout);
c.connect();
int status = c.getResponseCode();
switch (status) {
case 200:
case 201:
BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
br.close();
return sb.toString();
}
} catch (MalformedURLException ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
} finally {
if (c != null) {
try {
c.disconnect();
} catch (Exception ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
}
}
}
return null;
}
atau Anda dapat menggunakan Perpustakaan pihak ketiga seperti Volley
, Retrofit
untuk memanggil api layanan web dan mendapatkan respons dan kemudian menguraikannya dengan menggunakan FasterXML-jackson
, google-gson
.