OkHttp — Android получает данные из базы данных MySQLJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 OkHttp — Android получает данные из базы данных MySQL

Сообщение Anonymous »

Привет, я новичок в разработке Android и сейчас пытаюсь установить соединение со своей базой данных, чтобы иметь возможность работать с данными на своем телефоне.

Я использую OkHttp и mysqli с php.

Я написал обработчик, который обращается к страницам .php и выполняет вызовы базы данных.

public class OkHttpHandler extends AsyncTask {

private OkHttpClient client = null;

public String latestMessage = "";

public OkHttpHandler(){

client = new OkHttpClient();
}

@Override
protected String doInBackground(String... params) {
Request.Builder builder = new Request.Builder();
builder.url(params[0].toString());
Request request = builder.build();

try{
Response response = client.newCall(request).execute();
latestMessage = response.body().string();
return response.body().string();
} catch(Exception e){
e.printStackTrace();
}

//latestMessage = "failed";
return null;
}


И я хочу сделать что-то вроде этого:

public int getSongwriterId(String songwriter) {
OkHttpHandler okHttpHandler = new OkHttpHandler();
okHttpHandler.execute(url_get_songwriter_id + "?songwriter=" + songwriter);
String responseString = "";
while(responseString == "") {
responseString = okHttpHandler.latestMessage;
}
okHttpHandler.cancel(true);
Songwriter s = getSongwriterFromJSON(responseString);

return s.getId();
}


Теперь я знаю, что это уродливое while(true) — дерьмовое решение. Но как мне это сделать, чтобы я был на 100% уверен, что получил строку ответа до того, как передать ее в "getSongwriterFromJSON"?
Я действительно не понимаю, как это должно работать.

Код работает нормально, когда я отлаживаю его шаг за шагом, но приложение время от времени просто выдает черный экран без отладки. Я предполагаю, что это из-за цикла while(true), который, вероятно, просто запускается и запускается, и тактирует поток, так что мой фоновый поток просто умирает - я действительно больше не знаю.

Пожалуйста, если вы оказываете помощь, объясните, что я делаю неправильно и как мне следует поступить правильно. Спасибо.

Отредактируйте используемый php-файл:



Подробнее здесь: https://stackoverflow.com/questions/439 ... l-database
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»