2014-11-21 208 views
-2

我尝试做一个注册过程,但发生了这些,我有一些错误。
可能有人帮助我..因为我不知道该怎么办,我已经做了搜索别人类似的案件,但仍..没有得到它..Android致命异常:AsyncTask#5和错误解析数据org.json.JSONException

logcat的

11-21 15:30:30.762: D/dalvikvm(3859): GC_FOR_ALLOC freed 126K, 10% free 3294K/3636K, paused 7ms, total 7ms 
11-21 15:30:53.194: E/ini(3859): bisa 
11-21 15:30:53.234: D/dalvikvm(3859): GC_FOR_ALLOC freed 161K, 10% free 3503K/3884K, paused 11ms, total 11ms 
11-21 15:30:53.234: I/dalvikvm-heap(3859): Grow heap (frag case) to 4.705MB for 1127532-byte allocation 
11-21 15:30:53.250: D/dalvikvm(3859): GC_FOR_ALLOC freed 1K, 8% free 4602K/4988K, paused 9ms, total 14ms 
11-21 15:30:53.270: E/ini(3859): bisa 
11-21 15:30:53.310: D/request!(3859): starting 
11-21 15:30:53.330: W/EGL_genymotion(3859): eglSurfaceAttrib not implemented 
11-21 15:31:01.970: E/JSON Parser(3859): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 
11-21 15:31:01.974: W/dalvikvm(3859): threadid=15: thread exiting with uncaught exception (group=0xa4b74648) 
11-21 15:31:01.982: E/AndroidRuntime(3859): FATAL EXCEPTION: AsyncTask #5 
11-21 15:31:01.982: E/AndroidRuntime(3859): java.lang.RuntimeException: An error occured while executing doInBackground() 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at android.os.AsyncTask$3.done(AsyncTask.java:299) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.FutureTask.run(FutureTask.java:239) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.lang.Thread.run(Thread.java:841) 
11-21 15:31:01.982: E/AndroidRuntime(3859): Caused by: java.lang.NullPointerException 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at com.android.GoTrip.Register$CreateUser.doInBackground(Register.java:147) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at com.android.GoTrip.Register$CreateUser.doInBackground(Register.java:1) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
11-21 15:31:01.982: E/AndroidRuntime(3859):  ... 4 more 
11-21 15:31:02.350: W/EGL_genymotion(3859): eglSurfaceAttrib not implemented 
11-21 15:31:02.814: E/WindowManager(3859): Activity com.android.GoTrip.Register has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{52784ba4 V.E..... R......D 0,0-684,192} that was originally added here 
11-21 15:31:02.814: E/WindowManager(3859): android.view.WindowLeaked: Activity com.android.GoTrip.Register has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{52784ba4 V.E..... R......D 0,0-684,192} that was originally added here 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:345) 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:239) 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 
11-21 15:31:02.814: E/WindowManager(3859): at android.app.Dialog.show(Dialog.java:281) 
11-21 15:31:02.814: E/WindowManager(3859): at com.android.GoTrip.Register$CreateUser.onPreExecute(Register.java:103) 
11-21 15:31:02.814: E/WindowManager(3859): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586) 
11-21 15:31:02.814: E/WindowManager(3859): at android.os.AsyncTask.execute(AsyncTask.java:534) 
11-21 15:31:02.814: E/WindowManager(3859): at com.android.GoTrip.Register.btnRegister(Register.java:83) 
11-21 15:31:02.814: E/WindowManager(3859): at java.lang.reflect.Method.invokeNative(Native Method) 
11-21 15:31:02.814: E/WindowManager(3859): at java.lang.reflect.Method.invoke(Method.java:525) 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.View$1.onClick(View.java:3628) 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.View.performClick(View.java:4240) 
11-21 15:31:02.814: E/WindowManager(3859): at android.view.View$PerformClick.run(View.java:17721) 
11-21 15:31:02.814: E/WindowManager(3859): at android.os.Handler.handleCallback(Handler.java:730) 
11-21 15:31:02.814: E/WindowManager(3859): at android.os.Handler.dispatchMessage(Handler.java:92) 
11-21 15:31:02.814: E/WindowManager(3859): at android.os.Looper.loop(Looper.java:137) 
11-21 15:31:02.814: E/WindowManager(3859): at android.app.ActivityThread.main(ActivityThread.java:5103) 
11-21 15:31:02.814: E/WindowManager(3859): at java.lang.reflect.Method.invokeNative(Native Method) 
11-21 15:31:02.814: E/WindowManager(3859): at java.lang.reflect.Method.invoke(Method.java:525) 
11-21 15:31:02.814: E/WindowManager(3859): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
11-21 15:31:02.814: E/WindowManager(3859): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-21 15:31:02.814: E/WindowManager(3859): at dalvik.system.NativeStart.main(Native Method) 
11-21 15:31:04.154: I/Process(3859): Sending signal. PID: 3859 SIG: 9 

