【发布时间】:2018-11-11 20:43:39
【问题描述】:
我想在登录期间将下面的 jsonArray 存储在会话中,并在稍后在另一个活动中需要时逐个访问这些元素。我完全糊涂了。登录成功后,我得到以下数据。我该怎么做?这是我的登录页面
public class Login extends AppCompatActivity {
String mobile, password;
TextView forgot_password;
EditText mobile_num,pass;
Button log_btn;
AlertDialog.Builder builder;
private Session session;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Login.this.setTitle("Vendor Screen");
builder = new AlertDialog.Builder(Login.this);
forgot_password = findViewById(R.id.forgot_pwd);
log_btn = findViewById(R.id.login_btn);
mobile_num = findViewById(R.id.mobile);
pass = findViewById(R.id.password);
forgot_password.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Login.this,Forgot_password.class);
startActivity(i);
}
});
//Login Page
log_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ConnectivityManager ConnectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = ConnectionManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected() == true) {
mobile = mobile_num.getText().toString();
password = pass.getText().toString();
String url = "https://vendorapp.web4rest.com/vendorController/auth?username=" + mobile + "&password=" + password;
if (mobile.equals("") || password.equals("")) {
builder.setTitle("Something went wrong!!");
displayAlert("Enter valid mobile number and password");
}else{
final ProgressDialog progressDialog = new ProgressDialog(Login.this);
progressDialog.setMessage("Please Wait...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
progressDialog.dismiss();
JSONObject jobject = new JSONObject(response);
if (Integer.parseInt(jobject.getString("status")) == 200) {
Toast.makeText(getApplicationContext(), "Login Success", Toast.LENGTH_LONG).show();
Intent i = new Intent(Login.this, MainActivity.class);
startActivity(i);
finish();
} else {
Toast.makeText(getApplicationContext(), "Login Unsuccessfull. Check mobile number/password", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
progressDialog.dismiss();
Log.e("Error", "Login Failed" + e.toString());
e.printStackTrace();
Toast.makeText(Login.this, "Error", Toast.LENGTH_SHORT);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(Login.this, "Error", Toast.LENGTH_SHORT);
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> parmams = new HashMap<String, String>();
parmams.put("username", mobile);
parmams.put("password", password);
return parmams;
}
};
MySingleton.getInstance(Login.this).addToRequestque(stringRequest);
}
}else {
Toast.makeText(Login.this, "Network Unavailable", Toast.LENGTH_LONG).show();
}
}
});
}
public void displayAlert(String message){
builder.setMessage(message);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
mobile_num.setText("");
pass.setText("");
}
});
AlertDialog alertDialog =builder.create();
alertDialog.show();
}
{ “状态”:200, “用户数据”: { “身份证”:“2”, "FIRM_NAME": "公司名称", "CONTACT_NO": "7458236965", "FIRM_EMAIL": "comp@gmail.com", “州”:“卡纳塔克邦”, “城市”:“阿南塔普尔”, "ADDRESS_LINE1": "dgsdfgsdf", “ADDRESS_LINE2”:空, “类型”:“取消注册”, “CATEGORY_ID”:“1”, “REG_NO”:空, “GST_NO”:空, "ECC_CODE": "744411228528", "PAN_NO": "7455852125", "FAX_NO": "741258963", "PIN_CODE": "590006", "CONTACT_PERSON": "阿什维尼", "PERSON_EMAIL": "koustubhc@web4rest.com", "PERSON_MOBILE": "7798671682", “银行”:“阿拉哈巴德银行”, "IS_DELETE": "0", "IFSC_CODE": "ALLB00006", “分支”:“阿拉巴德”, "ACCOUNT_NO": "033252122522", "INITIAL_PASS": "PUTLANvq", “密码”:“fd2811b88d59df925f1a265911ffc539”, “OTP”:“6979”, "CREATED_AT": "2018-05-31 13:02:40", "UPDATED_AT": "2018-05-14 08:59:10", “状态”:“登录” } }
【问题讨论】:
-
解析 json 响应,然后使用共享首选项在本地存储数据
-
你能分享一些链接示例吗?
-
是的,我会发布一个例子,同时你可以谷歌它
-
好的。 ty @快速学习者
标签: android arrays session android-volley