1

場所を取得するアプリケーションを開発しましたが、aspx Web ページを使用してサーバーに保存する必要があります。Web ページにテーブルを作成しましたが、一意の ID を imi として使用して、これらの緯度経度を Web ページに保存する必要がありますか?

Imei、latlong、datetime
aspx 名 / http://Log.aspx /のテーブルを作成しました。

誰か助けてください。たくさん検索しましたが、理解できませんでした。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        {
            // initialize location manager

            manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

            // check if GPS is enabled
            // else switch on gps

            if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                Intent intent = new Intent(
                        "android.location.GPS_ENABLED_CHANGE");
                intent.putExtra("enabled", true);
                this.sendBroadcast(intent);

                String provider = Settings.Secure.getString(
                        getContentResolver(),
                        Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
                if (!provider.contains("gps")) { // if gps is disabled
                    final Intent poke = new Intent();
                    poke.setClassName("com.android.settings",
                            "com.android.settings.widget.SettingsAppWidgetProvider");
                    poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
                    poke.setData(Uri.parse("3"));
                    this.sendBroadcast(poke);

                }
            }

            else {

                // get a location provider from location manager
                // empty criteria searches through all providers and returns the
                // best one

                String providerName = manager.getBestProvider(new Criteria(),
                        true);
                Location location = manager.getLastKnownLocation(providerName);

                TextView tv = (TextView) findViewById(R.id.locationResults);
                if (location != null) {
                    tv.setText(location.getLatitude() + " latitude, "
                            + location.getLongitude() + " longitude");

                    Intent intent = new Intent(
                            "android.location.GPS_ENABLED_CHANGE");
                    intent.putExtra("disabled", false);
                    this.sendBroadcast(intent);

                    String provider = Settings.Secure.getString(
                            getContentResolver(),
                            Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
                    if (provider.contains("gps")) { // if gps is enabled
                        final Intent poke = new Intent();
                        poke.setClassName("com.android.settings",
                                "com.android.settings.widget.SettingsAppWidgetProvider");
                        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
                        poke.setData(Uri.parse("3"));
                        this.sendBroadcast(poke);

                    }

                }

                else {

                    // get cell id
                    TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
                    GsmCellLocation loc = (GsmCellLocation) mTelephonyManager
                            .getCellLocation();
                    String networkOperator = mTelephonyManager
                            .getNetworkOperator();

                    Log.d("CID", Integer.toString(loc.getCid()));
                    Log.d("LAC", Integer.toString(loc.getLac()));
                    int mcc = Integer.parseInt(networkOperator.substring(0, 3));
                    int mnc = Integer.parseInt(networkOperator.substring(3));

                    TextView tv1 = (TextView) findViewById(R.id.locationResults);
                    if (loc != null) {
                        tv.setText("Cell ID: " + loc.getCid() + " , " + "Lac: "
                                + loc.getLac() + "mcc : " + mcc + "mnc : "
                                + mnc);
                        // to write it to file
                        appendData("Cell ID: " + loc.getCid() + " , " + "Lac: "
                                + loc.getLac() + "mcc : " + mcc + "mnc : "
                                + mnc);
                    }

                }

                manager.requestLocationUpdates(providerName, 1000 * 60 * 15, 0,
                        this);
            }
        }
    }

    // Find the closest Bart Station
    public String findClosestBart(Location loc) {
        double lat = loc.getLatitude();
        double lon = loc.getLongitude();

        double curStatLat = 0;
        double curStatLon = 0;
        double shortestDistSoFar = Double.POSITIVE_INFINITY;
        double curDist;
        String curStat = null;
        String closestStat = null;

        // sort through all the stations
        // write some sort of for loop using the API.

        curDist = Math.sqrt(((lat - curStatLat) * (lat - curStatLat))
                + ((lon - curStatLon) * (lon - curStatLon)));
        if (curDist < shortestDistSoFar) {
            closestStat = curStat;
        }

        return closestStat;

    }

    @Override
    public void onLocationChanged(Location location) {
        TextView tv = (TextView) findViewById(R.id.locationResults);
        if (location != null) {
            tv.setText(location.getLatitude() + " latitude, "
                    + location.getLongitude() + " longitude");
            // to write the file..
            appendData(location.getLatitude() + " latitude, "
                    + location.getLongitude() + " longitude");
        } else {
            tv.setText("Problem getting gps NETWORK ID : ");

        }
    }
4

1 に答える 1