Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Android aplikacija i dohvat podataka

[es] :: Java :: Android aplikacija i dohvat podataka

[ Pregleda: 2185 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sir drinkalot
Tomo Idaho

Član broj: 293985
Poruke: 23
*.tel.net.ba.



Profil

icon Android aplikacija i dohvat podataka21.11.2011. u 12:43 - pre 150 meseci
Kako nema prikladnog foruma za Android, svoje pitanje ću postaviti ovdje.
Radim jednu aplikaciju za Android (početnik sam, svakim danom nešto novo naučim :) ) koja bi trebala prikazivati podatke (slike i tekst) koji bi se svako
mjesec-dva osvježavali.Stoga, aplikacija mora biti u mogućnosti povlačiti podatke iz neke baze.
Kako imam svoj hosting i između ostalog instaliran jedan sajt na wordpressu, zanima me dali bi bilo izvedivo da u WordPressu pišem članke, koji bi se spremali
u njegovu bazu, a onda da aplikacija povlači te podatke?
Čuo sam da na ovaj način nije pametno raditi (spajati aplikaciju direktno na bazu-neki preporučuju korištenje nekih APIja), pa me zanimaju vaši savjeti...
Hvala :)
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
*.dynamic.isp.telekom.rs.



+87 Profil

icon Re: Android aplikacija i dohvat podataka21.11.2011. u 13:13 - pre 150 meseci
Nije pametno raditi, prvo sto je nesigurno, a drugo sto je nestabilno, ne znas sta ce sve wifi ruteri da blokiraju.
HTTP ce da radi svugde tako da je njega najbolje koristiti.

Mozes i da napises svoj jednostavan API koji ce da se spaja na bazu i tebi prosledjuje te podatke.

U principu svede se na to da napravis web stranu u script jeziku po izboru( php, .NET, python.. )
Prihvatas POST/GET parametre a na izlaz saljes xml ili JSON, kako ti je lakse.

Sto se slika tice, njih samo posaljes link pa dohvatis, evo ti moja funkcija koju koristim u jednoj aplikaciju da dohvatim Bitmap objekat iz URL-a. Samo sto ova funkcija radi kesiranje na karticu slike, malo je specifican slucaj ali mozes da izbacis sto ti ne treba. Ova funkcija prvo proveri da li je slika na kartici, pa ako nije onda je tek skida sa inerneta. Ti mozes da izbacis sve to.


Code:

public static Bitmap getBitmapFromUrl(String url, String imageName, int module, int topic) {
        if (url == null) {
            return null;
        }
        File SDCardRoot = Environment.getExternalStorageDirectory();
        
        Bitmap bm = BitmapFactory.decodeFile(SDCardRoot.toString()+SDCARD_PHOTOS_FOLDER+"/"+module+"/"+topic+"/"+imageName);
        if(bm!=null) {
            return bm;
        }
        HttpGet httpGet = null;
        httpGet = new HttpGet(URI.create(url + imageName));
        HttpClient httpClient = getThreadSafeClient();

        try {
            HttpResponse response = (HttpResponse) httpClient.execute(httpGet);
            HttpEntity entity = response.getEntity();
            BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
            InputStream inputStream = bufHttpEntity.getContent();
            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
            if (bitmap == null) {
                return null;
            }
            
            File dir = new File(SDCardRoot.toString()+SDCARD_PHOTOS_FOLDER+"/"+module+"/"+topic);
            dir.mkdirs();
            File file = new File(dir,imageName);
            FileOutputStream fileOutput = new FileOutputStream(file);
            bitmap.compress(CompressFormat.JPEG, 100, fileOutput);
            //close the output stream when done
            fileOutput.flush();
            fileOutput.close();
            getDatabaseUtilities().setPhotoDownlaoded(imageName, true);
            
            return bitmap;
        } catch (ClientProtocolException e) {
             e.printStackTrace();
        } catch (IOException e) {
             e.printStackTrace();
        }
        return null;
    }


A ovde i funkcija getThreadSafeClient(); koja vraca Thread safe http client.
Code:

public static DefaultHttpClient getThreadSafeClient()  {

        DefaultHttpClient client = new DefaultHttpClient();
        ClientConnectionManager mgr = client.getConnectionManager();
        HttpParams params = client.getParams();
        client = new DefaultHttpClient(new ThreadSafeClientConnManager(params, 
                mgr.getSchemeRegistry()), params);
        return client;
    }
 
Odgovor na temu

sir drinkalot
Tomo Idaho

Član broj: 293985
Poruke: 23
*.tel.net.ba.



Profil

icon Re: Android aplikacija i dohvat podataka21.11.2011. u 13:52 - pre 150 meseci
NNN, hvala na pomoći, no ipak ću ja još malo pure morati pojesti dok sve ne uspijem sam iz temelja napraviti :)
Imaš li ikakav link ili savjet gdje bih mogao malo više saznati kako da ovo uradim?

 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
*.dynamic.isp.telekom.rs.



+87 Profil

icon Re: Android aplikacija i dohvat podataka21.11.2011. u 14:22 - pre 150 meseci
Sta te tacno interesuje? Sto se tice linkova, nemam nesto, uglavnom se snalazim i ja po forumima i stackoverflow kada zapnem negde.
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.dta.co.rs.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Android aplikacija i dohvat podataka21.11.2011. u 14:44 - pre 150 meseci
Ajd da probam da ti preporucim jednu biblioteku koja mnogo moze da ti olaksa rad sa komunikacijom.

http://www.restlet.org
http://wiki.restlet.org/docs_2...t/318-restlet/303-restlet.html

Imas nekoliko edicija za samu biblioteku , J2EE (tomcat/jboss/jetty), J2SE (standardna java), Android, Google App engine , i google web toolkit. Definises interfejse i objekte koje koristis za slanje podataka, na osnovu toga mapiras na androidu klijenta a na serveru napravis implementaciju. Zgodna je stvar sto ne moras da se mucis oko pravljenja jsona ili xml-a vec to sve biblioteka radi za tebe sa obe strane.
 
Odgovor na temu

sir drinkalot
Tomo Idaho

Član broj: 293985
Poruke: 23
*.tel.net.ba.



Profil

icon Re: Android aplikacija i dohvat podataka21.11.2011. u 15:24 - pre 150 meseci
Citat:
Dejan Lozanovic: Ajd da probam da ti preporucim jednu biblioteku koja mnogo moze da ti olaksa rad sa komunikacijom.

http://www.restlet.org
http://wiki.restlet.org/docs_2...t/318-restlet/303-restlet.html

Imas nekoliko edicija za samu biblioteku , J2EE (tomcat/jboss/jetty), J2SE (standardna java), Android, Google App engine , i google web toolkit. Definises interfejse i objekte koje koristis za slanje podataka, na osnovu toga mapiras na androidu klijenta a na serveru napravis implementaciju. Zgodna je stvar sto ne moras da se mucis oko pravljenja jsona ili xml-a vec to sve biblioteka radi za tebe sa obe strane.


Hvala na pomoći, bacam se odmah na proučavanje :)

 
Odgovor na temu

[es] :: Java :: Android aplikacija i dohvat podataka

[ Pregleda: 2185 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.