JSON praser

public class JSONParser { 
static InputStream is = null; 
static String json = ""; 
static JSONObject jObj = null; 

public static JSONObject getJSONfromURL(String url) { 
    String result = ""; 
    JSONObject jArray = null; 
    Log.d("Json", "1"); 
    // http post 
    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 

    } catch (Exception e) { 
     Log.e("log_tag", "Error in http connection " + e.toString()); 
    } 
    // convert response to string 
    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 + "\n"); 
     } 
     is.close(); 
     result = sb.toString(); 
    } catch (Exception e) { 
     Log.e("log_tag", "Error converting result " + e.toString()); 
    } 
    Log.d("Json", "2"); 
    Log.d("Json", result); 
    try { 

     jArray = new JSONObject(result); 
    } catch (JSONException e) { 
     Log.e("log_tag", "Error parsing data " + e.toString()); 
    } 

    return jArray; 
} 

public static JSONObject makeHttpRequest(String url, String method, 
     List<NameValuePair> params) { 
    try { 
     // check for request method 
     if (method == "POST") { 
      // request method is POST 
      // defaultHttpClient 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 
      httpPost.setEntity(new UrlEncodedFormEntity(params)); 
      HttpResponse httpResponse = httpClient.execute(httpPost); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      is = httpEntity.getContent(); 
     } else if (method == "GET") { 
      // request method is GET 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      String paramString = URLEncodedUtils.format(params, "utf-8"); 
      url += "?" + paramString; 
      HttpGet httpGet = new HttpGet(url); 
      HttpResponse httpResponse = httpClient.execute(httpGet); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      is = httpEntity.getContent(); 
     } 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    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 + "\n"); 
     } 
     is.close(); 
     json = sb.toString(); 
    } catch (Exception e) { 
     Log.e("Buffer Error", "Error converting result " + e.toString()); 
    } 
    // try parse the string to a JSON object 
    try { 
     jObj = new JSONObject(json); 
    } catch (JSONException e) { 
     Log.e("JSON Parser", "Error parsing data " + e.toString()); 
    } 
    // return JSON String 
    return jObj; 
} 
} 

register.java

