Android如何将数据从类传递到活动?
我在将数据(值)从java类传递到活动并在textView中显示时遇到问题。SharedReferences不起作用。 这是我课堂上的片段:Android如何将数据从类传递到活动?,android,Android,我在将数据(值)从java类传递到活动并在textView中显示时遇到问题。SharedReferences不起作用。 这是我课堂上的片段: else if (type.equals("getUser")) { try { String user_name = params[1]; // String password = params[2]; URL url = new URL
else if (type.equals("getUser")) {
try {
String user_name = params[1];
// String password = params[2];
URL url = new URL(getUser_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
// String post_data = URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&"
// + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8");
String post_data = URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
String result = "";
String line = "";
while ((line = bufferedReader.readLine()) != null) {
result += line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
System.out.println(result);
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
@Override
protected void onPostExecute(String result) {
String temp = "Login success. Welcome!";
if (result.equals(temp)) {
Intent intent = new Intent(context, ProjectsActivity.class);
context.startActivity(intent);
} else if (result.contains("[{")) {
} else {
alertDialog.setMessage(result);
alertDialog.show();
}
}
我想在活动中将我的结果传递给textview。此活动(UserAreaActivity)
非常感谢你的帮助
SharedPreferences myprefs = getSharedPreferences("user", MODE_WORLD_READABLE);
String username = myprefs.getString("username", null);
String password = myprefs.getString("password", null); //Typo, you had used "username" here
在调用此函数之前,您没有将数据保存在SharedReferences中,因此您的用户名和密码都为null,并且您没有看到任何内容
您需要先保存数据,然后才能随时访问它们
//Code for writing into shared preferences
SharedPreferences myprefs = getSharedPreferences("user", MODE_WORLD_READABLE);
myprefs.edit().putString("username","Name to be saved").commit();
myprefs.edit().putString("password","Password to be saved").commit();
用于在不同的应用程序执行之间保存数据(当您关闭和打开应用程序时,您将能够访问数据,前提是您先保存数据)。这是一个打字错误,用户名和密码都是相同的键吗?问了一个类似的问题。但我想问一个结果。它是来自mysql的json。不是密码和用户名。在json中有一些信息,比如名字、surrname、年龄等。我想获取这个json并进行解析,然后用这些信息填充TextView。但是我想获取一个结果。它是来自mysql的json。不是密码和用户名。在json中有诸如名称、surrname、年龄等信息。我想获取这个json并进行解析,然后用这些信息填充TextView。在这种情况下,您根本不需要SharedReference…因为您有一个后端数据库来保留信息。您需要从数据库中读取数据
//Code for writing into shared preferences
SharedPreferences myprefs = getSharedPreferences("user", MODE_WORLD_READABLE);
myprefs.edit().putString("username","Name to be saved").commit();
myprefs.edit().putString("password","Password to be saved").commit();