Selamun Aleyküm arkadaşlar Android Studio da bir proje yapacaktım pek bi kod bilgim yok ordan burdan bakarak yaptığım kod amacım uzak mysql a bağlanıp kullanıcı kayıt etmek ve login olmak. Yardımcı olursanız çok mutlu olurum çünkü yarım günüm gitti .
yazdığım kodlar:
aldığım hata : Value SQLSTATE of type java.lang.String cannot be converted to JSONArray
site php dosyasındaki kod:
Teşekkürler.
yazdığım kodlar:
Kod:
package com.mehmet_zerey_44outlook.linktlbot;
import android.os.Looper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.InputType;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.message.BufferedHeader;
import org.apache.http.params.HttpConnectionParams;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
EditText ab,bc,cd;
@Override
protected **** onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ab = (EditText) findViewById(R.id.editText);
bc = (EditText) findViewById(R.id.editText2);
cd = (EditText) findViewById(R.id.editText3);
Button buton = (Button)findViewById(R.id.button);
buton.setOnClickListener(new View.OnClickListener() {
@Override
public **** onClick(View v) {
gonder(ab.getText().toString(), bc.getText().toString(), cd.getText().toString());
}
});
}
public **** gonder(final String al,final String bl,final String cl) {
Thread t = new Thread(){
public **** run() {
Looper.prepare();
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(),5000);
HttpResponse response;
try {
HttpPost post = new HttpPost("http://parakayisi.com/yeni/kaydet.php");
List<NameValuePair> ekleneccekler = new ArrayList<NameValuePair>(2);
ekleneccekler.add(new BasicNameValuePair("ad", al));
ekleneccekler.add(new BasicNameValuePair("eposta", bl));
ekleneccekler.add(new BasicNameValuePair("metin", cl));
post.setEntity(new UrlEncodedFormEntity(ekleneccekler,"utf-8"));
String html = "";
response = client.execute(post);
if(response != null){
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb = new StringBuilder();
String satirlar = null;
try {
while((satirlar = reader.readLine()) != null ){
sb.append(satirlar + "\n");
}
}catch (IOException e){
e.printStackTrace();
}finally {
try {
in.close();
}catch (IOException e){
e.printStackTrace();
}
}
html = sb.toString();
JSONArray parcala = new JSONArray(html);
if (parcala.length() > 0){
JSONObject obj = parcala.getJSONObject(0);
if(obj.getBoolean("islem") != true){
Toast.makeText(MainActivity.this,"Bir sorun oluştu ve form gönderilemedi.",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this,"Form bize başarıyla ulaştı en yakın zamanda dönülecektir.",Toast.LENGTH_SHORT).show();
}
}
}
}catch (Exception e){
Log.e("Try-catch hatası:","Hata"+ e);
}
Looper.loop();
}
};
t.start();
}
}
aldığım hata : Value SQLSTATE of type java.lang.String cannot be converted to JSONArray
site php dosyasındaki kod:
Kod:
<?php
if($_POST){
// androiddden gelen verileri al ve değişkene aktar
$ad = stripslashes($_POST["ad"]);
$eposta = stripslashes($_POST["eposta"]);
$metin = stripslashes($_POST["metin"]);
// veritabanı bağlantısını oluştur
try{
$baglanti = new PDO("mysql:host=localhost;dbname=xxx;charset=utf8", "xxx", "xxx");
$baglanti -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
print $e -> getMessage();
}
$gir = $baglanti -> prepare("INSERT INTO veriler SET ad = :a, eposta = :e, metin = :m, gonderilme = :g");
$sql_giris = $gir -> execute(array("a" => $ad, "e" => $eposta, "m" => $metin, "g" => time()));
if($sql_giris){
$data[] = array(
"islem" => true
);
}else{
$data[] = array(
"islem" => false
);
}
// son hazırlanan veriyi json formatında ekrana bas.
header("Content-type: application/json");
echo json_encode($data);
}
?>
Teşekkürler.