在两个Android应用程序之间共享数据

时间:2011-05-19 21:31:35

标签: java android gps

我有一个java应用程序以奇怪的格式存储一些GPS数据:

(纬度,经度,workerId)使用此类:

public class Coordinate {
  private final double lon;
  private final double lat;
  private final int workerId;

  public Coordinate(double lat, double lon, int workerId) {

    this.lat = lat;
    this.lon = lon;

    this.workerId=workerId;
  }

  public double getLon() {
    return lon;
  }

  public double getLat() {
    return lat;
  }
  public int getwId(){
      return workerId;
   }
}

事情是,每次我有一个(经度,纬度),我必须在该对中添加一个workerId(这是一个int)。

现在这是我的问题:

这种格式的数据我将它发送到一个不熟悉这种格式的Android应用程序....

你是否知道我是否有可能在整个应用程序的android端从这种格式中获取经度和纬度?

我有理由以这种形式发送数据:)

如果我在我的Android应用程序中构建了一个类,就像用于包装数据的那个......我可以得到原始数据吗?

更新

我的第一个应用是在java中,是一个侦听到特定端口的传入连接的服务器。

我的第二个应用是在Android上,是一种客户端。

这两个通过套接字进行通信....所以没有磁盘写入....没有什么。 第一个在本地机器上,第二个在手机上。

是的,我是从上面通过套接字和类的实例发送的!

类似的东西:

Coordinate coord=new Coordinate(lat,long,id);    
os.println(coord);

如何在Android应用程序上恢复数据?

2 个答案:

答案 0 :(得分:1)

如果您要将数据发送到其他应用,您是否使用Intent启动它?如果您是,您可以拥有一个实现可序列化的存储类,并使用Intent传递Bundle中的数据。如果您没有使用Intent启动,则可以将数据写入磁盘并从其他应用程序中读取。

答案 1 :(得分:1)

我猜您的应用程序正在发送您展示的课程实例?如果是这样,为什么不给Android应用程序提供类文件,以便重新创建对象并从中读取?

如果您想在同一设备上的两个 Android - 应用之间分享内容,则会使用ContentProvider


您不能只发送一个对象的实例并在另一侧接收它。对象必须序列化和反序列化(在接收方)。因此,Java具有ObjectOutputStream - 和ObjectInputStream - 类。