Extras din proiect
Descriera aplicație: maparea pe harta a stațiilor RATUC, a liniilor de transport și localizarea celei mai apropiate stații pentru o linie data pentru poziția actuala, monitorizarea pozitiei
Scopul aplicatie: facilitarea accesului la transportul în comun, atât pentru turiști cât și pentru persoanele din oraș.
Dependențe:
1)necesare pentru dezvoltarea aplicatiei:
Java JDK
Android SDK
Google API
2) pentru utilizarea aplicației
- dispozitiv mobil cu sistemul de operare Andoid instalat
- acces internet
- acces senzor GPS
Pentru dezvoltarea aceste aplicatii s-a folosit mediul de dezvoltare Eclipse Classic, alaturi de plug-inul ADT.
Se creaza un nou proiect Android in Eclipse (File → New → Android Project).Se va deschide o fereastra wizard in care vom completa numele proiectului (Project Name), versiunea pt sistemul de operare (build target) – de preferat API 7 sau mai mare (datorita numarului mare de dispozitive cu acest API utilizate) iar pentru acesta vom alege Google API. Se vor completa si campurile numele aplicatiei (application name), numele packetului (package name) si numele activitatii.
Daca nu e instalat Google Api se vor executa urmatorii pasi Window → Android SDK and AVD Manager → Available packages → Third party Add-ons si aici alegem Google Api
Vom imparti descrierea cunostintelor necesare dezv. aplicatiei in 2 parti :
utilizare MapView
localizarea
Pentru utilizarea hartilor – Google Map library, ce nu face partedin librarile standard Android, trebuie sa o declaram in Android Manifest. Astfel in tagul <application> din AndroidManifest.xml adaugam urmatorul element:
<uses-library android:name="com.google.android.maps" />
Pentru a putea accesa harta propriu-zisa avem nevoie si de access la internet . Astfel trebuie sa inregistram o cerere pt al putea accesa. Acest lucru se face prin adaugarea elementului:
<uses-permission android:name="android.permission.INTERNET" />
in fisierul AndroidManifest.xml in interiorul tagului <manifest>.
Pentru afisarea hartii in interiorul aplicatier trebuie sa definim un layout com.google.android
.maps.MapView in interioului unui layout principal.
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Maps API Key"/>
Am utilizat proprietatea android:clickable ce permite utilizatorului interactiunea cu harta.
Valoarea pentru proprietatea android:apiKey este unica pentru fiecare Android SDK instalat. Aceasta se obtine prin rularea in linia de comanda a comenzii $ keytool -list -alias androiddebugkey -keystore <path_to_debug_keystore>.keystore -storepass android -keypass android . Dupa rularea acestei comenzi vom afla nr certificatului MD5. Acest nr il vom inregistra pe http://code.google. com/android/maps-api-signup.html si vom avea acces la proproiul Access Key.
Pentru utilizarea mapView clasa principala ve extinde clasa MapActivity si va suprascrie metoda isRouteDisplayed ce permite sa trasam rute pe harta
@Override
protected boolean isRouteDisplayed() {
return false;
}
In metoda onCreate() vom initializa componentele. Initilalizarea mapView se face prin mapView = (MapView) findViewById(R.id.mapview). Vom seta utlizarea zomului default prin urmatoarea linie de cod : mapView.setBuiltInZoomControls(true);
Codul de pana in acest moment va determina aparitia unei harti la pornirea aplicatiei.
Pentru a determina locatia actuala si modificari vom implementa interfata LocationListener si suprascrie metodele onLocationChanged, onStatusChanged, onProviderEnabled, onProviderDisabled.
Pentru a primii update-uri referitoare la locatia curenta de la LocationManager vom apela functia requestlocationUpdates() cand ca parametru un LocationListener
// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
makeUseOfNewLocation(location);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
Pentru a avea acces la GPS trebuie sa intregistram o cerere.Acest lucru se face prin adaugarea elementului <uses-permission android:name="android.permission. ACCESS_FINE_LOCATION" /> in cadrul tag-ului <maifest> din fisierul AndroidManifest.xml
Preview document
Conținut arhivă zip
- Aplicatie Android - Statii Transport.doc