Problem u petlji - android

poruka: 8
|
čitano: 1.022
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Problem u petlji - android

Pozdrav!

Krenuo sam raditi jedan program za android i zapeo sam kod For petlje budući sam nov u svemu ovome.

Imam 10 koordinata pa bi se trebao upaliti alarm kad se mobitel nađe u blizini tih koordinata. Testirao sam unoseći ručno koordinate i tako radi program, znači dobro računa udaljenost i upali alarm ali je problem kod petlje, nešto sam preskočio ili krivo napravio (vjerojatno je problem sa "i" u petlji) pa ako možete pomoći. 

Ovo je dio koda.

Hvala!

editTextlatitude.setText(lat);
editText2longitude.setText(longitu);
Double lat1=45.131432;
Double longi1=14.785698;
Double lat2=45.169786;
Double longi2=14.703899;
Double lat3=45.3238795;
Double longi3=14.4907;
Double lat4=45.3355084;
Double longi4=14.4182;
Double lat5=45.3394678;
Double longi5=14.3941149;
Double lat6=45.3484922;
Double longi6=14.3777615;
Double lat7=45.3433005;
Double longi7=14.41249;
Double lat8=45.3181406;
Double longi8=14.4697;
Double lat9=45.3017371;
Double longi9=14.5029402;
Double lat10=45.3513762;
Double longi10=14.345140500000001;
int i;
for (i=1;i<=10;i++){
Location locationA = new Location("point A");
locationA.setLatitude(Double.parseDouble(lat));
locationA.setLongitude(Double.parseDouble(longitu));
Location locationB = new Location("point B");
locationB.setLatitude(lat(i));
locationB.setLongitude(longi(i));
double distance = locationA.distanceTo(locationB);
if(distance < 1500.00) {
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.alarm);
mediaPlayer.start();
editTextdist.setText(Float.toString((float) distance));
}else{
editTextinfo.setText("");

}

 

 
0 0 hvala 0
16 godina
neaktivan
offline
Problem u petlji - android
Prouči šta su varijabla, niz (array) i funkcija, pa ćeš skužit di je problem.
 
0 0 hvala 0
16 godina
neaktivan
offline
Problem u petlji - android

Ma gledao sam....ali ne znam više što bi...

Probao sam sad ovako sa nizom brojeva pa se sad pak ruši

String lat = String.valueOf(location.getLatitude());
String longitu = String.valueOf(location.getLongitude());
//Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();
editTextlatitude.setText(lat);
editText2longitude.setText(longitu);
Double lat1=45.131432;
Double longi1=14.785698;
Double lat2=45.169786;
Double longi2=14.703899;
Double lat3=45.3238795;
Double longi3=14.490795100000001;
Double lat4=45.3355084;
Double longi4=14.4182763;
Double lat5=45.3394678;
Double longi5=14.3941149;
Double lat6=45.3484922;
Double longi6=14.3777615;
Double lat7=45.3433005;
Double longi7=14.41249;
Double lat8=45.3181406;
Double longi8=14.469772;
Double lat9=45.3017371;
Double longi9=14.5029402;
Double lat10=45.3513762;
Double longi10=14.345;
int[] niz={1,2,3,4,5,6,7,8,9,10};
for (int i=1;i<=10;i++){
Location locationA = new Location("point A");
locationA.setLatitude(Double.parseDouble(lat));
locationA.setLongitude(Double.parseDouble(longitu));
Location locationB = new Location("point B");
locationB.setLatitude(lat(niz[i]));
locationB.setLongitude(longi(niz[i]));
double distance = locationA.distanceTo(locationB);
if(distance < 1500.00) {
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.alarm);
mediaPlayer.start();
editTextdist.setText(Float.toString((float) distance));
}else{
editTextinfo.setText("");

}
}
}

Poruka je uređivana zadnji put ned 31.1.2016 22:32 (boro112).
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Problem u petlji - android

Evo malo za vježbu.

Napraviš pomoćnu klasu lokacija

 

class MojaLokacija

{

     Double lat;

     Double lng;

     public Lokacija (double lat, double lng)

     {

          this.lat = lat;

          this.lng = lng;

     }

}

 

Onda napraviš listu tih objekata

 

List<MojaLokacija> lokacije = new List<MojaLokacija>();

 

Pa onda popuniš tu listu sa svojim lokacijama

 

lokacije.add(new MojaLokacija (45.131432, 14.785698));  // i tako za sve svoje lokacije

 

I kad imaš listu tih lokacija odvrtiš petlju

for (int i=0; i<lokacije.size; i++)

{

    Location locationB = new Location("point B");
    locationB.setLatitude(lokacije[i].lat);
    locationB.setLongitude(lokacije[i].lng);
    double distance = locationA.distanceTo(locationB);

}

 

Ovo je sve nekako iz glave ali smisao je tu.

16 godina
neaktivan
offline
Re: Problem u petlji - android

u prvom primjeru si deklarirao gomilu varijabli (lat* i longi*), a onda si imao namjeru koristiti ih kao elemente arraya(šta one nisu) ali si ih pozivao kao funkcije...

u ovom drugom si uveo još jedan novi array u igru, al sve ono šta ne valja od prije je još tu tako da si krenio u krivom smjeru.

 

baci pogled na recimo http://www.homeandlearn.co.uk/java/java.html section 2, 3, 4 i 6 za početak... možda onds skužiš šta želiš.

 

Disclaimer: to mi je google prvo izbacio, neman pojma je li to uopće dobar tutorial, ali čini mi se, bolje išta nego ništa...

16 godina
neaktivan
offline
Problem u petlji - android

Hvala! Kuzim sad sto treba. Nisam bas s javom do sad radio, samo delphi i php...

 
0 0 hvala 0
16 godina
neaktivan
offline
Problem u petlji - android

Napravio i radi.

Promijenio sam "public Lokacija" u "public MojaLokacija" i "lokacije[i].lat" u "MojaLokacija.get[i].lat" itd...

 

Hvala!

 
1 0 hvala 0
16 godina
neaktivan
offline
Re: Problem u petlji - android

Eh greške kada pišeš napamet i mjenjaš imena klasi :)

Drago mi je da si se snašao.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice