J'ai essayé d'utiliser un localisateur d'emplacement initialisé dans la fonction onCreate de MainActivity. Dans cette fonction, l'emplacement doit également être demandé, mais pendant le débogage, j'ai découvert que l'auditeur commence à donner des coordonnées après que la fonction a fonctionné. L'attente n'a pas fonctionné non plus.Récupérer l'emplacement lorsque l'activité charge (dans onCreate)
Comment puis-je obtenir l'emplacement pendant que l'activité est créée ou comment puis-je modifier la vue des activités à l'aide d'un fil de discussion? L'écouteur ressemble fondamentalement à cela.
public class GPS implements android.location.LocationListener {
@Override
public void onLocationChanged(Location location) {
if(data.get_gps) {
try {
data.Latitute = ((Double)(location.getLatitude()*100)).intValue();
data.Longitute = ((Double)(location.getLongitude()*100)).intValue();
Thread.sleep(250);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
...
}
La classe de données que je utilise est pour l'économie et transfering reçu ... données
public class data {
public static GPS locationListener;
public static int Latitute = 0;
public static int Longitute = 0;
public static boolean gB_GPS_searched = false;
private static Map<String,int[]> coordinates = new HashMap<String,int[]>();
private static int gI_current_city = -1;
private static List<String> g_piernames = new ArrayList<>();
public static void set_pier(String pS_piername)
{
for(int i = 0; i < g_piernames.size(); i++)
if(g_piernames.get(i).equals(pS_piername))
{
gI_current_city = i;
i = g_piernames.size();
}
}
public static String get_pier_name()
{
return g_piernames.get(gI_current_city);
}
public static String get_closest_pier()
{
String cityname = "";
int x = -1;
int y = -1;
for (Object key : coordinates.keySet().toArray()) {
if(x == -1)
{
x = coordinates.get(key.toString())[0];
y = coordinates.get(key.toString())[1];
cityname = key.toString();
}else{
if(pyth(Math.abs(Latitute-x),Math.abs(Longitute-y)) > pyth(Math.abs(Latitute-coordinates.get(key.toString())[0]),Math.abs(Longitute-coordinates.get(key.toString())[1])))
{
x = coordinates.get(key.toString())[0];
y = coordinates.get(key.toString())[1];
cityname = key.toString();
}
}
}
return cityname;
}
private static int pyth(int a, int b)
{
return ((Double)Math.sqrt(a*a+b*b)).intValue();
}
}
tbh c'est mon premier projet avec android. Où dois-je placer les fichiers et les codes de compilation? –
@TimoTreichel J'ai mis à jour la réponse, s'il vous plaît jeter un oeil. –
J'ai mis à jour votre réponse à comment cela a fonctionné pour moi –