当前位置: 首页 > 知识库问答 >
问题:

Android如何将数据从类传递到活动?[副本]

倪灿
2023-03-14
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();
        }
    }
public class UserAreaActivity extends AppCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_area);


        TextView textViewUserArea = (TextView) findViewById(R.id.textViewUserArea);
        EditText editTextName = (EditText) findViewById(R.id.editTextName);
        EditText editTextSurname = (EditText) findViewById(R.id.editTextrSurname);
        EditText editTextUsername = (EditText) findViewById(R.id.editTextUsername);
        EditText editTextPassword = (EditText) findViewById(R.id.editTextPassword);
        EditText editTextAge = (EditText) findViewById(R.id.editTextAge);

//
        String type = "getUser";
        BackgroundWorker backgroundWorker = new BackgroundWorker(this);
        backgroundWorker.execute(type, username);
    }

非常感谢你的帮助。

共有1个答案

蒋波光
2023-03-14
 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

在调用此命令之前,您没有将数据保存在sharedpreferences中,因此用户名和密码都为空,并且看不到任何内容。

您需要首先保存您的数据,然后才能随时访问它们。

 //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();

SharedPreferences用于在不同的应用程序执行之间保存数据(当您关闭和打开应用程序时,您将能够访问数据,前提是您先保存数据)。

 类似资料:
  • 问题内容: 我需要在单击recyclerview的图像时将数据从传递 到 。有人可以帮忙吗? 问题答案: 创建一个侦听器接口,然后让您的MainActivity实现它。这样,您可以在onClick方法中调用回调方法。 接口: 主要活动: 您的VideoAdapter:

  • 如何将数据从活动传递到对话框? 有关更多详细信息,请参阅下图:

  • 我尝试使用 如有任何帮助,不胜感激,谢谢。

  • 在控制器中(也可能是Main或另一个文件,我不确定这一切是如何工作的),我们有以下内容: 在Scene Bilder生成的FXML中,如下所示:

  • 我一直试图使用bundle将数据从主活动传递到片段。我已经使用TabLayout和ViewPager以Tab格式添加活动的片段。我没有得到任何错误,但我得到一个null对象作为返回,它显示“错误”在我的第一个片段,因为我已经添加了一个If条件为null对象。这是我的密码 谁能建议我为什么从主活动到片段得到一个空对象,以及如何将多个数据从主活动转移到其他片段,也就是第二和第三个片段。

  • 我想问一下如何将值从片段a传递到活动B,然后再传递回片段。我尝试使用bundle来传递值,但是它会给出错误的数据。 非常感谢。