Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या कोई Android ऐप सीधे किसी ऑनलाइन mysql डेटाबेस से कनेक्ट हो सकता है?

हाँ, आप ऐसा कर सकते हैं।

आपके लिए आवश्यक सामग्री:

  1. वेबसर्वर
  2. वेबसर्वर में संग्रहीत एक डेटाबेस
  3. और Android का थोड़ा सा ज्ञान :)
  4. वेबसर्विसेज (जेसन, एक्सएमएल...आदि) जो कुछ भी आप सहज महसूस करते हैं

1. सबसे पहले अपनी मेनिफेस्ट फ़ाइल में इंटरनेट अनुमतियां सेट करें

 <uses-permission android:name="android.permission.INTERNET" />

2. सर्वर से HTTPRequest बनाने के लिए एक वर्ग बनाएं (मैं मान प्राप्त करने के लिए json parisng का उपयोग कर रहा हूं)

उदाहरण के लिए:

    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. आपके MainActivity . में क्लास का ऑब्जेक्ट बनाएं JsonFunctions और यूआरएल को एक तर्क के रूप में पास करें जहां से आप डेटा प्राप्त करना चाहते हैं

उदाहरण:

JSONObject jsonobject;

jsonobject = JSONfunctions.getJSONfromURL("http://YOUR_DATABASE_URL");

4. और फिर अंत में jsontags पढ़ें और मानों को एक सरणी सूची में संग्रहीत करें और बाद में यदि आप चाहें तो इसे सूचीदृश्य में दिखाएं

और यदि आपको कोई समस्या है तो आप इस ब्लॉग का अनुसरण कर सकते हैंवह उत्कृष्ट एंड्रॉइड ट्यूटोरियल देता है AndroidHive

चूंकि उपरोक्त उत्तर मैंने बहुत पहले लिखा था और अब HttpClient , HttpPost ,HttpEntity एपीआई 23 में हटा दिया गया है। आप अभी भी org.apache.http का उपयोग जारी रखने के लिए build.gradle(app-level) में नीचे दिए गए कोड का उपयोग कर सकते हैं आपके प्रोजेक्ट में।

android {
    useLibrary 'org.apache.http.legacy'
    signingConfigs {}
    buildTypes {}
}

या आप HttpURLConnection . का उपयोग कर सकते हैं सर्वर से अपनी प्रतिक्रिया प्राप्त करने के लिए नीचे की तरह

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;

}

या आप तृतीय पक्ष लाइब्रेरी जैसे Volley . का उपयोग कर सकते हैं , Retrofit webservice api को कॉल करने और प्रतिक्रिया प्राप्त करने के लिए और बाद में 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. MySQL:पंक्तियों की संख्या गिनने का सबसे तेज़ तरीका

  2. Neo4j - साइफर का उपयोग करके एक बाधा छोड़ें

  3. जॉइन करके किसी अन्य तालिका से गैर-मौजूदा डेटा कैसे खोजें?

  4. केकपीएचपी में एक मॉडल के लिए गतिशील रूप से एकाधिक डेटाबेस का उपयोग कैसे करें

  5. क्या MySQL में फ़ंक्शन-आधारित अनुक्रमणिका होना संभव है?