Merhaba Ahmet, HttpClient veya HttpUrlConnection kullanmana gerek yok bunun için https desteği de veren Volley kütüphanesi var. Bu kütüphaneyle json verileri alıp gönderebilirsin (POST, GET). Örneğin aşağıdaki örnekte ben vertabanından verileri bir php script ile çekip json' a dönüştürüyorum. Sonra gelen veriyi MyFactory sınıfımda parse ediyorum.
Volley: https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-301/verileri-volley-ile-transfer-etmek
kullanici_giris.php
<?php
header('Content-type:application/json;charset=utf-8'); //php Türkçe karakter için
/*
*/
include 'conn.php';
//veritabanına bağlanır.
$con= mysqli_connect($host, $user, $pass, $db);
//android'ten gelen veriyi alır.
$json = file_get_contents('php://input');
$obj = json_decode($json);
//veriyi ayıklar.
$f_kul_adi = $obj->{'kul_adi'};
$f_kul_sifre = $obj->{'kul_sifre'};
//sql sorgumuz
$sql = "
SELECT * FROM kullanicilar
WHERE kul_adi='$f_kul_adi' AND kul_sifre='$f_kul_sifre';
";
//gerekli değişkenler
$data = array();
$kul_id;
$kul_adi;
$kul_sifre;
$state;
$error;
if(mysqli_connect_errno()){//bağlantı hatalıysa
$state = "mysqli_connect_error";
$error = mysqli_connect_error();
}else{//bağlantı başarılıysa
mysqli_set_charset($con,"utf8");
if($result = mysqli_query($con, $sql)){ //sorgu başarılıysa
if(mysqli_num_rows($result) > 0){ //sorgu sonucunda bir kayıt döndüyse
$row = mysqli_fetch_array($result);
$state = "login_successful";
$error = mysqli_error($con);
$kul_id = $row[0];
$kul_adi = $row[1];
$kul_sifre = $row[2];
}else if(mysqli_num_rows($result) == 0){ //sorgu sonucunda bir kayıt dönmediyse
$state = "login_failed";
$error = mysqli_error($con);
}
}else{ //sorgu başarısızsa
$state = "mysqli_error";
$error = mysqli_error($con);
}
}
array_push($data, array("error"=>$error, "state"=>$state, "kul_id"=>$kul_id, "kul_adi"=>$kul_adi, "kul_sifre"=>$kul_sifre));
echo json_encode(array("data"=>$data), JSON_UNESCAPED_UNICODE);
mysqli_close($con);
?>
{
"data": [{
"kul_id": "1",
"kul_adi": "Serdar",
"kul_sifre": "12345",
"state": "login_successful",
"error": ""
}]
}
VolleyResponseUretenSınıf.java
//kullanıcı sisteme giriş.
public static void responseUserGiris(final Context context, String... params) {
//gerekli değişkenler
RequestQueue requestQueue;
requestQueue = Volley.newRequestQueue(context);
////servera içerik gönderilecekse///////////////////////////////
Map<String, String> contentParams = new HashMap<>();
contentParams.put(Tables.oyun_kullanicilar.kul_adi, params[0]);
contentParams.put(Tables.oyun_kullanicilar.kul_sifre, params[1]);
JSONObject content = new JSONObject(contentParams);
///////////////////////////////////////////////////////////////
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
Request.Method.POST,
Url.kullanici_giris, content,
new ResponseListener(){
@Override
public void onResponse(JSONObject response) {
Log.i(TAG, "onResponse");
MyFactory.buildUserGiris(response);
}
},
new ResponseErrorListener()
);
requestQueue.add(jsonObjectRequest);
}
MyFactory.java
//kullanıcı sisteme giriş.
public static void buildUserGiris(JSONObject response) {
if (response.length() > 0) {
int count = 0;
try {
JSONArray dataArray = response.getJSONArray(Tables.data);
while (count < dataArray.length()) {
JSONObject JO = dataArray.getJSONObject(count);
String state = JO.getString(Php.state);
String error = JO.getString(Php.error);
if (state.equals(Php.login_successful)) {
User user = MainActivity.user;
user.setKul_id(JO.getString(Tables.oyun_kullanicilar.kul_id));
user.setKul_adi(JO.getString(Tables.oyun_kullanicilar.kul_adi));
user.setKul_sifre(JO.getString(Tables.oyun_kullanicilar.kul_sifre));
Log.i(TAG, state);
MainActivity.preferences.kulAdiSifreKaydet(user.getKul_id(), user.getKul_adi(), user.getKul_sifre());
MainActivity.pm.initEntryPages();
}
if (state.equals(Php.mysqli_connect_error)) {
Log.i(TAG, state + ": " + error);
} else if (state.equals(Php.mysqli_error)) {
Log.i(TAG, state + ": " + error);
} else if (state.equals(Php.login_failed)) {
Log.i(TAG, state);
MainActivity.pm.speak("kullanıcı adı veya şifreniz hataalı.", "ID_login_failed");
}
count++;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}