Ich bin ein Designer und habe keine Ahnung von Kodierung, ich repariere eine App und nachdem ich apk gebaut habe, habe ich diesen Fehler auf dem Anmeldebildschirm, als ich geben Sie alle Details und klicken Sie auf die Registrierungvalue <! DOCTYPE vom Typ java.lang.string kann nicht in jsonobject konvertiert werden
Wert <! DOCTYPE vom Typ java.lang.String nicht konvertiert werden können
Dies ist die komplette Code auf meiner signupactivity.java
Datei zu JSONObject.
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import com.amo.FillPocket.app.App;
import com.amo.FillPocket.common.ActivityBase;
import com.amo.FillPocket.util.CustomRequest;
import com.amo.FillPocket.util.Helper;
public class SignupActivity extends ActivityBase {
EditText signupUsername, signupFullname, signupPassword, signupEmail;
Button signupJoinBtn;
private String username, fullname, password, email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
signupUsername = (EditText) findViewById(R.id.signupUsername);
signupFullname = (EditText) findViewById(R.id.signupFullname);
signupPassword = (EditText) findViewById(R.id.signupPassword);
signupEmail = (EditText) findViewById(R.id.signupEmail);
signupJoinBtn = (Button) findViewById(R.id.signupJoinBtn);
signupJoinBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
username = signupUsername.getText().toString();
fullname = signupFullname.getText().toString();
password = signupPassword.getText().toString();
email = signupEmail.getText().toString();
if (verifyRegForm()) {
if (App.getInstance().isConnected()) {
showpDialog();
CustomRequest jsonReq = new CustomRequest(Request.Method.POST, METHOD_ACCOUNT_SIGNUP, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("Profile", "Malformed JSON: \"" + response.toString() + "\"");
if (App.getInstance().authorize(response)) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
ActivityCompat.finishAffinity(SignupActivity.this);
} else {
switch (App.getInstance().getErrorCode()) {
case 300 : {
signupUsername.setError(getString(R.string.error_login_taken));
break;
}
case 301 : {
signupEmail.setError(getString(R.string.error_email_taken));
break;
}
default: {
Log.e("Profile", "Could not parse malformed JSON: \"" + response.toString() + "\"");
break;
}
}
}
hidepDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
Log.e("Profile", "Malformed JSON: \"" + error.getMessage() + "\"");
hidepDialog();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("username", username);
params.put("fullname", fullname);
params.put("password", password);
params.put("email", email);
params.put("clientId", CLIENT_ID);
return params;
}
};
App.getInstance().addToRequestQueue(jsonReq);
} else {
Toast.makeText(getApplicationContext(), R.string.msg_network_error, Toast.LENGTH_SHORT).show();
}
}
}
});
}
public Boolean verifyRegForm() {
signupUsername.setError(null);
signupFullname.setError(null);
signupPassword.setError(null);
signupEmail.setError(null);
Helper helper = new Helper();
if (username.length() == 0) {
signupUsername.setError(getString(R.string.error_field_empty));
return false;
}
if (username.length() < 5) {
signupUsername.setError(getString(R.string.error_small_username));
return false;
}
if (!helper.isValidLogin(username)) {
signupUsername.setError(getString(R.string.error_wrong_format));
return false;
}
if (fullname.length() == 0) {
signupFullname.setError(getString(R.string.error_field_empty));
return false;
}
if (password.length() == 0) {
signupPassword.setError(getString(R.string.error_field_empty));
return false;
}
if (password.length() < 6) {
signupPassword.setError(getString(R.string.error_small_password));
return false;
}
if (!helper.isValidPassword(password)) {
signupPassword.setError(getString(R.string.error_wrong_format));
return false;
}
if (email.length() == 0) {
signupEmail.setError(getString(R.string.error_field_empty));
return false;
}
if (!helper.isValidEmail(email)) {
signupEmail.setError(getString(R.string.error_wrong_format));
return false;
}
return true;
}
@Override
public void onBackPressed(){
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case android.R.id.home: {
finish();
return true;
}
default: {
return super.onOptionsItemSelected(item);
}
}
}
}
Sie erhalten XML und versuchen, es wie JSON zu analysieren. Das wird nicht funktionieren. Bitte besuchen Sie die [Hilfe] und lesen [fragen], um zu erfahren, wie Sie diese Seite effektiv nutzen können. Ein wenig mehr Aufwand von Ihrer Seite ist erforderlich, und wir können den großen Block von Code nicht debuggen, ohne dass Sie feststellen, wo das Problem auftritt. –
Kurz gesagt, die Antwort vom Server ist falsch, der Server sendet Ihnen wahrscheinlich den HTML-Code, im Allgemeinen passiert es, wenn der Server abstürzt, wenn eine Anfrage an ihn gesendet wird. –