分析数据org.json.JSONException时出错:无法将java.lang.integer类型的值0转换为JSONObject
我正试图使用JSONParser为我的应用程序创建一个登录页面,但每次单击登录按钮时,错误总是出现在我的用户名edittextbox“Java.lang.NullPointerException”上 这是我的login.java:分析数据org.json.JSONException时出错:无法将java.lang.integer类型的值0转换为JSONObject,java,android,mysql,json,login,Java,Android,Mysql,Json,Login,我正试图使用JSONParser为我的应用程序创建一个登录页面,但每次单击登录按钮时,错误总是出现在我的用户名edittextbox“Java.lang.NullPointerException”上 这是我的login.java: public class login extends Activity{ private static final String loginurl = "http://10.0.2.2/koperasidb/login.php"; EditText k
public class login extends Activity{
private static final String loginurl = "http://10.0.2.2/koperasidb/login.php";
EditText kode,pw;
TextView error;
Button login;
String i;
private static final String TAG_SUCCESS = "success";
private Session session;
JSONParser1 jsonParser = new JSONParser1();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
session = new Session(this);
kode = (EditText) findViewById(R.id.kode);
pw = (EditText) findViewById (R.id.password);
login = (Button) findViewById (R.id.login);
error = (TextView) findViewById (R.id.error);
login.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
List<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("kode", kode.getText().toString()));
postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
int success;
try {
JSONObject json = jsonParser.makeHttpRequest(loginurl, "GET", postParameters);
success = json.getInt(TAG_SUCCESS);
if (success ==1){
error.setText("Correct Username or Password");
session.setkdanggota(kode.getText().toString());
berhasil(v);
}
else {
error.setText("Sorry!! Wrong Username or Password Entered");
}
}
catch (Exception e) {
kode.setText(e.toString());
}
}
});
//Toast.makeText(this,"berhasil",3000).show();
}
public void berhasil (View theButton)
{
Intent s = new Intent (this, Home.class);
startActivity(s);
}
}
公共类登录扩展活动{
私有静态最终字符串loginurl=”http://10.0.2.2/koperasidb/login.php";
EditText kode,pw;
文本视图错误;
按钮登录;
第i串;
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
非公开会议;
JSONParser1 jsonParser=新的JSONParser1();
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
会话=新会话(本);
kode=(EditText)findViewById(R.id.kode);
pw=(EditText)findViewById(R.id.password);
login=(按钮)findviewbyd(R.id.login);
error=(TextView)findViewById(R.id.error);
login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
List postParameters=new ArrayList();
添加(新的BasicNameValuePair(“kode”,kode.getText().toString());
添加(新的BasicNameValuePair(“密码”,pw.getText().toString());
成功;
试试{
JSONObject json=jsonParser.makeHttpRequest(loginurl,“GET”,后参数);
success=json.getInt(TAG_success);
如果(成功==1){
错误.setText(“正确的用户名或密码”);
session.setkdanggota(kode.getText().toString());
贝哈西尔(v);
}
否则{
error.setText(“对不起!!输入了错误的用户名或密码”);
}
}
捕获(例外e){
kode.setText(e.toString());
}
}
});
//Toast.makeText(这是“berhasil”,3000).show();
}
public void berhasil(查看按钮)
{
意向s=新意向(此,Home.class);
星触觉;
}
}
下面是我的login.php:
<?php
include ("koneksi.php");
$kd=$_POST['kode'];
$pw=$_POST['password'];
$query = "SELECT * FROM anggota_baru WHERE kd_anggota = '$kd' AND no_identitas ='$pw'";
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());
if (mysql_num_rows($result) == 1){
echo 1;
$response["success"] = 1;
}
else {
// print status message
echo 0;
$response["success"] = 0;
}
?>
试试看
在你的活动中使用这一行(用双引号)
您没有返回任何json`echo 0`
if (mysql_num_rows($result) == 1){
echo "{\"TAG_SUCCESS\":1}";
}else {
echo "{\"TAG_SUCCESS\":0}";
}
success = json.getInt("TAG_SUCCESS");