Java — Android-устройство, подключенное к серверу MySQL

В настоящее время я работаю над приложением для Android, которое должно загружать все из онлайновой базы данных MySQL, которая затем будет храниться локально с использованием SQLite, встроенного в Android.

Проблема, с которой я сталкиваюсь в данный момент, заключается в подключении устройства 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? Любая помощь будет принята с благодарностью, даже если это просто ссылки на полезные блоги или учебные пособия!

-1

Решение

Следуйте этим учебникам для подключения к MySQL DB и создания API, который вы можете использовать для получения данных.

Чтобы подключиться к БД и создать 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/

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector