如何找出应用程序在尝试访问 SystemPreferences 数据时崩溃的原因
How to figure out why app is crashing when trying to access SystemPreferences data
我试图在我的整个应用程序中维护用户 ID 和用户名。我创建了一个名为 Session 的 class,它将数据放置和接收数据到 SharedPreferences 并设置它工作得很好。我遇到的问题是当我去另一个 activity.
检索它时
会话Class构造函数
public Session(Context cntx) {
// TODO Auto-generated constructor stub
prefs = PreferenceManager.getDefaultSharedPreferences(cntx);
}
Session Class 添加用户 ID 的方法和检索它的方法
public void setUserID(int userID) {
prefs.edit().putInt("userID", userID).apply();
}
public int getID() {
int userID;
return userID = prefs.getInt("userID",0);
}
在登录时设置 ID
StringRequest stringRequest = new StringRequest(Request.Method.POST, server_url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
builder.setTitle("Server Response");
builder.setMessage("Response :"+response);
session = new Session(getApplicationContext());
int responseInt = Integer.parseInt(response.trim());
session.setUserID(responseInt);
Intent myIntent = new Intent(LoginActivity.this, navActivity.class);
startActivity(myIntent);
finish();
正在尝试检索该 ID 并放入 editText
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_jars);
session = new Session(getApplicationContext());
userID = (EditText) findViewById(R.id.userID);
builder = new AlertDialog.Builder(MyJars.this);
userID.setText(session.getID());
我希望能够提取该数据并将其发送到我的服务器,在那里我可以 运行 我的 PHP 脚本,就像我在其他活动中所做的那样,但这并不合作。
这一行:
userID.setText(session.getID());
session.getID()
是一个整数,它被解释为一个整数资源 ID,而不是您要在 userID
.
中设置的字符串文本
更改为:
userID.setText("" + session.getID());
或
userID.setText(String.valueOf(session.getID()));
我试图在我的整个应用程序中维护用户 ID 和用户名。我创建了一个名为 Session 的 class,它将数据放置和接收数据到 SharedPreferences 并设置它工作得很好。我遇到的问题是当我去另一个 activity.
检索它时会话Class构造函数
public Session(Context cntx) {
// TODO Auto-generated constructor stub
prefs = PreferenceManager.getDefaultSharedPreferences(cntx);
}
Session Class 添加用户 ID 的方法和检索它的方法
public void setUserID(int userID) {
prefs.edit().putInt("userID", userID).apply();
}
public int getID() {
int userID;
return userID = prefs.getInt("userID",0);
}
在登录时设置 ID
StringRequest stringRequest = new StringRequest(Request.Method.POST, server_url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
builder.setTitle("Server Response");
builder.setMessage("Response :"+response);
session = new Session(getApplicationContext());
int responseInt = Integer.parseInt(response.trim());
session.setUserID(responseInt);
Intent myIntent = new Intent(LoginActivity.this, navActivity.class);
startActivity(myIntent);
finish();
正在尝试检索该 ID 并放入 editText
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_jars);
session = new Session(getApplicationContext());
userID = (EditText) findViewById(R.id.userID);
builder = new AlertDialog.Builder(MyJars.this);
userID.setText(session.getID());
我希望能够提取该数据并将其发送到我的服务器,在那里我可以 运行 我的 PHP 脚本,就像我在其他活动中所做的那样,但这并不合作。
这一行:
userID.setText(session.getID());
session.getID()
是一个整数,它被解释为一个整数资源 ID,而不是您要在 userID
.
中设置的字符串文本
更改为:
userID.setText("" + session.getID());
或
userID.setText(String.valueOf(session.getID()));