public class Register extends Activity { 


EditText inputUsername; 
EditText inputNama; 
EditText inputEmail; 
EditText inputPassword; 
EditText inputPassword2; 
Button btnRegister; 
Button btnLogin; 


private ProgressDialog pDialog; 

JSONParser jsonParser = new JSONParser(); 

private static final String LOGIN_URL = "http://10.0.3.2/1aaa/register.php"; 

private static final String TAG_SUCCESS = "success"; 
private static final String TAG_MESSAGE = "message"; 

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.register); 

    inputUsername = (EditText) findViewById(R.id.username); 
    inputNama = (EditText) findViewById(R.id.name); 
    inputEmail = (EditText) findViewById(R.id.email); 
    inputPassword = (EditText) findViewById(R.id.password); 
    inputPassword2 = (EditText) findViewById(R.id.password2); 


    btnRegister = (Button) findViewById(R.id.btnRegister); 

    btnLogin = (Button) findViewById(R.id.btnLinkToLogin); 


} 



    public void btnRegister(View v) { 
     // TODO Auto-generated method stub 

     Log.e("ini", "bisa"); 
     new CreateUser().execute(); 
     Log.e("ini", "bisa"); 

    } 


    class CreateUser extends AsyncTask<String, String, String> { 

     /** 
     * Before starting background thread Show Progress Dialog 
     * */ 
     boolean failure = false; 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(Register.this); 
      pDialog.setMessage("Creating User..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.show(); 
     } 

     @SuppressWarnings("static-access") 
     @Override 
     protected String doInBackground(String... args) { 
      // TODO Auto-generated method stub 
      // Check for success tag 
      int success; 

       String username = inputUsername.getText().toString(); 
       String name = inputNama.getText().toString(); 
       String email = inputEmail.getText().toString(); 
       String password = inputPassword.getText().toString(); 
       String password2 = inputPassword2.getText().toString(); 
       Encrypt a = new Encrypt(); 
       a.encrrypte(password); 
       String encpassword = a.GetHashtext(); 
       a.encrrypte(password2); 
       String encretypepwd = a.GetHashtext(); 
       Date c = Calendar.getInstance().getTime(); 
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
       String output = formatter.format(c); 

        try { 
         // Building Parameters 
         List<NameValuePair> params = new ArrayList<NameValuePair>(); 
         params.add(new BasicNameValuePair("username", username)); 
         params.add(new BasicNameValuePair("name", name)); 
         params.add(new BasicNameValuePair("email", email)); 
         params.add(new BasicNameValuePair("password", encpassword)); 
         params.add(new BasicNameValuePair("password2", encretypepwd)); 

         params.add(new BasicNameValuePair("ctime", output)); 
         params.add(new BasicNameValuePair("date_edit_profile", "0000-00-00 00:00:00")); 


         Log.d("request!", "starting"); 

         //Posting user data to script 
         JSONObject json = jsonParser.makeHttpRequest(
           LOGIN_URL, "POST", params); 

         // full json response 
         Log.d("Login attempt", json.toString()); 

         // json success element 
         success = json.getInt(TAG_SUCCESS); 
         if (success == 1) { 
          Log.d("User Created!", json.toString());     
          finish(); 
          return json.getString(TAG_MESSAGE); 
         }else{ 
          Log.d("Login Failure!", json.getString(TAG_MESSAGE)); 
          return json.getString(TAG_MESSAGE); 

         } 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 

        return null; 

       } 
       /** 
       * After completing background task Dismiss the progress dialog 
       * **/ 


        protected void onPostExecute(String file_url) { 
        // dismiss the dialog once product deleted 
        pDialog.dismiss(); 
        if (file_url != null){ 
         Toast.makeText(Register.this, file_url, Toast.LENGTH_LONG).show(); 
        } 

       } 
    } 

    public void btnLogin(View v){ 
     Intent s = new Intent(this, Login.class); 
     startActivity(s); 
    } 



      public class Encrypt{ 
       private String hashtext= ""; 
       public void encrrypte(String yourString){ 
        try { 
         byte[] bytesOfMessage = yourString.getBytes("UTF-8"); 
         MessageDigest md = MessageDigest.getInstance("MD5"); 
         byte[] thedigest = md.digest(bytesOfMessage); 
         BigInteger bigInt = new BigInteger(1,thedigest); 
         hashtext = bigInt.toString(16); 
         // Now we need to zero pad it if you actually want the full 32 chars. 
         while(hashtext.length() < 32){ 
          hashtext = "0"+hashtext; 
         } 
        } catch (UnsupportedEncodingException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
        } catch (NoSuchAlgorithmException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
       } 
       public String GetHashtext(){ 
        return hashtext; 
       } 

      } 
    } 

register.php

<?php 

require("config.php"); 
$email=""; 
function test_input($data){ 
$data = trim($data); 
$data = stripslashes($data); 
$data = htmlspecialchars($data); 
return $data; 
} 

if (!empty($_POST)) { 


if (empty($_POST['username'])) { 
    // Create some data that will be the JSON response 
    $response["success"] = 0; 
    $response["message"] = "Please input username"; 

    die(json_encode($response)); 
} 

if (empty($_POST['name'])) { 
    $response["success"] = 0; 
    $response["message"] = "Please input your name"; 
    die(json_encode($response)); 
} 

if (empty($_POST['email'])) { 
    $response["success"] = 0; 
    $response["message"] = "Please input your email address"; 
    die(json_encode($response)); 
} 
else{ 
    $email = test_input($_POST['email']); 
    if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){ 
    $response["success"] = 0; 
    $response["message"] = "Input the correct email address form"; 
    die(json_encode($response)); 
    } 
} 

if (empty($_POST['password'])) { 
    $response["success"] = 0; 
    $response["message"] = "Please input a Password."; 
    die(json_encode($response)); 
} 
else{ 
    if(strlen($_POST['password'])<6){ 
      $response["success"] = 0; 
      $response["message"] = "password length should be longer than 6 characters"; 
      die(json_encode($response)); 
    } 
    else{ 
     if ($_POST['password']!=$_POST['password2']){ 
      $response["success"] = 0; 
      $response["message"] = "Password doesn't match"; 
      die(json_encode($response)); 
     } 
    } 
} 




$query  = " SELECT 1 FROM user WHERE username = :user"; 
$query_params = array(
    ':user' => $_POST['username'] 
); 

try { 
    // These two statements run the query against your database table. 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($query_params); 
} 
catch (PDOException $ex) { 

    $response["success"] = 0; 
    $response["message"] = "Database Error1. Please Try Again!"; 
    die(json_encode($response)); 
} 


$row = $stmt->fetch(); 
if ($row) { 

    $response["success"] = 0; 
    $response["message"] = "I'm sorry, this username is already in use"; 
    die(json_encode($response)); 
} 


$query = ("INSERT INTO user (username, name, password, email, role_id,ctime) VALUES (:user, :name, :password, :email , :role_id, :ctime) "); 

//Again, we need to update our tokens with the actual data: 
$query_params = array(
    ':user' => $_POST['username'], 
    ':name' => $_POST['name'], 
    ':password' => $_POST['password'], 
    ':email' => $_POST['email'], 
    ':role_id' => '2', 
    ':ctime' => $_POST['ctime'], 
    ); 


try { 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($query_params); 
} 
catch (PDOException $ex) { 

    $response["success"] = 0; 
    $response["message"] = "Database Error2. Please Try Again!"; 
    die(json_encode($response)); 
} 


$response["success"] = 1; 
$response["message"] = "Username Successfully Added!"; 
echo json_encode($response); 




} else { 
?> 
<h1>Register</h1> 
<form action="register.php" method="post"> 
    Username:<br /> 
    <input type="text" name="username" value="" /> 
    <br /><br /> 

    Name:<br /> 
    <input type="text" name="name" value="" /> 
    <br /><br /> 

    Email:<br /> 
    <input type="text" name="email" value="" /> 
    <br /><br /> 

    Password:<br /> 
    <input type="password" name="password" value="" /> 
    <br /><br /> 
    Confirm Your Password:<br /> 
    <input type="password" name="password2" value="" /> 
    <br /><br /> 

    <input type="submit" value="Register New User" /> 
</form> 
<?php 
} 
?> 

