2015-12-12 2 views
0

У меня возникли проблемы с получением данных из файла csv в массивList, поэтому я могу использовать его для создания Polylines позже. Что бы я ни пытался, я не могу заставить его работать правильно. У кого-нибудь есть указатель на то, что я делаю неправильно. Я использую Toast для временного просмотра результата.От csv до ArrayList

Im ожидая кода, чтобы дать мне ArrayList, но он просто возвращает мне пустой список

Im добавляя карты деятельности, где это должно произойти и функцию, которая записывает файл в mainActivity

MapsActivity ;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

private GoogleApiClient client; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 

    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 
} 



@Override 
public void onMapReady(GoogleMap googleMap) { 

    mMap = googleMap; 
    FileInputStream fileInputStream = openFileInput("trip_file"); 
    InputStreamReader inputReader = new InputStreamReader(fileInputStream); 
    BufferedReader BufferedReader = new BufferedReader(inputReader); 
    List<LatLng> latLngList = new ArrayList<LatLng>(); 
    String line = ""; 

    try { 
     while((line = BufferedReader.readLine()) != null) // Read until end of file 
     { 
      double lat = Double.parseDouble(line.split(", ")[0]); 
      double lon = Double.parseDouble(line.split(", ")[1]); 
      latLngList.add(new LatLng(lat, lon)); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

       String teest = String.valueOf(latLngList); 
       Toast.makeText(getBaseContext(), teest, 
         Toast.LENGTH_SHORT).show(); 
      } 

     } 

Этот код в MainActivity записывает файл;

public void onLocationChanged(Location location) { 

    double lat = location.getLatitude(); 
    double lon = location.getLongitude(); 

    myList.add(lat); 
    myList.add(lon); 

    String file_name = "trip_file"; 


    try { 
     String skrive = String.valueOf(myList); 
     FileOutputStream fileOutputStream = openFileOutput(file_name, MODE_PRIVATE); 
     fileOutputStream.write(skrive.getBytes()); 
     fileOutputStream.close(); 
     Toast.makeText(getApplicationContext(), "Location saved",Toast.LENGTH_LONG).show(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 
+0

Это немного расплывчатым. SO лучше справляется с конкретными проблемами. Что вы ожидаете, что происходит вместо этого, и избегайте просто путаницы с кодом и попросите нас «исправить». – arcy

ответ

Смежные вопросы