Napraviti app slicnu AirDroid-u

poruka: 4
|
čitano: 2.508
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Napraviti app slicnu AirDroid-u

Da li netko zna kako bi se mogla napraviti slična aplikacija kao što je AirDroid

 

Zanima me kako izvesti to spajanje preko wifi i da tek onda bude dostupna ta adresa koja nam se ispise u mobitelu...

Moj PC  
0 0 hvala 0
15 godina
offline
Re: Napraviti app slicnu AirDroid-u
Uny kaže...

Da li netko zna kako bi se mogla napraviti slična aplikacija kao što je AirDroid

 

Zanima me kako izvesti to spajanje preko wifi i da tek onda bude dostupna ta adresa koja nam se ispise u mobitelu...

Pa jako jednostavno.

 

Na mobu je implementirana "light" verzija HTTP servera (navjerojatnije preko full httpcore liba (na droid-u je httpclient) ili jetty-a, mislim da i jedan i drugi lib rade s android-om).

 

Kada pokreneš aplikaciju, ona pogleda koju adresu ti je dodijelio DHCP u lokalnoj mreži, uzme tu adresu i ispiše ti je(tako da znaš na kojem IP-u imaš mob). Nakon toga digne server na portu 8888 (moj omiljeni port) i ti se preko browsera lagano spojiš na light HTTP server.

 

Nakon toga u android aplikaciji handlaš HTTP requestove i prema tome aplikacija nešto radi (npr uninstall aplikacije, itd, što već radi air android)

 

Evo ti snippet kako dobiti IP na android-u

 

public String getLocalIpAddress() {
    try {
        for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
            NetworkInterface intf = en.nextElement();
            for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
                InetAddress inetAddress = enumIpAddr.nextElement();
                if (!inetAddress.isLoopbackAddress()) {
                    return inetAddress.getHostAddress().toString();
                }
            }
        }
    } catch (SocketException ex) {
        Log.e(LOG_TAG, ex.toString());
    }
    return null;
}

'Genius might be the ability to say a profound thing in a simple way' Charles Bukowski
Poruka je uređivana zadnji put čet 1.12.2011 9:28 (dado2202).
14 godina
neaktivan
offline
Napraviti app slicnu AirDroid-u

Hmm, sve to zvuci lijepo, ali meni i dalje nejasno..:D

 

gdje se uopce "kreira" sam izgled povrsine, da li moram imati neki svoj server...ili je pak

sve zivo na aplikaciji...

Moj PC  
0 0 hvala 0
15 godina
offline
Re: Napraviti app slicnu AirDroid-u
Uny kaže...

Hmm, sve to zvuci lijepo, ali meni i dalje nejasno..:D

 

gdje se uopce "kreira" sam izgled povrsine, da li moram imati neki svoj server...ili je pak

sve zivo na aplikaciji...

U slučaju baš ove aplikacije sve mislim da je sve živo na aplikaciji (na mobitelu).

 

Znači svaki puta dok spojiš mob na mrežu kućnu, on dobi drugi IP, većinom u rangu 192.168.XXX.XXX.

Aplikacija na mobu digne server (tj digne socket koji sluša na portu 8888) na localhost-u, pročita IP i ispiše ga korisniku na ekranu.

 

Budući da je mob spojen na kućnu adresu, aplikacija koja je na kompu (na istoj mreži) se može spojiti na taj server, tj. na tu IP adresu +  port. Nakon toga preko protokola kojeg je programer uspostavio šalju se komande sa kompa na mob i odgovori u drugom smjeru.

 

protokol naravno može biti HTTP ili TCP/IP, pretpostavljam da je ovo prvo, ali morao bi sniffati na portu da budem siguran.

 

Ovo je naravno sve apstraktno što govorim, ali nije tako teško implementirati.

'Genius might be the ability to say a profound thing in a simple way' Charles Bukowski
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice