-5

我一直在寻找正确的方法来使用我的 MainActivity 中的以下代码并将结果拉到另一个活动中,这样我就可以调用一个 URL ' http://www.website.com?lat:lng: speed:bearing ' 这将基于通过的值。

locationCheck() 位于我的 Mainactivity 中,但我有一个 JSONParse 活动,我想使用找到的位置来构造 url。我不知道如何分享结果。

在 HTML 或 PHP 中,我会使用全局值。

虽然我可以在创建时打电话和敬酒,但我还没有找到分享结果的最佳方式。

public void locationCheck() {
        MyLocation myLocation = new MyLocation();       
        // this is the result
        myLocation.getLocation(this, locationResult);
    }

    public LocationResult locationResult = new LocationResult() {
        public void gotLocation(final Location location) {
            try {
                double lat = location.getLatitude();
                double lng = location.getLongitude();
                if (lat != 0.0 && lng != 0.0) {

                    String sLat;
                    String sLng;
                    sLat = Double.toString(lat);
                    sLng = Double.toString(lng);
                    String gps_location = sLat + " : " + sLng;
                    Toast.makeText(getBaseContext(),
                            "We got gps location! " + gps_location + "",
                            Toast.LENGTH_LONG).show();
                }
            } catch (Exception e) {

            }
        }
    };
4

1 回答 1

0

以下允许我运行位置活动并将其结果作为字符串发布到全局可访问的表单中,然后允许我以通过另一个活动创建上下文感知 URL 的格式使用...

如您所见,toast 使用全局值,这使我可以在可访问的地方测试它们。

在主要活动中......

public void locationCheck() {
    MyLocation myLocation = new MyLocation();       
    // this is the result
    myLocation.getLocation(this, locationResult);
}

public LocationResult locationResult = new LocationResult() {
    public void gotLocation(final Location location) {
        try {
            double lat = location.getLatitude();
            double lng = location.getLongitude();
            double bearing = location.getBearing();
            double speed = location.getSpeed();
            if (lat != 0.0 && lng != 0.0) {

                String sLat;
                String sLng;
                String sBearing;
                String sSpeed;  

                sLat = Double.toString(lat);
                sLng = Double.toString(lng);
                sBearing = Double.toString(bearing);
                sSpeed = Double.toString(speed);

                // send to global vars

                Globals.glat = sLat;
                Globals.glng = sLng;
                Globals.gBearing = sBearing;
                Globals.gSpeed = sSpeed;    

                String gps_location = Globals.glat + " : " + Globals.glng;

                @SuppressWarnings("unused")
                String gps_location2 = sBearing + " : " + sSpeed;

                Toast.makeText(getBaseContext(),
                        "We got gps location! " + gps_location + "",
                        Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {

        }
    }
};

在 Globals 活动中

// Global Values
// http://stackoverflow.com/questions/3100726/sharing-global-variables-across-activities-problem-when-using-a-webview
// http://stackoverflow.com/questions/708012/android-how-to-declare-global-variables?rq=1

   public class Globals {

   static String glat; 
   static String glng;
   static String gBearing;
   static String gSpeed;

}
于 2013-05-12T21:22:32.073 回答