Uruchamianie adresu przez naciśnięcie przycisku

0

Witam. Chciałbym zrobić przycisk, który będzie uruchamiał konkretny adres, za pomocą zapale lub zgaszę diodę na płytce Wemos D1 mini. Strona webowa do obsługi diody już mi działa, lecz nie mam pojęcia jak uruchomić adres IP z poziomu aplikacji na androida.

public void swiatlo_click(View view) {
        try
        {
            URL url = new URL("192.168.1.12/5/on");
        }
        catch(Exception e)
        {
            Toast.makeText ( getApplicationContext(), e.toString(), Toast.LENGTH_LONG ).show();
        }
    }

Próbowałem już paru rzeczy nawet z tego forum, jednak nic niestety nie pomogło. Czy jest ktoś na tyle "mądry" i uprzejmy i mógłby mi pomóc?

0

Ale co to znaczy "uruchomi adres IP"? Bo tak na oko to ty chcesz wysłać request HTTP GET na podany adres. Czy tak? Użyj jakiegoś klienta do REST, np. Spring Rest Template.
https://spring.io/guides/gs/consuming-rest/
Tu masz nawet jakiś kompletny tutorial pod androida:
https://spring.io/guides/gs/consuming-rest-android/

0

Próbowałem zrobić według tutorialu, ale niestety biblioteki Spring nie chcą się przyjąć w programie :/

0

No to tylko siąść i płakać bo przeciez nie ma innych bibliotek do tego...
https://inthecheesefactory.com/blog/retrofit-2.0/en
https://developer.android.com/training/volley/index.html
http://square.github.io/okhttp/
http://loopj.com/android-async-http/

Albo możesz zawsze "na pałe" otworzyć sobie socket na ten twója adres na port 80 i wysłać stringa:

GET / HTTP/1.1
Host: twojadres
User-Agent: netcatem jak zwierze

To jest wersja z serii "jak zwierze", ale skoro masz problem z dedykowanymi rozwiazaniami to cóż...

0

Stworzyłem pewną funkcję w oparciu o REST API, jednak coś w niej nie działa. Adres IP nie wywołuje się.

public void swiatlo_click(View view) {
        AsyncTask.execute(new Runnable() {
            @Override
            public void run() {
                try {
                    URL url = new URL("https://192.168.1.12/5/on/");
                    HttpsURLConnection myConnection;
                    myConnection = (HttpsURLConnection) url.openConnection(); 
                } 
                catch (MalformedURLException e) {
                    e.printStackTrace();
                }
                catch (IOException e) {
                    e.printStackTrace(); 
                } 
            }
        });
    }

Nie mam już pojęcia, jak mógłbym to jeszcze ugryźć :/

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