【问题标题】:How to pass data continously to next activity after cliking button one time单击一次按钮后如何将数据连续传递给下一个活动
【发布时间】:2015-05-29 11:13:53
【问题描述】:

我正在开发android应用程序,我需要在单击一次按钮后将数据连续传递到下一个活动例如:我正在从url获取纬度和经度并使用按钮发送到下一页

//This is my url
private static String url = "http://example.com/android/gps/latlong.php";

//i am getting latitude and longitude from url and store into one string

final String latitudee = c.getString("latitude");
final String longitudee = c.getString("longitude");

//Now i need to pass these two values to next page when i click button

button2.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View arg0) {
             Intent intent = new Intent(context, Nextpage.class);
             intent.putExtra("lat", latitudee);
             intent.putExtra("long",longitudee);
    } 
});


//Next page i am getting those values from mainactivity page

latitudee = getIntent().getExtras().getString("lat");
longitudee = getIntent().getExtras().getString("long");

我的要求:-

纬度和经度是从url连续传来的,所以我需要点击一次后连续传递纬度,经度到下一页。

如果我单击一次并进入第二页,第一次数据将在单击时传递到下一页,但我需要从主要活动中获取连续值

你能帮我怎么做吗?

【问题讨论】:

  • 使用后台服务。
  • 你在mainactivity中使用的是经纬度吗?
  • @BidhanA 你能给我任何样品吗
  • 两个活动不会同时存在(这就是android的工作方式),当您调用 startActivity(..) 时,调用活动将在另一个运行时暂停和停止。这就是人们说您需要在后台服务中处理数据的原因。

标签: android


【解决方案1】:

因此,您需要创建一个后台服务来持续检查经纬度。然后,每次更新这些值时,您将使用广播接收器将更新的值通知您当前的活动。

有关如何创建后台服务的信息可以在这里找到https://developer.android.com/training/run-background-service/create-service.html

【讨论】:

  • 你能按照我的要求给一些样品吗?
【解决方案2】:

更正您的代码......因为你 havent 使用意图开始活动......使用此代码......

button2.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View arg0) {
             Intent intent = new Intent(context, Nextpage.class);
             intent.putExtra("lat", latitudee);
             intent.putExtra("long",longitudee);
                startActivity(intent);
    } 
});

【讨论】:

    【解决方案3】:

    在您当前的 Activity 中,创建一个新 Intent:

    Intent i = new Intent(getApplicationContext(), NewActivity.class);
    i.putExtra("new_variable_name","value");
    startActivity(i);
    

    然后在新 Activity 中检索这些值:

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
    String value = extras.getString("new_variable_name");
    }
    

    【讨论】:

    • 这不会持续提供更新的纬度和经度。这只会在第一次通过。
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    相关资源
    最近更新 更多