在两个类之间传递数据

时间:2017-12-08 07:10:20

标签: java android android-studio-3.0

我正在尝试搜索信标设备并获得Majoy&轻微,然后发送数据请求,但我遇到的问题是我不知道如何在两部分之间发送数据..
我想把beacon.getMajor()jsonObject.put("uuid", a)

谢谢!

这是我的代码。

private List<String> placesNearBeacon(Beacon beacon) {
    int a = beacon.getMajor();
    final String b = String.valueOf(beacon.getMajor());
    Log.v("show", String.valueOf(a));

    Intent intent = new Intent(this,AsyncLogin.class);
    intent.putExtra("MAJOR",a);

    startActivity(intent);
    if (a == 258){
        new AsyncLogin().execute(String.valueOf(a));
    }
    String beaconKey = String.format("%d:%d", beacon.getMajor(), beacon.getMinor());
    return Collections.emptyList();
}

enter code here

private class AsyncLogin extends AsyncTask<String, String, String>
{
    HttpURLConnection conn;
    URL url = null;

    Uri a = new Intent().getData();

    @Override
    protected String doInBackground(String... params) {

        try {

            // Enter URL address where your php file resides
            url = new URL("http://etriplay.com/app/beacon_GetInform.php");

        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return "exception";
        }
        try {
            // Setup HttpURLConnection class to send and receive data from php and mysql
            conn = (HttpURLConnection)url.openConnection();
            conn.setReadTimeout(READ_TIMEOUT);
            conn.setConnectTimeout(CONNECTION_TIMEOUT);
            conn.setRequestMethod("POST");

            // setDoInput and setDoOutput method depict handling of both send and receive
            conn.setDoInput(true);
            conn.setDoOutput(true);
            // JSON

            JSONObject jsonObject = new JSONObject();
            jsonObject.put("userid", "membe00001");
            jsonObject.put("mail", "test@mail.com");
            jsonObject.put("uuid", a);

            Log.v("v", String.valueOf(jsonObject));

            // Open connection for sending data
            OutputStream os = conn.getOutputStream();
            BufferedWriter writer = new BufferedWriter(
                    new OutputStreamWriter(os, "UTF-8"));
            writer.write(String.valueOf(jsonObject));
            writer.flush();
            writer.close();
            os.close();
            conn.connect();

2 个答案:

答案 0 :(得分:0)

在这种情况下如果你想让对象或东西放在json中,你可以通过 - :

来做
try
{
      jsonObject.put("value",chatMessage.getDate());
}
catch (JSONException e)
{
       e.printStackTrace();
}

jsonobject.put("key",value);

一样

您可以指定int value,string value,boolean值或任何您想要的值

答案 1 :(得分:0)

参考此链接。这是在不使用bundle或任何东西的情况下在类之间传递数据的最新方法。 Click here