есть Активити
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private static final String TAG = "myLogs";
private GoogleMap mMap;
List
//--------------------------------------------------------------------------------------------------
public List
public void setFullDrivers(List
@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);
//Запускаю поток для считывания данных из базы
AllDriverParsing allDriverParsing = new AllDriverParsing(MapsActivity.this);
allDriverParsing.execute();
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
Здесь происходит считывание данных .
public class AllDriverParsing extends AsyncTask
List
@Override
protected String doInBackground(String... params) {
try {
//--------------------------------------------------------------------------------------
//Соеденяемся с url
URL url = new URL(url_getalldriver);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
//--------------------------------------------------------------------------------------
//Открываем поток для чтения
BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuffer response=new StringBuffer();
String line;
while ((line = br.readLine())!=null){
response.append(line + "
");
}
br.close();
connection.disconnect();
return response.toString();
//-------------------------------------------------------------------------------------------
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
parse(s);
}
//--------------------------------------------------------------------------------------------------
//метод для парсинга данных
private void parse(String all){
try {
JSONArray jsonArray = new JSONArray(all);
JSONObject jsonObject = null;
fullDrivers.clear();
FullDriver fullDriver;
for (int i = 0;i
fullDriver=new FullDriver();
fullDriver.setId(id);
fullDriver.setName(name);
fullDriver.setCarnumber(carnumber);
fullDriver.setLatlng(latlng);
fullDriver.setNumber(number);
fullDriver.setOrigin(origin);
fullDriver.setDestinition(destinitiom);
fullDrivers.add(fullDriver);
}
//Пытаюсь передать список в MapsActvitty*
MapsActivity mapsActivity = new MapsActivity();
mapsActivity.setFullDrivers(fullDrivers);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
2 Дня немогу это сделать !!!
Ответ
Надо MapsActivity передать в качестве параметра в конструктор вашего AsyncTask
public class AllDriverParsing extends AsyncTask
//blah-blah
private void parse(String all){
//blah-blah
mapsActivity.setFullDrivers(fullDrivers);
}
}
Комментариев нет:
Отправить комментарий