Java 谷歌地图引擎API指南?

Java 谷歌地图引擎API指南?,java,android,google-maps,google-app-engine,Java,Android,Google Maps,Google App Engine,我正在尝试构建一个Android应用程序,它可以在线存储用户的位置,并与使用我的应用程序的所有人共享。我已成功拼凑出以下代码: package com.example.test; import java.util.List; import com.google.android.gms.maps.*; import com.google.android.gms.maps.model.*; import android.app.Activity; import android.cont

我正在尝试构建一个Android应用程序,它可以在线存储用户的位置,并与使用我的应用程序的所有人共享。我已成功拼凑出以下代码:

 package com.example.test;

 import java.util.List;
 import com.google.android.gms.maps.*;
 import com.google.android.gms.maps.model.*;
 import android.app.Activity;
 import android.content.Context;
 import android.location.Location;
 import android.location.LocationManager;
 import android.os.Bundle;
 import android.widget.EditText;

 public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
     LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
     List<String> providers = lm.getProviders(true);
     Location l = null;
     for (int i = providers.size() - 1; i >= 0; i--) 
     {
         l = lm.getLastKnownLocation(providers.get(i));
         if (l != null)
             break;
     }
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    LatLng mapCenter = new LatLng(l.getLatitude(),l.getLongitude());
    float heading = l.getBearing();
    float speed = l.getSpeed();     
    EditText et= (EditText) findViewById(R.id.editText1) ;
    et.setText(heading + " " + speed);
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(mapCenter, 13));
    map.addMarker(new MarkerOptions()
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
            .position(mapCenter)
            .flat(true)
            .rotation(245));
    }
 }
package com.example.test;
导入java.util.List;
导入com.google.android.gms.maps.*;
导入com.google.android.gms.maps.model.*;
导入android.app.Activity;
导入android.content.Context;
导入android.location.location;
导入android.location.LocationManager;
导入android.os.Bundle;
导入android.widget.EditText;
公共类MainActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
LocationManager lm=(LocationManager)this.getSystemService(Context.LOCATION\u服务);
列表提供程序=lm.getProviders(true);
位置l=空;
对于(int i=providers.size()-1;i>=0;i--)
{
l=lm.getLastKnownLocation(providers.get(i));
如果(l!=null)
打破
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Google地图=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
LatLng mapCenter=新LatLng(l.getLatitude(),l.GetLength());
浮动航向=l.getBearing();
浮动速度=l.getSpeed();
EditText et=(EditText)findViewById(R.id.editText1);
et.setText(航向+速度);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(地图中心,13));
addMarker(新的MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_启动器))
.位置(地图中心)
.平坦(真实)
.轮换(245);
}
}
到目前为止,它可以获取我当前的位置、方位、速度,并在我的Android手机上绘制地图。 现在我需要将这些数据发送到某个地方,并从那里获取其他用户。。。 我在网上读了很多关于如何做到这一点的文章,但我没有一步一步地给出任何例子( 我几乎阅读了所有关于: 谷歌数据存储Api 谷歌云商店Api 谷歌地图引擎Api

这三种方法都应该能够以某种形式实现这一点,但我只是没有足够的代码来把它们放在一起


我宁愿不必使用HTTP,而只使用Java作为上述代码的一部分。

不会有任何解决方案不涉及服务器和HTTP。即使您直接在两部手机之间发送,您也需要一个服务器中介。您可能想在线更新数据库(使用AsyncTask发送HTTP POST),然后从服务器请求位置(使用偶尔轮询它的服务或设置websocket—后者还没有好的指南)。您希望服务器介于两者之间的另一个原因是负责身份验证,这样就没有人可以反向工程一种方法来请求或截获不应该访问的用户的位置数据。

确定http…如何?我一直在上下阅读Google数据存储帮助页面,似乎无法将它们粘在一起。。。