register.xml

<!-- View Title Label --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="7dp" 
    android:layout_marginRight="7dp" 
    android:layout_marginTop="15dp" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" > 

<TextView 
    android:id="@+id/TextView1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_marginBottom="10dip" 
    android:text="REGISTER" 
    android:textSize="25dip" 
    android:textStyle="bold" /> 
<!-- Name Label --> 

<TextView 
    android:id="@+id/TextView2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView1" 
    android:text="Username" /> 
<!-- Name TextField --> 

<EditText 
    android:id="@+id/username" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView2" /> 

<TextView 
    android:id="@+id/TextView3" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/username" 
    android:text="Name" /> 

<!-- NAME TextField --> 

<EditText 
    android:id="@+id/name" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView3" /> 
<!-- Email Label --> 

<TextView 
    android:id="@+id/TextView4" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/name" 
    android:text="Email" /> 

<!-- Email TextField --> 

<EditText 
    android:id="@+id/email" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView4" /> 

<!-- Password Label --> 

<TextView 
    android:id="@+id/TextView5" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/registerEmail" 
    android:text="Password" /> 
<!-- Password TextField --> 

<EditText 
    android:id="@+id/password" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView5" 
    android:password="true" /> 

<!-- Password Label --> 

<TextView 
    android:id="@+id/TextView6" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/registerEmail" 
    android:text="Re-type Password" /> 
