logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy aplikacja natywna Android z serwerem websocket uruchomi stronę w przeglądarce?

TvWidget 16 Lip 2016 22:32 1677 4
REKLAMA
  • #1 15812162
    TvWidget
    Poziom 39  
    Posty: 4412
    Pomógł: 472
    Ocena: 697
    Mam multisystemową aplikację napisaną w JS uruchamianą w przeglądarce. Wymaga ona dostępu do interfejsu BT. Jest to realizowane pośrednio przez websocket.
    Czy jeśli napiszę aplikację zawierającą serwer websocket i z poziomu tej aplikacji uruchomię przeglądarkę z odpowiednią stroną to całość zadziała w Androidzie ?
    Tzn. czy jednocześnie będzie się wykonywał kod aplikacji natywnej i tej aplikacji w przeglądarce ? Czy ten websocket powinienem umieścić w serwisie czy może być on a activity ?
    Nie chcę się napracować aby na końcu przekonać się, że cała moja koncepcja jest bez sensu. Z tego powodu wolę się najpierw zapytać.
  • REKLAMA
  • #2 15812738
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1463
    Na pewno nie activity, bo ma krótkotrwały czas życia

    Więcej dla mnie jest niejasnego w tym pytaniu niż jasnego.
    Ten websocket to jest z tego samego źródła, pakietu? Od jakiego producenta? Tzn go masz, czy go napiszesz?
  • REKLAMA
  • #3 15812798
    TvWidget
    Poziom 39  
    Posty: 4412
    Pomógł: 472
    Ocena: 697
    Cały kod jest mój. Tak jak wspomniałem właściwa aplikacja jest napisana w JS i jest tak zrobiona aby mogła być uruchamiana w różnych systemach o różnych rozdzielczościach ekranu. Wymaga ona dostępu do interfejsu BT. Czasami jest to zewnętrzne specjalne urządzenie BT-LAN a innym razem wewnętrzny moduł BT np. tabletu. Aplikacja z oczywistych względu nie może mieć bezpośredniego dostępu do tego typu zasobów. Robi to pośrednio przez websocket. Czyli np. w systemie Windows uruchamiam jednocześnie:
    - stosunkowo prosty program udostępniający potrzebne funkcje BT przez serwer websocket
    - przeglądarkę z właściwą aplikacją, która jako klient łączączy się z tym websocketem
    Jeśli użytkownik zamknie okienko przeglądarki to przestają przychodzić okresowe zapytania do websocket i ten proces automatycznie kończy swoje działanie.
    Podobne rozwiązanie chciałem zrobić w Androidzie.
  • REKLAMA
  • #4 15812838
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1463
    Pomysł wydaje się zdrowy. Na ile trochę lepiej rozumiem, są dwie opcje:
    1. funkcjonalność "serwisu BT" startuje i wygasza się z aplikacją
    2. wstaje z systemem i mniej czy bardziej jest aktywna ciągle

    Ty idziesz ścieżką nr 1 Myślę, że jest to do zrealizowania.
    Nie uprawiałem nic podobnego, moja rada jest taka sobie luźna....

    Wiem, że czyste "serwery" są realizowane w androidzie (w koncepcji 2) i kiedyś kibicowałem
    https://github.com/jetty-project/i-jetty
    ale do projektu nie doszło, więc uczucie było czysto platoniczne.
    Już dwa wydania "dużego" Jetty implementują websocket, może ten też.
    Nie wiem na ile jesteś aktywny w Javie/ JEE (bo tam się klasyfikują servlet containers, nie jest to wbrew nazwie "enterpise" przerażające).
    Generalnie jetty jest jednym z lżejszych rozwiązań w swojej klasie, ale nie obiecam, że dostatecznie lekkie np na wariant 1 (ilość sekund wstawania itd)
    Cel, w jakim oglądałem projekt był inny, więc nie jest to jakaś rekomendacja dla Ciebie. Ale się da na pewno.
  • #5 15813124
    TvWidget
    Poziom 39  
    Posty: 4412
    Pomógł: 472
    Ocena: 697
    Serwer websocket jest dość prosty do napisania. Nie będzie obciążony. W praktyce przesyłane będą niewielkie ilości danych. Wykombinowałem sobie to tak, że użytkownik zaczyna od uruchomienia w klasyczny sposób aplikacji natywnej (może nawet nie mieć UI) a ta uruchamia przeglądarkę ze stroną pobraną z lokalnego dysku.
REKLAMA