Mysql veri çekerken JSON hatası
Herkese merhaba
Mysqldeki veritabanımdan veri çekip listviewde göstermek istiyorum fakat "Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject" hatası alıyorum.Anladığım kadarıyla veritabanı bağlantısında sorun yok ama ilk veriyi çekerken sorun yaşıyorum.Nette bu sorunu yaşayanlar olmuş ama çözümler bana uymadı.Neresi yanlış bu kodlarda?Şimdiden teşekkürler.
Activity dosyam:
[code]public class EtkinlikTakvimiActivity extends Activity {
ListView lv;
// Progress Dialog
private ProgressDialog pDialog;
// Creating JSON Parser object
JSONParser jParser = new JSONParser();
//ArrayList<HashMap<String, String>> etkinlikList;
ArrayList<Etkinlik> etkinlikList;
// url to get all etkinlikler list
private static String url_tum_etkinlikler = "http://10.0.3.2/Bitirme/get_tum_etkinlikler.php";
// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_ETKINLIKLER = "etkinlikler";
private static final String TAG_ID = "id";
private static final String TAG_AD = "ad";
private static final String TAG_YER = "yer";
private static final String TAG_TARIH = "tarih";
private static final String TAG_BASLANGIC_SAATI = "baslangicsaati";
private static final String TAG_BITIS_SAATI = "bitissaati";
// etkinlikler JSONArray
JSONArray etkinlikler = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_etkinlik_takvimi);
// Hashmap for ListView
//etkinlikList = new ArrayList<HashMap<String, String>>();
etkinlikList = new ArrayList<Etkinlik>();
// Loading etkinlikler in Background Thread
new LoadAllProducts().execute();
// Get listview
lv = (ListView) findViewById(R.id.lvEtkinlikTakvimi);
}
// Response from Edit Product Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if result code 100
if (resultCode == 100) {
// if result code 100 is received
// means user edited/deleted product
// reload this screen again
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
class LoadAllProducts extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EtkinlikTakvimiActivity.this);
pDialog.setMessage("Loading etkinlikler. Please wait...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
/**
* getting All etkinlikler from url
*/
protected String doInBackground(String... args) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_tum_etkinlikler, "GET", params);
// Check your log cat for JSON reponse
Log.d("All Products: ", json.toString());
try {
// Checking for SUCCESS TAG
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// etkinlikler found
// Getting Array of Products
etkinlikler = json.getJSONArray(TAG_ETKINLIKLER);
// looping through All Products
for (int i = 0; i < etkinlikler.length(); i++) {
JSONObject c = etkinlikler.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String ad = c.getString(TAG_AD);
String tarih = c.getString(TAG_TARIH);
String yer = c.getString(TAG_YER);
String baslangicssati = c.getString(TAG_BASLANGIC_SAATI);
String bitissaati = c.getString(TAG_BITIS_SAATI);
// creating new HashMap
//HashMap<String, String> map = new HashMap<String, String>();
Etkinlik map = new Etkinlik(id, ad, tarih, yer, baslangicssati, bitissaati);
etkinlikList.add(map);
}
} else {
// no etkinlikler found
// Launch Add New product Activity
Toast.makeText(getApplicationContext(), "BOŞ", Toast.LENGTH_LONG).show();
//Intent i = new Intent(getApplicationContext(),
// NewProductActivity.class);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//startActivity(i);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
// dismiss the dialog after getting all etkinlikler
pDialog.dismiss();
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
EtkinlikTakvimiAdapter adaptorumuz = new EtkinlikTakvimiAdapter(EtkinlikTakvimiActivity.this, etkinlikList);
lv.setAdapter(adaptorumuz);
}
});
}
}
}
[/code]
php dosyam:
<?php
/*
* Following code will list all the etkinlikler
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// get all etkinlikler from etkinlikler table
$result = mysql_query("SELECT *FROM etkinlikler") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// etkinlikler node
$response["etkinlikler"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$etkinlik = array();
$etkinlik["_id"] = $row["_id"];
$etkinlik["ad"] = $row["ad"];
$etkinlik["tarih"] = $row["tarih"];
$etkinlik["yer"] = $row["yer"];
$etkinlik["baslangicssati"] = $row["baslangicssati"];
$etkinlik["bitissaati"] = $row["bitissaati"];
// push single etkinlik into final response array
array_push($response["etkinlikler"], $etkinlik);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no etkinlikler found
$response["success"] = 0;
$response["message"] = "No etkinlikler found";
// echo no users JSON
echo json_encode($response);
}
?>