Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bisakah Aplikasi Android terhubung langsung ke database mysql online

Ya, Anda bisa melakukannya.

Bahan yang Anda butuhkan:

  1. Server Web
  2. Basis Data yang Disimpan di server web
  3. Dan sedikit pengetahuan android :)
  4. 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 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Otomatisasi untuk Mempercepat Tes Rilis di Galera Cluster Dengan ClusterControl

  2. Di mana Klausa Untuk Memfilter Baris di MySQL

  3. Bagaimana cara saya lolos % dari permintaan python mysql

  4. Bagaimana saya bisa menemukan karakter non-ASCII di MySQL?

  5. Cara Mendapatkan Kencan Kemarin di MySQL