-1
私の登録(frmDaftar)クラスからWebServiceにJSONをPOSTするときにエラーが発生しました。エラーコード:java.lang.NullPointerException:仮想を呼び出そうとしていますcom.android.volley.Requestでnullオブジェクト参照 の 'INT java.lang.String.hashCode()' メソッド。(Request.java:136)ここでAndroid - NullPointerExceptionヌルオブジェクトのhashCode()参照
public class frmDaftar extends AppCompatActivity {
Button btnDaftar, btnKembali;
EditText email, pass, nama;
AlertDialog alertDialog;
private static final String TAG = frmDaftar.class.getSimpleName();
SessionManager session;
private String EmailView;
private ProgressDialog pDialog;
private static final String Key_nama = "nama";
private static final String Key_email = "email";
private static final String Key_password = "password";
private static final String url = "Webservice_Controller.URL_DAFTAR";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frm_daftar);
btnDaftar = (Button) findViewById(R.id.btnDaftar1);
btnKembali = (Button) findViewById(R.id.btnKembali);
email = (EditText) findViewById(R.id.txtEmailDaftar);
pass = (EditText) findViewById(R.id.txtPasswordDaftar);
nama = (EditText) findViewById(R.id.txtNamaDaftar);
session = new SessionManager(getApplicationContext());
btnDaftar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btnDaftar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emails = email.getText().toString().trim();
String passwords = pass.getText().toString().trim();
String namas = nama.getText().toString().trim();
registerUser(emails, passwords,namas);
//alertDialog.show();
}
});
}
});
btnKembali.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(frmDaftar.this, frmLogin.class));
}
});
}
private void initCustomAlertDialog(String EmailView) {
View v = getLayoutInflater().inflate(R.layout.dialogverivikasi, null);
TextView txtEmail = (TextView) findViewById(R.id.lblemailDaftar);
//txtEmail.setText(EmailView);
alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setView(v);
alertDialog.setTitle("Verifikasi Email");
}
private void registerUser(final String nama, final String email, final String pass){
String tag_string_req = "req_register";
pDialog.setMessage("Registering ...");
showDialog();
StringRequest stringRequest = new StringRequest(Request.Method.POST, Webservice_Controller.URL_DAFTAR,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try{
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
Log.d(TAG, "Register Response: " + response.toString());
hideDialog();
}catch (JSONException e) {
e.printStackTrace();
} {
}
//Toast.makeText(DataSent.this, response, Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//Toast.makeText(DataSent.this,error.toString(),Toast.LENGTH_LONG).show();
Log.e(TAG, "Registration Error: " + error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String, String> params = new HashMap<String, String>();
params.put("name", nama);
params.put("email", email);
params.put("password", pass);;
return params;
}
};
AppController.getInstance().addToRequestQueue(stringRequest, tag_string_req);
}
私のAppController
ですpublic class AppController extends Application {
public static final String TAG = AppController.class.getSimpleName();
private RequestQueue mRequestQueue;
private static AppController mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
public static synchronized AppController getInstance() {
return mInstance;
}
public RequestQueue getRequestQueue() {
if (mRequestQueue == null) {
mRequestQueue = Volley.newRequestQueue(getApplicationContext());
}
return mRequestQueue;
}
public <T> void addToRequestQueue(Request<T> req, String tag) {
req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
getRequestQueue().add(req);
}
public <T> void addToRequestQueue(Request<T> req) {
req.setTag(TAG);
getRequestQueue().add(req);
}
public void cancelPendingRequests(Object tag) {
if (mRequestQueue != null) {
mRequestQueue.cancelAll(tag);
}
}
}
私を助けてください、これが私の最初のAndroidのプロジェクト:)あなたはapplicaitonタグでアプリのコントローラを追加