Android + PHP + MySQL (REST)

0

Witam,
Mam zrobioną aplikację na androida, która komunikuje się z serwerem (dodaje/usuwa/modyfikuje produkty do bazy danych) poprzez skrypty PHP. Chcę jednak zmodyfikować te skrypty żeby część serwerowa była REST. Znalazłem poradnik jak zrobić część serwerową tutaj: http://www.androidhive.info/2014/01/how-to-create-rest-api-for-android-app-using-php-slim-and-mysql-day-12-2/. Nie wiem tylko jak komunikować się z serwerem przez android (co zmienić w kodzie).

Teraz mam coś takiego:

protected String doInBackground(String... args) {
            String amount = "0.0";

            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("client_id", userId));
            params.add(new BasicNameValuePair("name", userName));
            params.add(new BasicNameValuePair("surname", userSurname));
            params.add(new BasicNameValuePair("product_name", nameOfProduct));
            params.add(new BasicNameValuePair("amount", amount));

            // getting JSON Object
            // Note that create product url accepts POST method
            JSONObject json = jsonParser.makeHttpRequest(url_create_transaction,
                    "POST", params);

            Log.d("Create Response", json.toString());

            // check for success tag
            try {
                int success = (json.getInt(TAG_SUCCESS));

                if (success == 1) {
                    Intent intent = getIntent();
                    finish();
                    startActivity(intent);
                } else {
                    error = true;
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }
0

Zakładam że ta metoda makeHttpRequest robi za Ciebie całą komunikację z serwerem. Ogólnie polecam poczytać o retroficie i gson.

0

Zgadza się. makeHttpRequest robi wszystko. Ok. Poczytam. Dzięki

0

No to nie bardzo rozumiem o co pytasz. Skopiowałeś kod bezmyślnie a teraz nie chce Ci się nad tym pomyśleć

0
panryz napisał(a):

Ogólnie polecam poczytać o retroficie i gson.

Do REST-a akurat mi osobiście bardziej pasuje spring/jackson.

0

No co pan nie powiesz panie @wojciechmaciejewski
https://spring.io/guides/gs/consuming-rest-android

Szczególnie spring i Android. Z takim zasobem wiedzy to powinieneś pan chyba polecieć na pysk z pracy

0

Niewiedza bierze się z ignorancji. Czy dupę urywa czy d**y nie urywa to byś mógł porównać gdybyś wiedział że coś takiego istnieje.

Tymczasem powyżej widzimy co? Przekrzykiwanie się 2 idiotów, który głosniej obwieści swoją ignorancję i braki w wiedzy. Tymczasem, wystarczyło zajrzeć do oficjalnej dokumentacji żeby się nie błaźnić.

1

Spring for Android blee. Retrofit + RxJava props.

0

Staram się nie robić wycieczek osobistych, więc i teraz nie będę robił.

Pewnie że można springa na androidzie używać. Można i podłączenie do socketa pisać. Albo korzystać z serwisów SOAP-a i osrać RESTa. Bo można.

Można też podróżować na wielbłądzie zamiast lecieć samolotem. Jedno i drugie przecież nadaje się do komunikacji. Tylko że na wielbłądzie będziemy jechać 2 miesiące a samolotem lecieć 3 godziny.

I tak w springu napiszemy na androidzie 300 linijek kodu a w retroficie 3.

Dlatego Spring się nie nadaje na android-a

Ale rozumiem że Twoje ego +10 za to że nawrzucałeś komuś na forum ;-)

Czytanie dokumentacji nie powoduje że stajesz się mądrzejszy

0

Pierdzielisz głupoty, Spring ładnie mapuje resta na klasy i niczego więcej nie trzeba. A sama obsługa to ledwie kilka linijek, co byś wiedział gdybyś chociaż zajrzał do wklejonego wyżej linka. Na przyszłość, zanim coś stwierdzisz, sprawdź czy masz rację i podawaj raczej mocniejsze argumenty niż jakieś ironiczne pierdy nie na miejscu.

A to, że nie wiedziałeś że za pomocą Springa można konsumować webserwisy restowe, czyni z ciebie dupę a nie programistę - abstrahując od tego, czy uważasz to za złe rozwiązanie czy za dobre, sama niewiedza o tym to jedno wielkie wtf. W połączeniu z wymową twojego komentarza, nie dziw się że ktoś robi "wycieczki osobiste" pod twoim adresem.

0
wojciechmaciejewski napisał(a):

I tak w springu napiszemy na androidzie 300 linijek kodu a w retroficie 3.

Człowieku, czy ty masz mózg? Kod jest praktycznie taki sam, tyle że retrofit używa adnotacji gson-a a spring domyślnie jackson-a. Poza tym wszystko wyglada praktycznie tak samo.

Rozumiem że uzywasz retrofit a o springu tylko coś tam gdzies słyszałeś, ale albo najpierw się doucz albo idź stąd i przestań wypisywać pierdoły.

0

rozumiem że frustracja czyni z Ciebie furiata:) zdarza się. Otóż wyobraź sobie że wiem i wiedziałem ze na androidzie można używać spring resta. Można używać bardzo wielu bibliotek Javy które generalnie się do tego nie nadają bo nie są pisane do Androida tylko pod Javę, nawet jak później ktoś je próbuje ugłaskać do Androida.

Jeżeli nie rozumiesz dlaczego Android Spring Rest Template nadaje się do androida jak motyka do kopania rowów to Twój problem, ja nie zamierzam Ci tego tłumaczyć.

I dodatkowa informacja dla Ciebie. To że ktoś nie wie że istnieje jakaś biblioteka (!sic) w dodatku nie używana ( :) ) nie czyni z nikogo złego programisty.

0

Spring jest bardzo często używany do rest-a na Androidzie i ma oficjalne wsparcie w tym zakresie, więc nie jest to robione "na siłę" Ja chętnie się dowiem, czemu uważasz że powinno się go unikać. Tak więc, właśnie, jednak wytłumacz to proszę. Ani kod nie jest dłuższy ani nie działa to mniej wydajnie.
Rozwiń swoją myśl, chętnie sie dowiem.

0

nie ma wsparcia dla asynchronicznych callbacków i RxJavy

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/AsyncRestTemplate.html

RxJava nie wiem czy na Androidzie, ale wsparcie też jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1