2017-02-20 7 views
-1

私は現在、オンラインmySQLデータベースからすべてをダウンロードする必要があるアンドロイドアプリを開発中です。これらのすべては、アンドロイドに組み込まれたSQLiteを使用してローカルに保存されます。Androidデバイスがmysqlサーバに接続されています

私が現時点で直面している問題は、Androidデバイスからサーバーに接続することです。私はまだ情報を引き出す方法を考え出していない。

import android.app.ProgressDialog; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 

import org.apache.http.NameValuePair; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import static android.content.ContentValues.TAG; 

public class LoginWorker { 

JSONParser jParser = new JSONParser(); 

ArrayList<HashMap<String, String>> usersList; 

private static String url_all_users = "http://localhost/get_user_login.php"; 

private static String TAG_SUCCESS = "success"; 
private static String TAG_USERS = "users"; 
private static String TAG_EMAIL = "email"; 
private static String TAG_PASSWORD = "password"; 

JSONArray users = null; 

public void onCreate(){ 
    System.out.print("Login worker onCreate started"); 
    usersList = new ArrayList<HashMap<String, String>>(); 

    HashMap<String, String> map = new HashMap<>(); 
    map.put("test","test"); 

    usersList.add(map); 

    Log.d(TAG, "onCreate: LoadAllUsers Running now"); 

    new LoadAllUsers().execute(); 

} 

class LoadAllUsers extends AsyncTask<String, String, String>{ 

    protected void onPreExecute(){ 
     super.onPreExecute(); 
    } 

    protected String doInBackground(String... args){ 

     Log.d(TAG, "doInBackground: Start of method"); 

     List<NameValuePair> params = new ArrayList<NameValuePair>(); 

     JSONObject json = jParser.makeHttpRequest(url_all_users, "GET", params); 



     try { 
      int success = json.getInt(TAG_SUCCESS); 

      if (success == 1) { 
       users = json.getJSONArray(TAG_USERS); 

       for (int i = 0; i < users.length(); i++) { 
        JSONObject c = users.getJSONObject(i); 

        String password = c.getString(TAG_PASSWORD); 
        String email = c.getString(TAG_EMAIL); 

        HashMap<String, String> map = new HashMap<String, String>(); 

        map.put(TAG_EMAIL, email); 
        map.put(TAG_PASSWORD, password); 

        usersList.add(map); 
       } 
      } else { 
       Log.d("doInBackground : ", "No user found"); 
      } 
     }catch(JSONException e){ 
       e.printStackTrace(); 
      } 
     return null; 
     } 

    protected void onPostExecution(){} 
} 

これは私が取り組んでいるコードの例です(ユーザーログインの場合)。 JSONとPHPを使わずに簡単にこの接続を行う方法はありますか?便利なブログやチュートリアルへのリンクであっても、どんな助けでも大歓迎です!

答えて

0

これらのチュートリアルに沿って、mysql dbに接続し、uを使ってデータを取得するためのAPIを作成します。

は、DBに接続し、APIを作成するには、次の

https://www.simplifiedcoding.net/php-restful-api-framework-slim-tutorial-1/ https://www.simplifiedcoding.net/create-chat-app-for-android-using-gcm-1/

APIを作成した後、あなたは、APIからデータを取得するために改造を使用することができます。

http://www.androidhive.info/2016/05/android-working-with-retrofit-http-library/

関連する問題