Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 17:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 26 gru 2013, o 01:20 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Witam wszystkich
Jak w eclipsie przy użyciu javy zbudować klienta TCP na androida tak aby po wpisaniu IP oraz numeru portu można by było wysłać komende w HEX lub ASCII ?
Jestem trochę zielony w tym ale mam spory zapał :)
Z góry dziękuję za wszelką pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 01:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Właśnie robiłe to soma tylko z UDP i mało wszystkich włosów z głowy się nie pozbyłem :)

Tu masz przykład w javie http://myandroidsolutions.blogspot.com/ ... orial.html
Tutaj w b4a http://www.basic4ppc.com/android/forum/ ... rary.7002/
A tutaj coś w http://docs.appcelerator.com/titanium/l ... Socket.TCP

I oczywiście oficjalna dokumentacja http://developer.android.com/reference/ ... mmary.html



Ostatnio edytowano 26 gru 2013, o 13:10 przez vaffanculo, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 10:51 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Dziękuje za przykład ale nie potrafię się połapać o co tam chodzi - zdała by się jeszcze jakaś wskazówka.Chce to zrobić na Javie i uruchomić w emulatorze eclipsa.
Włosów też mi już niewiele zostało :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 13:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 sie 2013
Posty: 199
Pomógł: 1

a co juz masz napisane ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 13:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Proszę przykładowy kod na obsługę klienta TCP

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie zapomnij w pliku AndroidManifest.xml dodać zezwolenia na dostęp do internetu

<uses-permission android:name="android.permission.INTERNET" />

zgodnie za schematem powinieneś to zrobić przed wpisem: <uses-sdk />


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 14:25 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

No tak zapomniałem dodać że dopiero raczkuje w tym temacie :(
Do powyższego kodu mam stworzyć nową klasę czy wkleić w MainActivity.java ?
Póki co stworzyłem nowy projekt o nazwie TCP_CLIENT w eclipsie.
Wcześniej wzorowałem się na stronie http://www.roman10.net/android-tcp-clie ... h-example/ ale również utknąłem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 15:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Cytuj:
Do powyższego kodu mam stworzyć nową klasę czy wkleić w MainActivity.java ?

Te kod powyżej to jest nowa klasa. To czy wkleisz go w MainActivity.java czy nowym pliku nie ma znaczenia wystarczy że dodasz referencje.

w nowym pliku możesz go nazwać TcpClient na samej górze piszesz nazwę swojej paczki taką samą jak w MainActivity.java np.

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Natomiast w pliku MainActivity.java
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Później pod zdarzenie jakiegoś klawisza wpisz ten kod i zobacz czy coś z tego wyjdzie

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A tak w pliku MainActivity podpinasz zdarzenie na kliknięcie guzikiem
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Mniej więcej tak spróbuj skompilować bo piszę z głowy


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 16:46 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Nie da rady muszę się mocniej wgryź w eclipsa ,gdyż ciągle napotykam problemy.Póki co dziękuje za cierpliwość i wyrozumiałość.Na pewno wrócę do tematu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2013, o 23:45 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Już mam to na widelcu tylko jeszcze mam problem z ostatnimi dwoma postami mógłbyś co nieco rozwinąć zwłaszcza "Później pod zdarzenie jakiegoś klawisza wpisz ten kod i zobacz czy coś z tego wyjdzie"
Do tej pory udaje mi się uruchomić program w emulatorze tylko rzecz jasna nie widzę tam stosownej ikony włączającej klienta TCP.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2013, o 19:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Dodałeś kontrolkę guzika (button) ?

Więc wybierasz kontrolkę która Cię interesuje w tym przypadku Button nadajesz jej Id np. buttonRead czyli identyfikator po którym będziemy się do niego odwoływać w kodzie.

Obrazek

I następnie w pliku MainActivity.java w kodzie

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dodajesz definicję klawisza

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


oraz tworzysz zdarzenie onClick dla buttona (na kliknięcie)

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W podobny sposób należy dodać jakieś pole tekstowe w którym będziesz wyświetlał informacje (tylko teraz tą definicję umieszczasz wewnątrz zdarzenia OnClickListerer buttona aby była tam widoczna

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

prawdopodobnie możesz też zrobić to jakoś globalnie ale nie wiem jak nie jestem specem od javy tylko początkującym jak ty ;)
być może głos zabierze ktoś bardziej biegły również chętnie skorzystam :D

P.S. Zamieszczam mój kod do obsługi UDP który na symulatorze działa a na telefonie różnie jak mu się zechce, dlaczego jeszcze nie doszedłem.

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A tu funkcja z klasy Convert
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeżeli w urządzeniu łączę się przez internet mobilny od operatora to działa a jeżeli przez wifi to już nie mimo że na symulatorze wszystko chodzi.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2014, o 14:44 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Witam po świątecznej przerwie.
Czy koledze vaffanculo udało się uruchomić Klienta TCP wg.swoich wskazówek ,bo ja wciąż walcze bezskutecznie ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2014, o 16:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Mnie głównie interesowała komunikacja UDP ale TCP tak na szybkiego patrzyłem i pakiet wysłany z telefonu do komputera doszedł w drugą stronę nie sprawdzałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sty 2014, o 22:26 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Na załączonym rysunku buttona nie widzę pola do którego mógł bym wprowadzić nr.portu ani IP urządzenia oraz komendy w ASCII na czym głównie zależało mi zakładając ten post.
Czy kolega vaffanculo mógłby poinstruować jak to zrobić ?
Generalnie zależy mi aby wersja finalna programu miała mniej więcej taki wygląd :https://play.google.com/store/apps/details?id=com.sollae.eztcpclient&hl=pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO