CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Varioflex con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 14 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 35 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 11
Discussione:

hotspot due domande e chiarimento maps

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    hotspot due domande e chiarimento maps

    amici sto progettando una app che deve rilevare gli hotspot e salvarli in un db e poi devo disegnarli in una mappa di google...

    il mio problema è...come faccio a salvare il luogo di dove ho trovato l'hotspot...

    attualmente il mio db è funzionante e salva dentro nella tabella hotspots queste informazioni: nome_rete, copertura, sicurezza!!
    mi servirebbe salvare un campo luogo tipo = varese, milano, ecc ecc...

    e le mappe come funzionano??
    posso integrare nella classe wifiscanner qualcosa che utilizza la posizione da dove sto usando il wireless x scannerizzare le reti??

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao! Premesso che non ho molta esperienza nella programmazione Android e che potrei quindi darti dei consigli errati, io lancerei un intentservice in background che ascolti la posizione del dispositivo attraverso dei callback a intervalli regolari (le interfacce da implementare per GMaps V2 sono GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListene r, LocationListener), sull'onLocationChanged salvi all'interno di una variabile globale (attraverso una classe singleton oppure estendendo la classe Application) la posizione del dispositivo e quando trovi l'hotspot prendi la latitudine e la longitudine della location salvata nella variabile globale e la inserisci nel db.
    Purtroppo non avendo degli studi universitari alle spalle il mio modo di esporre non è propriamente tecnico, per cui potrei essere stato poco chiaro. Se desiderassi degli ulteriori chiarimenti sono a disposizione, se invece ho sbagliato completamente risposta, abbi pazienza, ma sono alle prime armi. ;-)

  4. #3
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da pibraccus Visualizza il messaggio
    Ciao! Premesso che non ho molta esperienza nella programmazione Android e che potrei quindi darti dei consigli errati, io lancerei un intentservice in background che ascolti la posizione del dispositivo attraverso dei callback a intervalli regolari (le interfacce da implementare per GMaps V2 sono GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListene r, LocationListener), sull'onLocationChanged salvi all'interno di una variabile globale (attraverso una classe singleton oppure estendendo la classe Application) la posizione del dispositivo e quando trovi l'hotspot prendi la latitudine e la longitudine della location salvata nella variabile globale e la inserisci nel db.
    Purtroppo non avendo degli studi universitari alle spalle il mio modo di esporre non è propriamente tecnico, per cui potrei essere stato poco chiaro. Se desiderassi degli ulteriori chiarimenti sono a disposizione, se invece ho sbagliato completamente risposta, abbi pazienza, ma sono alle prime armi. ;-)

    ciao grazie mille per la risposta, tu diresti quindi che quando lancio la ricerca degli hotspot, di creare un intent che ascolta la mia posizione GPS e che salvi le variabili latitudinali e longitudinali in modo tale che oltre alle info degli hotspot ho anche queste due informazioni il che sarebbe l'ideale per sapere dove ho scovato le reti wifi....hai un esempio per farmi capire questa cosa o c'è in rete??

  5. #4
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao, scusa se non ti ho risposto prima, ma sono stato sommerso dal lavoro... Per quanto riguarda il momento in cui far partire la ricerca delle coordinate non ti consiglio farlo al momento dell'apertura dell'activity/fragment in cui effettui la ricerca dell'hotspot in quanto il dispositivo non determina immediatamente la propria posizione e in base a determinate condizioni potrebbe impiegarci anche qualche secondo, quindi il momento ideale sarebbe, qualora tu ne avessi progettato una, all'apertura della schermata splash. Per quanto riguarda l'esempio ti copio e incollo il codice di una mia app, come ti scrivevo sopra però non sono un guru della programmazione e ci potrebbe quindi essere qualche aspetto che proabilmente andrebbe curato meglio.

    IntentService:

    public class AccessoPosizione extends IntentService{

    private static final long MINUTI_DI_ATTIVAZIONE = 30*60*1000;

    private static final int GO_AHEAD_WHAT = 1;
    private LocationClient mLocationClient;
    private Location location;
    private Handler mHandler = new Handler() {


    @Override
    public void handleMessage(Message msg) {
    // TODO Auto-generated method stub
    switch(msg.what){
    case GO_AHEAD_WHAT:
    if (mLocationClient != null && mLocationClient.isConnected()){
    mLocationClient.disconnect();
    mLocationClient = null;
    }

    }
    }

    };
    public AccessoPosizione() {
    super("AccessoPosizione");
    // TODO Auto-generated constructor stub
    }



    /**
    * @param location the location to set
    */
    public void setLocation(Location location) {
    this.location = location;
    }





    /**
    * @return the location
    */
    public Location getLocation() {
    return location;
    }



    @Override
    protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    MyLocationCallBacks mLocationCallBacks = new MyLocationCallBacks(this);
    mLocationClient = new LocationClient(AccessoPosizione.this, mLocationCallBacks, mLocationCallBacks);
    mLocationClient.connect();
    final Message finish = mHandler.obtainMessage(GO_AHEAD_WHAT);
    mHandler.sendMessageAtTime(finish, MINUTI_DI_ATTIVAZIONE);
    }

    public class MyLocationCallBacks implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListene r, LocationListener{


    private final static long ONE_MINUTE = 1*60*1000;
    private AccessoPosizione ctx;

    MyLocationCallBacks(AccessoPosizione ctx){
    this.ctx = ctx;
    }



    @Override
    public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    ctx.setLocation(location);

    SALVA LA LOCATION IN UNA VARIABILE GLOBALE

    }







    @Override
    public void onConnectionFailed(ConnectionResult arg0) {
    // TODO Auto-generated method stub

    }

    @Override
    public void onConnected(Bundle arg0) {
    // TODO Auto-generated method stub
    LocationRequest locationRequest = new LocationRequest();
    locationRequest.setSmallestDisplacement(10);
    locationRequest.setExpirationDuration(ONE_MINUTE);
    mLocationClient.requestLocationUpdates(locationReq uest, this);

    }

    @Override
    public void onDisconnected() {
    // TODO Auto-generated method stub

    }



    }

    }


    Nella mia app non ho necessità di aggiornamenti molto frequenti per cui ho settato il tutto in maniera che aggiorni la posizione ogni minuto e ogni spostamento di 10 metri, chiaramente puoi settare questi parametri come meglio credi. Io l'intent service lo attivo per 30 minuti dal momento dell'apertura dell'app, anche questo parametro dovrai personalizzarlo come meglio credi.

    All'interno della schermata splash (o dove intendi far partire l'intent) fai partire l'intent:

    Intent intent = new Intent(this, AccessoPosizione.class);
    startService(intent);

    Per le variabili globali io uso una classe singoletto, ma molti perferiscono l'approccio dell'estensione della classe application. Per prenderti le coordinate della location basta usare i metodi location.getLatitude() e location.getLongitude. Spero di esserti stato utile, se hai bisogno di altri chiarimenti non esitare a scrivere nuovamente.
    Ultima modifica di ZiCkY; 23-06-14 alle 11:02

  6. #5
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da pibraccus Visualizza il messaggio
    Provo a risponderti ma al momento del messaggio che contiene il codice ricevo l'errore che dice che non è possibile inserire link nei post sebbene io non abbia inserito alcun link. Ho inviato una richiesta di supporto all'amministratore del forum inoltrando il testo del mio messaggio chiedendogli cortesemente di incollarlo qui. Mi spiace di non poterti aiutare prima...

    grazie davvero dell'aiuto cosi una volta capita questa cosa posso salvare la location e disegnarla sulla mappa

  7. #6
    Androidiani Power User L'avatar di ZiCkY


    Registrato dal
    Mar 2009
    Messaggi
    28,518

    Ringraziamenti
    108
    Ringraziato 5,799 volte in 3,998 Posts
    Predefinito

    Quote Originariamente inviato da pibraccus Visualizza il messaggio
    Ciao, scusa se non ti ho risposto prima, ma sono stato sommerso dal lavoro... Per quanto riguarda il momento in cui far partire la ricerca delle coordinate non ti consiglio farlo al momento dell'apertura dell'activity/fragment in cui effettui la ricerca dell'hotspot in quanto il dispositivo non determina immediatamente la propria posizione e in base a determinate condizioni potrebbe impiegarci anche qualche secondo, quindi il momento ideale sarebbe, qualora tu ne avessi progettato una, all'apertura della schermata splash. Per quanto riguarda l'esempio ti copio e incollo il codice di una mia app, come ti scrivevo sopra però non sono un guru della programmazione e ci potrebbe quindi essere qualche aspetto che proabilmente andrebbe curato meglio.

    IntentService:

    public class AccessoPosizione extends IntentService{

    private static final long MINUTI_DI_ATTIVAZIONE = 30*60*1000;

    private static final int GO_AHEAD_WHAT = 1;
    private LocationClient mLocationClient;
    private Location location;
    private Handler mHandler = new Handler() {


    @Override
    public void handleMessage(Message msg) {
    // TODO Auto-generated method stub
    switch(msg.what){
    case GO_AHEAD_WHAT:
    if (mLocationClient != null && mLocationClient.isConnected()){
    mLocationClient.disconnect();
    mLocationClient = null;
    }

    }
    }

    };
    public AccessoPosizione() {
    super("AccessoPosizione");
    // TODO Auto-generated constructor stub
    }



    /**
    * @param location the location to set
    */
    public void setLocation(Location location) {
    this.location = location;
    }





    /**
    * @return the location
    */
    public Location getLocation() {
    return location;
    }



    @Override
    protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    MyLocationCallBacks mLocationCallBacks = new MyLocationCallBacks(this);
    mLocationClient = new LocationClient(AccessoPosizione.this, mLocationCallBacks, mLocationCallBacks);
    mLocationClient.connect();
    final Message finish = mHandler.obtainMessage(GO_AHEAD_WHAT);
    mHandler.sendMessageAtTime(finish, MINUTI_DI_ATTIVAZIONE);
    }

    public class MyLocationCallBacks implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListene r, LocationListener{


    private final static long ONE_MINUTE = 1*60*1000;
    private AccessoPosizione ctx;

    MyLocationCallBacks(AccessoPosizione ctx){
    this.ctx = ctx;
    }



    @Override
    public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    ctx.setLocation(location);

    SALVA LA LOCATION IN UNA VARIABILE GLOBALE

    }







    @Override
    public void onConnectionFailed(ConnectionResult arg0) {
    // TODO Auto-generated method stub

    }

    @Override
    public void onConnected(Bundle arg0) {
    // TODO Auto-generated method stub
    LocationRequest locationRequest = new LocationRequest();
    locationRequest.setSmallestDisplacement(10);
    locationRequest.setExpirationDuration(ONE_MINUTE);
    mLocationClient.requestLocationUpdates(locationReq uest, this);

    }

    @Override
    public void onDisconnected() {
    // TODO Auto-generated method stub

    }



    }

    }


    Nella mia app non ho necessità di aggiornamenti molto frequenti per cui ho settato il tutto in maniera che aggiorni la posizione ogni minuto e ogni spostamento di 10 metri, chiaramente puoi settare questi parametri come meglio credi. Io l'intent service lo attivo per 30 minuti dal momento dell'apertura dell'app, anche questo parametro dovrai personalizzarlo come meglio credi.

    All'interno della schermata splash (o dove intendi far partire l'intent) fai partire l'intent:

    Intent intent = new Intent(this, AccessoPosizione.class);
    startService(intent);

    Per le variabili globali io uso una classe singoletto, ma molti perferiscono l'approccio dell'estensione della classe application. Per prenderti le coordinate della location basta usare i metodi location.getLatitude() e location.getLongitude. Spero di esserti stato utile, se hai bisogno di altri chiarimenti non esitare a scrivere nuovamente.
    ok inserito io

  8. #7
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da ZiCkY Visualizza il messaggio
    ok inserito io
    ok grazie mille ad entrambi...

    se eventualmente avessi ancora dubbi ti chiedo

  9. #8
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    questa istruzione a cosa serve??

    private LocationClient mLocationClient;

    perchè non riesco a capirla....
    Ultima modifica di Chry1911; 23-06-14 alle 19:36

  10. #9
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Mclient cos e??
    Ultima modifica di Chry1911; 06-07-14 alle 21:53

  11. #10
    Androidiano L'avatar di Chry1911


    Registrato dal
    Oct 2012
    Località
    Varese
    Messaggi
    100
    Smartphone
    Samsung galaxy note II

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    ho risolto, qualcuno mi spiega al volo come si può disegnare sulla maps?? c'è un modo??

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy