2012-03-16 32 views
-1
  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();*** 

          } 
         } 


          } 
         } 


        } 
+2

,並且錯誤是...? – 2012-03-16 13:43:03

回答

1

您正在嘗試寫Location對象爲File。這是行不通的,因爲你必須先把它變成某種類型的字符串。如果您稍後嘗試讀取Location,則可以考慮保存Location對象的JSON表示。

我建議Gson,因爲它使序列化非常簡單:

Gson gson = new Gson(); 
JsonObject json = gson.toJson(location2); 
String text = json.toString();