<!-- Password TextField --> 

<EditText 
    android:id="@+id/password2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/TextView5" 
    android:password="true" /> 

<!-- Error message --> 



<!-- Login Button --> 

<Button 
    android:id="@+id/btnRegister" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/register_error" 
    android:layout_marginTop="2dip" 
    android:text="Register" 
    android:onClick="btnRegister" /> 

<!-- Link to Login Screen --> 

<Button 
    android:id="@+id/btnLinkToLogin" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/btnRegister" 
    android:layout_marginTop="4dip" 
    android:background="@null" 
    android:text="Already registered. Login Me!" 
    android:textColor="#c90505" 
    android:textStyle="bold" 
    android:onClick="btnLogin" /> 
    </LinearLayout> 

<LinearLayout 
    android:id="@+id/footer" 
    android:layout_width="fill_parent" 
    android:layout_height="65dip" 
    android:layout_alignParentBottom="true" 
    android:background="@layout/zfooter" 
    android:orientation="vertical" > 
</LinearLayout> 

请帮我:(

+0

可能重复[什么是空指针异常,以及如何解决它?](http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how -do-i-fix-it) – ToYonos 2014-11-21 09:11:45

+0

如果您从发布的代码中删除了行,很难找到NullPointerException,因此异常中的行号与代码中的行不匹配。阅读例外,转到你的课程注册中指定的行,看看那里可能是空的。 – Udo 2014-11-21 09:15:36

回答

1

下面的错误是你的问题的根源 -

11-21 15:31:01.970:E/JSON解析器(3859):解析数据org.json.JSONException时出错:值java.lang.String类型的<br无法转换为JSONObject

NullPointerException是JSON解析器无法解析来自URL的响应的结果。

您必须验证您从http://10.0.3.2/1aaa/register.php收到的POST响应是否采用JSON格式。

从错误代码,看起来像是在响应中有一个<br />,导致解析错误。

+0

如何验证?我是关于android编程的新手.. – meruvi 2014-11-21 09:24:09

+0

只需在浏览器中检查它。例如,打开chrome并按F12开发人员工具栏,然后打开网络窗格。然后输入您的表格并按下注册。检查您收到的POST回复。 – Tushar 2014-11-21 09:30:23

+0

我已经完成了它,它的工作.php,问题是当我尝试协作他们,我以为我在我的.java问题,但我不知道它.. – meruvi 2014-11-21 09:37:30

0
Caused by: java.lang.NullPointerException 
    at com.android.GoTrip.Register$CreateUser.doInBackground(Register.java:147) 

也许这是因为json.getInt(TAG_SUCCESS)success存储空值,由于解析器没有得到来自register.php一个正确的反应,或者你用错了钥匙(TAG_SUCCESS不响应存在)。

对于调试,您可以尝试删除if块,并直接打印出successjson.toString()的值。

+0

是的,我发现它:D – meruvi 2014-11-21 09:55:21