package com.locatn;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import android.app.Activity;
import android.content.Context;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;
public class Location extends Activity {
private LocationManager locationManagerNetwork;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
locationManagerNetwork = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
android.location.Location location2 = locationManagerNetwork
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location2 != null) { `enter code here`
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();
//我在这段代码的保存部分遇到很多错误 朋友请帮我纠正这段代码。 我想将获取的位置信息保存为txt文件并将其保存到SD卡。 请帮帮我朋友..... //
// following are the errors //
// Illegal modifier for the local class WriteTextFileExample; only abstract or final is permitted //
*public class WriteTextFileExample{
// The method main cannot be declared static; static methods can only be declared in a static or top level type //
public static void main(String[] args)throws IOException{
Writer output = null;
File sdcard = Environment.getExternalStorageDirectory();
File file = new File("/sdcard/andsecure/mysdfile.txt");
// Multiple markers at this line //
// - BufferedWriter cannot be resolved to a type //
// - BufferedWriter cannot be resolved to a type //
// - Cannot refer to a non-final variable location2 inside an inner class defined in a different //
// method - FileWriter cannot be resolved to a type //
output = new BufferedWriter(new FileWriter(location2));
// text cannot be resolved to a variable //
output.write(text);
output.close();***
}
}
}
}
}
答案 0 :(得分:1)
您正在尝试将Location
对象写入File
。这不起作用,因为您必须先将其转换为某种类型的字符串。如果您稍后尝试阅读此Location
,则可以考虑保存Location
对象的JSON表示。
我建议Gson,因为它使序列化非常容易:
Gson gson = new Gson();
JsonObject json = gson.toJson(location2);
String text = json.toString();