获取GPS坐标并保存为文本文件

时间:2014-05-21 03:40:25

标签: android text gps latitude-longitude android-location

首先,我是一个完整的机器人noob,你可以提供的任何帮助都可能需要用最基本的语言来供我理解。

基本上我需要使用某些功能扩展当前的应用程序。当前的应用程序已经能够使用代码字+密码向手机发送短信,并且它将识别手机的GPS坐标。

我要做的是将这些GPS坐标保存在发送文本的用户可查看的文本文件中。不幸的是,我不知道这个代码会是什么样子。我试图搜索网络,但我无法找到任何我有能力实施的内容。

感谢任何能够提供帮助的人。

1 个答案:

答案 0 :(得分:1)

希望这些可以帮助你

链路

http://developer.android.com/guide/topics/data/data-storage.html

代码:

locationManagerNetwork = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    Location location2 = locationManagerNetwork
                    .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

if (location2 != null) {       
                String message = String
                        .format("Yout location : \n Longitude: %1$s \n Latitude: %2$s",
                                location2.getLongitude(), location2.getLatitude());
                Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG)
                        .show();

   //use here file writer if you want to write the coordinastes in a text file
            }

写sd卡

File sdcard = Environment.getExternalStorageDirectory();
        File f = new File(sdcard, "/yourfile");

if(!f.exsist()){
f.createNewFile();
//Use outwriter here, outputstream search how to write into a tet file in java code 
}

您也可以使用此代码

@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    if (location != null) {
        long time= System.currentTimeMillis();
        String millisec = "" + time;
        double lat = location.getLatitude();
        double longe = location.getLongitude();
        loc = millisec + "\t" + lat + "\t" + longe + "\n"; 
        try {
            FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_APPEND);
            fos.write(loc.getBytes());
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}