Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: PHP Android JSON Eclipse
dear friends,
this is my first JSON-PHP experience.i'm developing a small application to get user information from an online database. User enters his username and password then press submit button.So application should be able to check whether that user is available or not.

I'm getting an exception saying
"Value null of type org.json.JSONObject$1 cannot be converted to JSONArray"
 
here is my php script
 
<?php
 
mysql_connect("localhost","tadmin","t2012");
mysql_select_db("tdb");
 

$sql=mysql_query("SELECT uid,uname FROM tuser WHERE uname ='".$_REQUEST['uname']."' AND password ='".$_REQUEST['password']."'");
 

while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
 
mysql_close();
 
?>
 
this is my android code
 
package com.drock.tbnote;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.nio.Buffer;
import java.util.ArrayList;
 
import org.apache.http.HttpEntity;
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.json.JSONArray;
import org.json.JSONObject;
 
import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
 
public class incui extends Activity {
 
private Vibrator Myvib;
private InputStream is; //input steram
String result = ""; //result

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.incui);
 
Button btnsubmit = (Button) findViewById(R.id.button1);
Button btnview = (Button) findViewById(R.id.button2);
EditText txtuname = (EditText) findViewById(R.id.editText1);
EditText txtpass = (EditText) findViewById(R.id.editText2);
final TextView lbluid = (TextView) findViewById(R.id.textView5);
final TextView lbluname = (TextView) findViewById(R.id.textView6);
 
        
//creating array list
final ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("uname",txtuname.getText().toString()));	        
nameValuePairs.add(new BasicNameValuePair("password", txtpass.getText().toString()));
	        
	        
Myvib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE);
//Button click event	        
btnsubmit.setOnClickListener(new OnClickListener() {
				
public void onClick(View v) {
Myvib.vibrate(50);
			
					
//connecting http web server
try{
			
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://www.mysite.org/php/getuser.php");
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();		
				
						
}catch(Exception e1){
Log.e("http", e1.getMessage());
Toast toast=Toast.makeText(getApplicationContext(),"http error: "+e1.getMessage(), Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
					
//reading from server
try{
		
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
		 
while((line = reader.readLine()) != null){
sb.append(line.toString() + "\n");
			 
}
is.close();
result = sb.toString();
						
}catch(Exception e1){
Log.e("http", e1.getMessage());
Toast toast=Toast.makeText(getApplicationContext(),"read error: "+e1.getMessage(), Toast.LENGTH_LONG);
    toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
	
//parsing JSON data
int usrid;
String usrname;
try{
		
JSONArray jArray = new JSONArray(result);
JSONObject json_data = new JSONObject();
for(int i=0;i<jArray.length();i++){
	json_data = jArray.getJSONObject(i);
	usrid = json_data.getInt("uid");
	usrname = json_data.getString("uname");
}
Toast toast=Toast.makeText(getApplicationContext(),"Authenticated successfuly", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
		
		
}catch(Exception e1){
Log.e("http", e1.getMessage());
Toast toast=Toast.makeText(getApplicationContext(),"json error: "+e1.getMessage(), Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
 
					
					
	
}
});
 
}
 
}
 
can someone please help me to solve my problem?? thanks..
Posted 20-May-12 3:23am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Connect Android application with MySql Databse using PHP
 
Try this tutorials..
 
Click Here Tutorial 1
 
Click Here Tutorial 2
 
Click Here Tutorial 3
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 304
1 Maciej Los 285
2 Sergey Alexandrovich Kryukov 230
3 Shweta N Mishra 186
4 Aajmot Sk 153
0 OriginalGriff 7,660
1 Sergey Alexandrovich Kryukov 7,072
2 DamithSL 5,604
3 Manas Bhardwaj 4,986
4 Maciej Los 4,760


Advertise | Privacy | Mobile
Web04 | 2.8.1411023.1 | Last Updated 31 Jul 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100