Thread View: pl.comp.lang.java
43 messages
43 total messages
Started by TheGuru
Thu, 09 Aug 2012 19:14
początki lamera ;-)
Author: TheGuru
Date: Thu, 09 Aug 2012 19:14
Date: Thu, 09 Aug 2012 19:14
33 lines
1955 bytes
1955 bytes
Witajcie, chciałbym spróbować programowania na androida. Dla własnej satysfakcji a także by pomóc i popracować z córką nad materiałem na kółko informatyczne ;-) Ściągnąłem z sieci kilka samouczków i na samym początku pojawiły się kłopoty. 1 - Java SE JDK : ściągnąłem z http://www.oracle.com/technetwork/java/javase/downloads/ plik Java SE JDK-7u5-windows-x64.exe 97MB wszystko poszło ok instalacja zakończona sukcesem przypisałem zmienną systemową JAVA_HOME i PATH 2 - Eclipse IDE for Java Developers: ściągnąłem z http://www.eclipse.org/downloads/ nie instaluje się tylko od razu uruchamia 3 - Android SDK Starter Package wywala mi błąd Java SE[...] not found przypisz JAVA_HOME Pomożecie? acha mam Windowsa7 64 bit. Jak mogę pisać bezpośrednio na tablecie z androidem? czy są ułatwiające pracę programy i czy tak się da? pozdrawiam licząc na pomoc robert
Re: początki lamera ;-)
Author: smiejta_sie_z_tegp
Date: Thu, 09 Aug 2012 20:46
Date: Thu, 09 Aug 2012 20:46
37 lines
2120 bytes
2120 bytes
Eclipse juz masz, wiec proponuje jeszcze springa. Miłego dnia. robson W dniu 2012-08-09 21:14, TheGuru pisze: > Witajcie, > chciałbym spróbować programowania na androida. Dla własnej satysfakcji a > także by pomóc i popracować z córką nad materiałem na kółko > informatyczne ;-) > > Ściągnąłem z sieci kilka samouczków i na samym początku pojawiły się > kłopoty. > > 1 - Java SE JDK : > ściągnąłem z http://www.oracle.com/technetwork/java/javase/downloads/ > plik Java SE JDK-7u5-windows-x64.exe 97MB > wszystko poszło ok instalacja zakończona sukcesem > > przypisałem zmienną systemową JAVA_HOME i PATH > > 2 - Eclipse IDE for Java Developers: > ściągnąłem z http://www.eclipse.org/downloads/ nie instaluje się tylko > od razu uruchamia > > 3 - Android SDK Starter Package > wywala mi błąd Java SE[...] not found > przypisz JAVA_HOME > > Pomożecie? > acha mam Windowsa7 64 bit. > > > Jak mogę pisać bezpośrednio na tablecie z androidem? czy są ułatwiające > pracę programy i czy tak się da? > > pozdrawiam licząc na pomoc > > robert
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 09 Aug 2012 22:26
Date: Thu, 09 Aug 2012 22:26
42 lines
2236 bytes
2236 bytes
>Eclipse juz masz, wiec proponuje jeszcze springa. Miłego dnia. >robson ale czy spring rozwiąże mi kłopot nieskonfigurowanej javy ?? W dniu 2012-08-09 21:14, TheGuru pisze: > Witajcie, > chciałbym spróbować programowania na androida. Dla własnej satysfakcji a > także by pomóc i popracować z córką nad materiałem na kółko > informatyczne ;-) > > Ściągnąłem z sieci kilka samouczków i na samym początku pojawiły się > kłopoty. > > 1 - Java SE JDK : > ściągnąłem z http://www.oracle.com/technetwork/java/javase/downloads/ > plik Java SE JDK-7u5-windows-x64.exe 97MB > wszystko poszło ok instalacja zakończona sukcesem > > przypisałem zmienną systemową JAVA_HOME i PATH > > 2 - Eclipse IDE for Java Developers: > ściągnąłem z http://www.eclipse.org/downloads/ nie instaluje się tylko > od razu uruchamia > > 3 - Android SDK Starter Package > wywala mi błąd Java SE[...] not found > przypisz JAVA_HOME > > Pomożecie? > acha mam Windowsa7 64 bit. > > > Jak mogę pisać bezpośrednio na tablecie z androidem? czy są ułatwiające > pracę programy i czy tak się da? > > pozdrawiam licząc na pomoc > > robert
Re: początki lamera ;-)
Author: Arivald
Date: Thu, 09 Aug 2012 23:37
Date: Thu, 09 Aug 2012 23:37
39 lines
2471 bytes
2471 bytes
W dniu 2012-08-09 21:14, TheGuru pisze: > Witajcie, > chciałbym spróbować programowania na androida. Dla własnej satysfakcji a > także by pomóc i popracować z córką nad materiałem na kółko > informatyczne ;-) > > Ściągnąłem z sieci kilka samouczków i na samym początku pojawiły się > kłopoty. > > 1 - Java SE JDK : > ściągnąłem z http://www.oracle.com/technetwork/java/javase/downloads/ > plik Java SE JDK-7u5-windows-x64.exe 97MB > wszystko poszło ok instalacja zakończona sukcesem > > przypisałem zmienną systemową JAVA_HOME i PATH > > 2 - Eclipse IDE for Java Developers: > ściągnąłem z http://www.eclipse.org/downloads/ nie instaluje się tylko > od razu uruchamia > > 3 - Android SDK Starter Package > wywala mi błąd Java SE[...] not found > przypisz JAVA_HOME > > Pomożecie? > acha mam Windowsa7 64 bit. > > Może to pomoże: http://stackoverflow.com/questions/4382178/android-sdk-installation-doesnt-find-jdk > Jak mogę pisać bezpośrednio na tablecie z androidem? czy są ułatwiające > pracę programy i czy tak się da? https://play.google.com/store/apps/details?id=com.aide.ui&hl=pl -- Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Sat, 11 Aug 2012 11:07
Date: Sat, 11 Aug 2012 11:07
29 lines
2036 bytes
2036 bytes
>Może to pomoże: >http://stackoverflow.com/questions/4382178/android-sdk-installation-doesnt-find-jdk dzięki koniec końców pomogła jedna z podpowiedzi. Unistal i instal wersję 32bit ;-) >> Jak mogę pisać bezpośrednio na tablecie z androidem? czy są ułatwiające >> pracę programy i czy tak się da? > https://play.google.com/store/apps/details?id=com.aide.ui&hl=pl dzięki fajnie wygląda i z opisu i komentarzy sporo potrafi. ALE ...:-) Postępuję zgodnie z instrukcjami i mam kolejny kłopot tym razem z Eclipse. zaczynam nowy projekt file->new -> project i powinienem wybrać Android Project ale takiego menu nie ma ;-( Wybierałem Java ale z kolei dla takiego projektu pole do wpisania kodu jest nieaktywne. mam eclipse Eclipse Java EE IDE for Web Developers.build id: 20100218-1602. pozdrawiam licząc na dalszą pomoc. robert
Re: początki lamera ;-)
Author: Tomasz Łabuz
Date: Sat, 11 Aug 2012 12:55
Date: Sat, 11 Aug 2012 12:55
22 lines
1786 bytes
1786 bytes
> Postępuję zgodnie z instrukcjami i mam kolejny kłopot tym razem z Eclipse. > > zaczynam nowy projekt file->new -> project i powinienem wybrać Android > Project ale takiego menu nie ma ;-( > do eclipse trzeba doinstalować odpowiedni plugin jest instrukcja w dokumentacji android sdk zdaje się a jeśli masz zainstalowany czasem nie wszystkie rodzaje projektów są widoczne od razu, jest jeszcze opcja Other rozwijająca wszystkie rodzaje projektów dostępnych w środowisku > Wybierałem Java ale z kolei dla takiego projektu pole do wpisania kodu > jest nieaktywne. jakie pole do wpisania kodu na Teutatesa? > mam eclipse Eclipse Java EE IDE for Web Developers.build id: 20100218-1602. > jeśli "gołe" to nie ma w nim na stan mojej wiedzy narzędzi do Androida, patrz punkt pierwszy o pluginach
Re: początki lamera ;-)
Author: TheGuru
Date: Sat, 11 Aug 2012 15:59
Date: Sat, 11 Aug 2012 15:59
30 lines
2165 bytes
2165 bytes
>> Postępuję zgodnie z instrukcjami i mam kolejny kłopot tym razem z >> Eclipse. >> >> zaczynam nowy projekt file->new -> project i powinienem wybrać Android >> Project ale takiego menu nie ma ;-( >> >do eclipse trzeba doinstalować odpowiedni plugin >jest instrukcja w dokumentacji android sdk zdaje się >a jeśli masz zainstalowany czasem nie wszystkie rodzaje projektów są >widoczne od razu, jest jeszcze opcja Other rozwijająca wszystkie rodzaje >projektów dostępnych w środowisku >> Wybierałem Java ale z kolei dla takiego projektu pole do wpisania kodu >> jest nieaktywne. >jakie pole do wpisania kodu na Teutatesa? takie w które mogę wpisać przysłowiowe "Hello Word" >> mam eclipse Eclipse Java EE IDE for Web Developers.build id: >> 20100218-1602. >> >jeśli "gołe" to nie ma w nim na stan mojej wiedzy narzędzi do Androida, >patrz punkt pierwszy o pluginach szukam dalej....
Re: początki lamera ;-)
Author: Tomasz Łabuz
Date: Sat, 11 Aug 2012 16:15
Date: Sat, 11 Aug 2012 16:15
24 lines
1656 bytes
1656 bytes
>>> Wybierałem Java ale z kolei dla takiego projektu pole do wpisania kodu >>> jest nieaktywne. > >> jakie pole do wpisania kodu na Teutatesa? > > takie w które mogę wpisać przysłowiowe "Hello Word" > no ale to trzeba przecież stworzyć sobie klasę, otworzyć w edytorze a nie ma "pola" do wpisania kodu.... > >>> mam eclipse Eclipse Java EE IDE for Web Developers.build id: >>> 20100218-1602. >>> > >> jeśli "gołe" to nie ma w nim na stan mojej wiedzy narzędzi do >> Androida, patrz punkt pierwszy o pluginach > > szukam dalej.... może szukasz tego? http://developer.android.com/tools/sdk/eclipse-adt.html
Re: początki lamera ;-)
Author: Arivald
Date: Sat, 11 Aug 2012 18:14
Date: Sat, 11 Aug 2012 18:14
43 lines
2956 bytes
2956 bytes
W dniu 2012-08-11 13:07, TheGuru pisze: > > Postępuję zgodnie z instrukcjami i mam kolejny kłopot tym razem z Eclipse. > > zaczynam nowy projekt file->new -> project i powinienem wybrać Android > Project ale takiego menu nie ma ;-( > Zainstalowany ADT Plugin? (Android Development Tools) Jak nie to http://developer.android.com/sdk/installing/installing-adt.html > Wybierałem Java ale z kolei dla takiego projektu pole do wpisania kodu > jest nieaktywne. "pole do wpisania kodu" czyli co? Jak wybrałeś goły projekt Javy (bez kreatora) to dostajesz pusty katalog na źródła "src". Powinieneś mieć w widoku "Package Explorer", w drzewem plików źródłowych i zależności. Klikasz na katalogu "src" prawym, i z menu new/class (dodajesz nowy plik źródłowy z jedną klasą do projektu). W kreatorze wpisujesz nazwę paczki (package), i potem nazwę pliku. Zatwierdzasz, i Eclipse powinien automatycznie otworzyć edytor dla takiego pliku. Dla każdego innego pliku w projekcie otwierasz dedykowany edytor poprzez dwuklik na pliku. Do testów możesz użyć dowolnej nazwy paczki. W javie jest taka konwencja że jako początek nazwy paczki stosuje się odwróconą domenę. i tak na przykład cały kod z appache jest w paczce "org.apache" (i jej pod-paczakach). Jak nie masz domeny, to użyj czegoś w miarę niepowtarzalnego. Konwencja została wprowadzona dla uniknięcia konfliktów nazw paczek. Więcej o konwencjach tu: http://www.oracle.com/technetwork/java/codeconv-138413.html Oczywiście jest to tylko konwencja, nie musisz się stosować. Po prostu ułatwia to pracę na dłuższą metę. -- Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Sat, 11 Aug 2012 19:31
Date: Sat, 11 Aug 2012 19:31
10 lines
1563 bytes
1563 bytes
> Zainstalowany ADT Plugin? (Android Development Tools) Jak nie to > http://developer.android.com/sdk/installing/installing-adt.html Miałem Eclipse Galileo, które nie wspiera androida, szkoda że nie było to napisane przy pliku instalacyjnym. Zainstalowałem Eclipse juno 32 bit i poszło ;-) dzięki za pomoc robert
Re: początki lamera ;-)
Author: Tomasz Łabuz
Date: Sat, 11 Aug 2012 20:06
Date: Sat, 11 Aug 2012 20:06
13 lines
1500 bytes
1500 bytes
W dniu 2012-08-11 21:31, TheGuru pisze: > >> Zainstalowany ADT Plugin? (Android Development Tools) Jak nie to >> http://developer.android.com/sdk/installing/installing-adt.html > > Miałem Eclipse Galileo, które nie wspiera androida, szkoda że nie było > to napisane przy pliku instalacyjnym. zależy zdaje się, która wersja ADT http://developer.android.com/sdk/index.html#Requirements "Note: Eclipse 3.5 (Galileo) is no longer supported with the latest version of ADT."
Re: początki lamera ;-)
Author: TheGuru
Date: Tue, 28 Aug 2012 10:31
Date: Tue, 28 Aug 2012 10:31
19 lines
1550 bytes
1550 bytes
Witam, stanąłem przed nowym problemem. Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych tutorialach). W oknie Console pojawia się tylko komunikat Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/ref/FinalReference nie mogę sobie z tym poradzić. pozdrawiam licząc na pomoc. robert
Re: początki lamera ;-)
Author: TheGuru
Date: Tue, 28 Aug 2012 11:56
Date: Tue, 28 Aug 2012 11:56
16 lines
1659 bytes
1659 bytes
>Witam, >stanąłem przed nowym problemem. >Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że >pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych >tutorialach). >W oknie Console pojawia się tylko komunikat >Error occurred during initialization of VM >java/lang/NoClassDefFoundError: java/lang/ref/FinalReference znalazłem takie coś http://www.frickingnutz.com/files/android_pdf/FAQs.pdf ale podpowiedzi nie pomogły....DLACZEGO !!!???
Re: początki lamera ;-)
Author: Arivald
Date: Tue, 28 Aug 2012 13:21
Date: Tue, 28 Aug 2012 13:21
23 lines
1665 bytes
1665 bytes
W dniu 2012-08-28 12:31, TheGuru pisze: > Witam, > stanąłem przed nowym problemem. > > Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że > pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych > tutorialach). > W oknie Console pojawia się tylko komunikat > Error occurred during initialization of VM > > java/lang/NoClassDefFoundError: java/lang/ref/FinalReference > Może http://stackoverflow.com/questions/9455236/eclipse-error-noclassdeffounderror-java-lang-ref-finalreference BTW Eclipsów możesz mieć jak mrówków, ja mam osobne instancje (katalogi) dla Android-owego Eclipsa i Spring-owego Eclipsa. Plus okazyjnie instancje do testów. -- Arivald
Re: początki lamera ;-)
Author: MarekF
Date: Tue, 28 Aug 2012 18:49
Date: Tue, 28 Aug 2012 18:49
19 lines
1782 bytes
1782 bytes
Użytkownik "TheGuru" <theguru@wp.pl> napisał w wiadomości news:k1i6mf$3ip$1@news.icpnet.pl... > Witam, > stanąłem przed nowym problemem. > > Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że > pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych > tutorialach). > W oknie Console pojawia się tylko komunikat > Error occurred during initialization of VM > > java/lang/NoClassDefFoundError: java/lang/ref/FinalReference Witam Zainstalowales AVD? W eclipse Window->AVD Manager masz cos? PS. Ja tez zaczalem od kilku dni nauke. Pozdr marekF
Re: początki lamera ;-)
Author: TheGuru
Date: Tue, 28 Aug 2012 19:23
Date: Tue, 28 Aug 2012 19:23
69 lines
3487 bytes
3487 bytes
/* > Witam, > stanąłem przed nowym problemem. > > Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że > pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych > tutorialach). > W oknie Console pojawia się tylko komunikat > Error occurred during initialization of VM > > java/lang/NoClassDefFoundError: java/lang/ref/FinalReference > Może http://stackoverflow.com/questions/9455236/eclipse-error-noclassdeffounderror-java-lang-ref-finalreference BTW Eclipsów możesz mieć jak mrówków, ja mam osobne instancje (katalogi) dla Android-owego Eclipsa i Spring-owego Eclipsa. Plus okazyjnie instancje do testów. */ koniec końców otwiera mi się okienko z emulatorem androida ale pojawia się kolejny kłopot!!! Dlaczego to wszystko działa jak z początków PC? Na domyślnych ustawieniach nie działa konfiguracja wymaga ogromnie dużo zachodu..... i każde jedno rozwiązanie daje dwa nowe kłopoty. Nie wiem przez co połączenie zostało przerwane. Wyłączyłem zaporę ale nie pomogło. [2012-08-28 21:15:48 - ddmlib] Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście java.io.IOException: Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213) at com.android.ddmlib.Client.sendAndConsume(Client.java:575) at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348) at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421) at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:837) at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:805) at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:765) at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652) at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44) koniec końców otwiera mi się okienko z emulatorem androida
Re: początki lamera ;-)
Author: TheGuru
Date: Tue, 28 Aug 2012 19:41
Date: Tue, 28 Aug 2012 19:41
28 lines
1993 bytes
1993 bytes
/* > Witam, > stanąłem przed nowym problemem. > > Po napisaniu programu w Eclipse wciskam ikonę RUN. Liczyłem na to, że > pojawi się jakieś okienko wirtualnego urządzenia (jak w różnych > tutorialach). > W oknie Console pojawia się tylko komunikat > Error occurred during initialization of VM > > java/lang/NoClassDefFoundError: java/lang/ref/FinalReference Witam Zainstalowales AVD? W eclipse Window->AVD Manager masz cos? */ tak ale nie instalowałem tylko konfigurowałem ;-) Wywala mi te błędy i po jakimś czasie przełącza się na pulpit androida. // PS. Ja tez zaczalem od kilku dni nauke. Nie jest łatwo zacząć:-( Chętnie już bym coś zaczął pisać i zgłębiał tajniki 'obiektowości' a tak tracę czas i nerwy na konfigurowanie środowiska....
Re: początki lamera ;-)
Author: Arivald
Date: Tue, 28 Aug 2012 19:48
Date: Tue, 28 Aug 2012 19:48
53 lines
3025 bytes
3025 bytes
W dniu 2012-08-28 21:23, TheGuru pisze: > /* >> Witam, >> stanąłem przed nowym problemem. [...] > > koniec końców otwiera mi się okienko z emulatorem androida ale pojawia > się kolejny kłopot!!! > Dlaczego to wszystko działa jak z początków PC? Na domyślnych > ustawieniach nie działa konfiguracja wymaga ogromnie dużo zachodu..... i > każde jedno rozwiązanie daje dwa nowe kłopoty. Mi poszło na domyślnych... > Nie wiem przez co połączenie zostało przerwane. Wyłączyłem zaporę ale > nie pomogło. > > [2012-08-28 21:15:48 - ddmlib] Nawiązane połączenie zostało przerwane > przez oprogramowanie zainstalowane w komputerze-hoście > > java.io.IOException: Nawiązane połączenie zostało przerwane przez > oprogramowanie zainstalowane w komputerze-hoście [...] > at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44) Z tym nie pomogę... > koniec końców otwiera mi się okienko z emulatorem androida Ale z emulatora możesz zrezygnować, jeśli masz urządzenie z Androidem. Emulator jest strasznie powolny. Po prostu włączasz w urządzeniu tryb developerski (przycisk menu, Ustawienia/Aplikacje/Dla Programistów i tam zaznacz "Debugowanie USB". Do tego "zostaw włączony" żeby się sam nie wyłączał dopóki kabel USB jest podłączony (i tak nie trzeba oszczędzać energii), i ewentualnie inne w/g uznania. BTW ja używam "Zatrzymaj aplikację przyciskiem wstecz" do killowania zawieszonych apek. Przy okazji może się przydać jakiś program do zarządzania fonem poprzez ADB. Np używany prze ze mnie QtADB umożliwia instalację aplikacji z PC, backupy, dostęp do partycji systemowych, shella, itp. Jak masz roota na telefonie, to możesz nawet zapisywać pliki na partycji systemowej (trzeba ją zamontować najpierw w trybie do zapisu). http://qtadb.wordpress.com/ -- Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Wed, 29 Aug 2012 11:47
Date: Wed, 29 Aug 2012 11:47
12 lines
1552 bytes
1552 bytes
// Mi poszło na domyślnych... zamierzam wywalić wszystko i poinstalować od nowa. Możesz powiedzieć co i w jakiej kolejności zainstalować by ruszyło z kopyta po kliknięciu [Zakończ]. // Ale z emulatora możesz zrezygnować, jeśli masz urządzenie z Androidem. // Emulator jest strasznie powolny. na tablecie za szybko nie śmiga (kompiluje, instaluje....) :-)
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 30 Aug 2012 09:04
Date: Thu, 30 Aug 2012 09:04
23 lines
2104 bytes
2104 bytes
// > koniec końców otwiera mi się okienko z emulatorem androida // Ale z emulatora możesz zrezygnować, jeśli masz urządzenie z Androidem. // Emulator jest strasznie powolny. Mam zbyt mały zasób brzydkich słów by opisać to co przechodzę z Eclipse. Koniec końców mam okienko emulatora ale zgodnie z tym co powiedziałem wcześniej rozwiązanie jednego kłopotu generuje dwa nowe ;-( Otwiera mi się okienko a androidem. mogę przesuwać ekrany i robić rzeczy jak na prawdziwym urządzeniu (rzeczywiście bardzo wolno działa). W widżecie MyApps mam tylko MainActivity brakuje app o mojej nazwie. Ale po kliknięciu na RUN w Eclipse w oknie konsoli wyświetla się "Wello World" a w moim programie nie ma tych słów ;-P czy muszę przenieść moją apkę do konsoli czy coś....??? pozdrawiam licząc na Waszą pomoc
Re: początki lamera ;-)
Author: Arivald
Date: Thu, 30 Aug 2012 09:38
Date: Thu, 30 Aug 2012 09:38
48 lines
2812 bytes
2812 bytes
W dniu 2012-08-30 11:04, TheGuru pisze: > > > // > koniec końców otwiera mi się okienko z emulatorem androida > > // Ale z emulatora możesz zrezygnować, jeśli masz urządzenie z Androidem. > // Emulator jest strasznie powolny. > > Mam zbyt mały zasób brzydkich słów by opisać to co przechodzę z Eclipse. > Koniec końców mam okienko emulatora ale zgodnie z tym co powiedziałem > wcześniej rozwiązanie jednego kłopotu generuje dwa nowe ;-( > > Otwiera mi się okienko a androidem. mogę przesuwać ekrany i robić rzeczy > jak na prawdziwym urządzeniu (rzeczywiście bardzo wolno działa). > > W widżecie MyApps mam tylko MainActivity brakuje app o mojej nazwie. Jeszcze jej nie zainstalowałeś... albo może w tym widżecie trzeba wybrać które aplikacje mają się pojawiać (bo nie kojarzę widzeta...) > > Ale po kliknięciu na RUN w Eclipse [...] ...Eclipse buduje plik APK, a potem używając ADB (Android Debug Bridge), przesyła aplikację i instaluje zdalnie w emulatorze, a potem ją uruchamia. Teraz już będziesz miał aplikację zainstalowaną (jak wszystkie inne) i spokojnie możesz ją ręcznie uruchomić. A także wyciągnąć na pulpit czy do ulubionego launchera. Jak podłączysz rzeczywiste urządzenie, z włączonym wsparciem dla ADB, to wszystko będzie działać tak samo. > w oknie konsoli wyświetla się "Wello > World" a w moim programie nie ma tych słów ;-P Są, w zasobach (folder "gen", Generated Java Files). W XMLu MainActivity jest tylko Id zasobu, w sekcji "string". BTW czasem zasoby się nie przebudowują od razu po zmianie XML, wtedy trzeba przebudować projekt (menu Project). Wystarczy Clean jeśli masz auto-build właczony. -- Arivald
Re: początki lamera ;-)
Author: Arivald
Date: Thu, 30 Aug 2012 09:44
Date: Thu, 30 Aug 2012 09:44
27 lines
1959 bytes
1959 bytes
W dniu 2012-08-29 13:47, TheGuru pisze: > > // Mi poszło na domyślnych... > > > zamierzam wywalić wszystko i poinstalować od nowa. > Możesz powiedzieć co i w jakiej kolejności zainstalować by ruszyło z > kopyta po kliknięciu [Zakończ]. > > // Ale z emulatora możesz zrezygnować, jeśli masz urządzenie z Androidem. > // Emulator jest strasznie powolny. > > na tablecie za szybko nie śmiga (kompiluje, instaluje....) :-) Chodzi mi o używanie prawdziwego urządzenia zamiast emulatora. Kodujesz dalej na PC. Programiści z Google zrobili to dla swojej wygody. Podłączasz tablet poprzez USB, umieszczasz na podstawce/pałąku, tak żeby mieć wygodny dostęp, i programowanie/testowanie staje się znacznie szybsze. Emulatora wtedy się używa do testowania innych wersji API, innych rozdzielczosci ekranu czy innych DPI. -- Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 30 Aug 2012 13:01
Date: Thu, 30 Aug 2012 13:01
35 lines
2545 bytes
2545 bytes
// > W widżecie MyApps mam tylko MainActivity brakuje app o mojej nazwie. // Jeszcze jej nie zainstalowałeś... albo może w tym widżecie trzeba wybrać // które aplikacje mają się pojawiać (bo nie kojarzę widzeta...) Jest to 2 menu po kliknięciu w ikonę aplikacji w prawym górnym rogu. Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć jakiś tekst na początek? /* > Ale po kliknięciu na RUN w Eclipse [...] ...Eclipse buduje plik APK, a potem używając ADB (Android Debug Bridge), przesyła aplikację i instaluje zdalnie w emulatorze, a potem ją uruchamia. Teraz już będziesz miał aplikację zainstalowaną (jak wszystkie inne) i spokojnie możesz ją ręcznie uruchomić. A także wyciągnąć na pulpit czy do ulubionego launchera. */ Mam kłopot ze znalezieniem ikonki z programem. Jest w zainstalowanych aplikacjach ale nie mogę znaleźć w eksploratorze.....;-) Zainstalowałem inną wersję Eclipse Juno. W tej wersji nie mam AVD ale za to uruchamia się VM. kurcze, kurcze, kurcze, kurcze, kurcze, strasznie to wszystko deprymujące
Re: początki lamera ;-)
Author: Arivald
Date: Thu, 30 Aug 2012 13:39
Date: Thu, 30 Aug 2012 13:39
57 lines
3058 bytes
3058 bytes
W dniu 2012-08-30 15:01, TheGuru pisze: > > // > W widżecie MyApps mam tylko MainActivity brakuje app o mojej nazwie. > > // Jeszcze jej nie zainstalowałeś... albo może w tym widżecie trzeba wybrać > // które aplikacje mają się pojawiać (bo nie kojarzę widzeta...) > > Jest to 2 menu po kliknięciu w ikonę aplikacji w prawym górnym rogu. > > Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na > urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć > jakiś tekst na początek? Afaik nie, Activity reprezentuje właśnie jedno okienko. Jest jeszcze sposób na pokazanie powiadomień, np w dymkach czy na pasku, ale się w to jeszcze nie bawiłem. > /* >> Ale po kliknięciu na RUN w Eclipse [...] > > ...Eclipse buduje plik APK, a potem używając ADB (Android Debug Bridge), > przesyła aplikację i instaluje zdalnie w emulatorze, a potem ją uruchamia. > > Teraz już będziesz miał aplikację zainstalowaną (jak wszystkie inne) i > spokojnie możesz ją ręcznie uruchomić. A także wyciągnąć na pulpit czy > do ulubionego launchera. > */ > > Mam kłopot ze znalezieniem ikonki z programem. Jest w zainstalowanych > aplikacjach ale nie mogę znaleźć w eksploratorze.....;-) W jakim eksploratorze? w tablecie? czy obrazek ikonki w Eclipsie? W tablecie wyciągniej sobie ikonke aplikacji na pulpit. > > Zainstalowałem inną wersję Eclipse Juno. W tej wersji nie mam AVD ale za > to uruchamia się VM. VM Javy? Tylko nie jest Ci to potrzebne... i tak apki się uruchamia w emulatorze lub na urządzeniu, uzywając Dalvika. A do kodowania w Javie nie-androidowej używaj po prostu osobnej instancji Eclipse. > kurcze, kurcze, kurcze, kurcze, kurcze, > > strasznie to wszystko deprymujące Spokojnie, prawdziwe kłopoty dopiero przed tobą ;-) Hmmm... rozważałeś może zmianę nicka? ;-> -- Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 30 Aug 2012 14:51
Date: Thu, 30 Aug 2012 14:51
24 lines
2191 bytes
2191 bytes
/* > Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na > urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć > jakiś tekst na początek? Afaik nie, Activity reprezentuje właśnie jedno okienko. */ ok to teraz rozumiem skąd to "hello world". standardowe Activity to ma. tylko teraz muszę w kod powiązać z Activity i pokazać, że system.out.print() ma drukować w okienku ....ale jak ;-) // Spokojnie, prawdziwe kłopoty dopiero przed tobą ;-) tak wiem ale będą to konkretne kłopoty a nie takie pierdoły przed właściwym pisaniem // Hmmm... rozważałeś może zmianę nicka? ;-> :-D a wiesz że nick jest w temacie.... kiedyś pisałem w assemblerze na Amidze i czasami jak chciałem się czymś pochwalić to wyskakiwał GURU ALLERT i tak mi zostało...
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 30 Aug 2012 16:48
Date: Thu, 30 Aug 2012 16:48
28 lines
2180 bytes
2180 bytes
Użytkownik "TheGuru" napisał w wiadomości grup dyskusyjnych:k1num4$1cp$1@news.icpnet.pl... /* > Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na > urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć > jakiś tekst na początek? Afaik nie, Activity reprezentuje właśnie jedno okienko. */ czy muszę zaimprtować którąś z klas i po przez nią pisać w polach tekstowych?? import android.app.Activity; import android.graphics.Canvas; import android.os.Bundle; import android.widget.Button; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; gdzie znajdę jakieś tutoriale lub kursy, w których od początku zobaczę jak używać activity?
Re: początki lamera ;-)
Author: MarekF
Date: Thu, 30 Aug 2012 18:48
Date: Thu, 30 Aug 2012 18:48
51 lines
3362 bytes
3362 bytes
Użytkownik "TheGuru" <theguru@wp.pl> napisał w wiadomości
news:k1o5g8$72u$1@news.icpnet.pl...
>
>
> Użytkownik "TheGuru" napisał w wiadomości grup
> dyskusyjnych:k1num4$1cp$1@news.icpnet.pl...
>
> /*
>> Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na
>> urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć
>> jakiś tekst na początek?
>
> Afaik nie, Activity reprezentuje właśnie jedno okienko.
> */
>
> czy muszę zaimprtować którąś z klas i po przez nią pisać w polach
> tekstowych??
>
> import android.app.Activity;
> import android.graphics.Canvas;
> import android.os.Bundle;
> import android.widget.Button;
> import android.util.Log;
> import android.view.View;
> import android.view.View.OnClickListener;
>
>
>
> gdzie znajdę jakieś tutoriale lub kursy, w których od początku zobaczę jak
> używać activity?
Witam
znam twoj nick z jakiejs innej grupy dyskusyjnej i czuje jakas sympatie.
Zaczalem przygode z androidem tydzien temu. Twoje pytania w tym watku sa
dziwne dla mnie, bo ja juz pisze aplikacje {narazie tylko dwie} ..hehhe w
nocy mi sie snia te zawiasy "{ }, klasy itd. (Mysle w jezyku jawa) Ale
spedzam cale dnie na czytaniu jawa oracle, android developmend itd.
Mysle, ze wspolpraca w nauce takich poczatkujacych jak ja, i jak Ty(bo tak
sie okresliles)moze przyniesc jakies efekty. Moje doswiadczenia to VB
(bardzo dobrze), java script(bardzo dobrze) PHP(dobrze).
Zeby nie bylo ze js a jawa to cos innego.Jest podobienswo. W js robilem
funkcje, w jawie robi sie klasy. W VB robilem Type. Wkurza mnie to, ze w
jawie jest inna konstrukcja wlasciwosci obiektow. I to , ze funkcje maja
inna nazwe. A metody? W VB bylo np: text1.text="moj tekst". a w jawie
inaczej set.text...by id..R i cos tam.
Ale mozna sobie z tym poradzic,
OK TheGuru, ja ucze sie samodzielnie, ale mam propozycje wspolpracy w nauce.
Pewnie nie na forum, bo to sie nazywa "zasmiecanie?" Moze na gg albo nie
wiem, on line piszemy sobie aplikacje i kombinujemy?
Pozdr
maf
Re: początki lamera ;-)
Author: TheGuru
Date: Thu, 30 Aug 2012 21:03
Date: Thu, 30 Aug 2012 21:03
5 lines
1680 bytes
1680 bytes
//znam twoj nick z jakiejs innej grupy dyskusyjnej i czuje jakas sympatie. pewnie z grupy foto lub jakiejś turystycznej ;-) dzięki za ciepłe sowa i kontynuuję na prf.
Re: początki lamera ;-)
Author: Arivald
Date: Fri, 31 Aug 2012 07:27
Date: Fri, 31 Aug 2012 07:27
93 lines
4130 bytes
4130 bytes
W dniu 2012-08-30 18:48, TheGuru pisze:
>
>
> Użytkownik "TheGuru" napisał w wiadomości grup
> dyskusyjnych:k1num4$1cp$1@news.icpnet.pl...
>
> /*
>> Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na
>> urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć
>> jakiś tekst na początek?
>
> Afaik nie, Activity reprezentuje właśnie jedno okienko.
> */
>
> czy muszę zaimprtować którąś z klas i po przez nią pisać w polach
> tekstowych??
>
> import android.app.Activity;
> import android.graphics.Canvas;
> import android.os.Bundle;
> import android.widget.Button;
> import android.util.Log;
> import android.view.View;
> import android.view.View.OnClickListener;
Otwórz sobie designera Avtivity, (dwuklik na /res/layout/main.xml, czy
jak tam się u Ciebie nazywa). W palecie komponentów (domyślnie po lewej)
wybierz "Text Fields". Wewnątrz będzie jeden komponent z wieloma liniami
tekstu (MultilineText). Łapiesz go myszką, i przeciągasz na Activity.
Jak już wyląduje, to klikasz go. Pojawi się ramka z małymi kwadracikami
na rogach i środkach. Złap kwadracik na dole, i pociągnij w dół.
Komponent zmieni rozmiar.
Po kliknięciu w dowolny komponent, po lewej stronie masz kartę
"Properties". To edytor właściwości, w którym możesz dostosować różne
właściwości obiektu.
Ta technika się nazywa RAD (Rapid Application Deveopment) Eclipse za
Ciebie zrobi wszystkie niezbędne zmiany w plikach.
Potem żeby coś zapisać w takim komponencie:
Do testu wrzuć button (paleta From Widgets). Dostanie on za automatu
nazwę/id "button1" i na razie go nie zmienimy. W realnej aplikacji
zawsze się zmienia nazwę żeby opisać do czego teki button służy.
We właściwościach buttona znajdź "On click" i nadaj mu wartość
"OnButton1Click".
w kodzie Activity zrób zmiany żeby wyglądała tak:
public class TuTwojaNazwaActivity extends Activity {
//widgets
EditText editText1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setup widgets
editText1 = (EditText) findViewById(R.id.editText1);
}
public void OnButton1Click(View view) {
editText1.append("nowa linia\n");
}
}
Uruchom aplikację. Kliknij kilka razy w buttona. Działa? ;-)
>
>
>
> gdzie znajdę jakieś tutoriale lub kursy, w których od początku zobaczę
> jak używać activity?
oczywiście u źródła, czyli http://developer.android.com/index.html
A konkretniej kurs programowania:
http://developer.android.com/training/index.html
Dokładnie opisane krok po kroku.
--
Arivald
Re: początki lamera ;-)
Author: Arivald
Date: Fri, 31 Aug 2012 07:33
Date: Fri, 31 Aug 2012 07:33
69 lines
3968 bytes
3968 bytes
W dniu 2012-08-30 20:48, MarekF pisze:
>
> Użytkownik "TheGuru" <theguru@wp.pl> napisał w wiadomości
> news:k1o5g8$72u$1@news.icpnet.pl...
>>
>>
>> Użytkownik "TheGuru" napisał w wiadomości grup
>> dyskusyjnych:k1num4$1cp$1@news.icpnet.pl...
>>
>> /*
>>> Czy bez tworzenia ACTIVITY w Eclipse zobaczę jakieś efekty na
>>> urządzeniu? Otworzy się jakieś okienko czy coś, w którym zobaczę choć
>>> jakiś tekst na początek?
>>
>> Afaik nie, Activity reprezentuje właśnie jedno okienko.
>> */
>>
>> czy muszę zaimprtować którąś z klas i po przez nią pisać w polach
>> tekstowych??
>>
>> import android.app.Activity;
>> import android.graphics.Canvas;
>> import android.os.Bundle;
>> import android.widget.Button;
>> import android.util.Log;
>> import android.view.View;
>> import android.view.View.OnClickListener;
>>
>>
>>
>> gdzie znajdę jakieś tutoriale lub kursy, w których od początku zobaczę
>> jak używać activity?
> Witam
> znam twoj nick z jakiejs innej grupy dyskusyjnej i czuje jakas sympatie.
> Zaczalem przygode z androidem tydzien temu. Twoje pytania w tym watku sa
> dziwne dla mnie, bo ja juz pisze aplikacje {narazie tylko dwie} ..hehhe
> w nocy mi sie snia te zawiasy "{ }, klasy itd. (Mysle w jezyku jawa) Ale
> spedzam cale dnie na czytaniu jawa oracle, android developmend itd.
> Mysle, ze wspolpraca w nauce takich poczatkujacych jak ja, i jak Ty(bo
> tak sie okresliles)moze przyniesc jakies efekty. Moje doswiadczenia to
> VB (bardzo dobrze), java script(bardzo dobrze) PHP(dobrze).
> Zeby nie bylo ze js a jawa to cos innego.Jest podobienswo.
Jest podobieństwo. Jak to że każdy (prawie) człowiek ma dwie ręce i dwie
nogi. Ale Java od JavaScriptu czy PHP rożni się tak że owe podobieństwa
raczej przeszkadzają niż pomagają.
> W js robilem
> funkcje, w jawie robi sie klasy. W VB robilem Type. Wkurza mnie to, ze w
> jawie jest inna konstrukcja wlasciwosci obiektow. I to , ze funkcje maja
> inna nazwe. A metody? W VB bylo np: text1.text="moj tekst". a w jawie
> inaczej set.text...by id..R i cos tam.
Rada od starego programisty: nie myśl w konkretnym języku. Myśli
obiektowo, jak obiekty się łączą i działają. Konkretny język to tylko
implementacja.
> Ale mozna sobie z tym poradzic,
> OK TheGuru, ja ucze sie samodzielnie, ale mam propozycje wspolpracy w
> nauce. Pewnie nie na forum, bo to sie nazywa "zasmiecanie?" Moze na gg
> albo nie wiem, on line piszemy sobie aplikacje i kombinujemy?
> Pozdr
> maf
>
--
Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Sun, 02 Sep 2012 19:32
Date: Sun, 02 Sep 2012 19:32
43 lines
2367 bytes
2367 bytes
Witajcie,
przerobiłem trochę tutoriali i chciałbym od początku zrozumieć co i jak i
używać dobrego języka.
Pozwólcie że napiszę jak to rozumiem.
public class StartingPoint extends Activity {
int counter; // deklaracja zmiennej typu całkowitego
Button add, sub; // deklaracja zmiennej typu Button.
TextView display; // deklaracja zmiennej typu TextView.
// Czy typ Button i TekstView to wewnętrzny typ androida nazwa zastrzeżona??
counter = 0; // inicjacja zmiennej
add = (Button) findViewById(R.id.bAdd); // system odnajduje element ekranu o
id bAdd wymusza jego typ jako Button i przypisuje do zmiennej add. od tej
chwili add jest odwołaniem do konkretnego buttona. Co to jest "R" ?
/*
a tutaj nie do końca wiem co się dzieje
ta metoda jest wywoływana po kliknieciu na button add.
co się dzieje po kliknięciu? Tworzona jest nowa klasa View.OnClickListener()
w jakim celu??
Metoda onClick (czy to metoda systemowa?) co to za parametry? parametr v
który jest klasą View? Dlaczego nie jest używany?
*/
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter++;
display.setText("" + counter); // jak to nazwać? metoda setText klasy
display ?
}
});
Re: początki lamera ;-)
Author: Arivald
Date: Mon, 03 Sep 2012 07:42
Date: Mon, 03 Sep 2012 07:42
163 lines
6689 bytes
6689 bytes
W dniu 2012-09-02 21:32, TheGuru pisze:
> Witajcie,
> przerobiłem trochę tutoriali i chciałbym od początku zrozumieć co i jak
> i używać dobrego języka.
> Pozwólcie że napiszę jak to rozumiem.
>
> public class StartingPoint extends Activity {
>
>
> int counter; // deklaracja zmiennej typu całkowitego
> Button add, sub; // deklaracja zmiennej typu Button.
> TextView display; // deklaracja zmiennej typu TextView.
> // Czy typ Button i TekstView to wewnętrzny typ androida nazwa zastrzeżona??
Po prosty nazwy klas. jak Activity czy StartingPoint.
>
>
>
>
> counter = 0; // inicjacja zmiennej
Ważna uwaga: deklaruj zmienne tam gdzie są inicjalizowane.
A raczej odwrotniwe, inicjalizuj zmienne przy deklaracji, z
zastrzeżeniem żeby nie deklarować/inicjalizować "na zapas". Umieszczaj
deklaracją w kodzie tam gdzie ona jest potrzebna.
Po drugie, powyższe "zmienne" to są pola klasy. Powinny posiadać
kwalifikatory dostępu, innaczej dostaną domyślny kwalifikator "package".
cały ten blok powinien wyglądać tak:
private int counter = 0;
private Button add = (Button) findViewById(R.id.bAdd);
private Button sub;
private TextView display;
Ale nawet to nie jest ok. Chodzi o to że taki kod (zarówno moja jak i
Twoja wersja) wykonał by się jako racjonalizator klasy jeszcze przed
wywołaniem konstruktora. I o ile przypisanie wartości w "int counter =
0" się powiedzie, to jus wywołanie findViewById() nie, bo klasa nie jest
jeszcze skonstruowana, i nie posiada żadnych widoków.
Dlatego używa się nadpisywania funkcji onCreate, i to jest poprawne
miejsce inicjalizacji widoków.
Po drugie zmienne proste (POD) takie jak int czy bool są zawsze
automatycznie inicjalizowane na domyślne wartośći, 0 dla int i false dla
bool. Nie trzeba ich jawnie inicjalizować na takie wartości (choć można)
Ostatecznie poprawny kod to:
private int counter;
private Button add;
private Button sub;
private TextView display;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setup widgets
add = (Button) findViewById(R.id.bAdd);
}
> add = (Button) findViewById(R.id.bAdd); // system odnajduje element ekranu o id bAdd wymusza jego typ jako Button i przypisuje do zmiennej add. od tej chwili add jest odwołaniem do konkretnego buttona. Co to jest "R" ?
Nie, nie i nie...
findViewById to metoda (funkcja składowa klasy) klasy Activity, która
zwraca jeden obiekt typu View z okna powiązanego z Activity.
Klasy Button czy TextView też dziedziczą po View (też są View). Klasa
View to najbardziej podstawowy przodek wszystkich klas służących do
budowy interfejsu.
"R" to generowana automatycznie klasa z identyfikatorami obiektów i
innymi zasobami aplikacji.
Czyli powyższa linia kodu oznacza: Prosimy Activity o zwrócenie obiektu
klasy View o identyfikatorze którego wartość jest w stałej "R.id.bAdd".
Zwrócony obiekt View rzucamy na Button (rzut w tym kontekście to zmiana
typu, w Javie w zasadzie zawsze tylko doprecyzowanie typu), i
przypisujemy do pola "add" klasy "StartingPoint".
"nie" bo:
a) nie system, a Activity odnajduje.
b) nie tyle "element ekranu", co jeden z obiektów View służących do
budowy interfejsu.
c) nie "wymusza jego typ", a jedynie upewnia się że ma on pożądany typ.
Zwrócony obiekt View może być dowolnym typem dziedziczącym po View. Rzut
jest jedynie po to żeby się upewnić że jest to Button. Gcy by nie był,
to nastąpi wyjątek w czasie wykonania, i przypisanie wartośći nie nastąpi.
>
> /*
> a tutaj nie do końca wiem co się dzieje
> ta metoda jest wywoływana po kliknieciu na button add.
> co się dzieje po kliknięciu? Tworzona jest nowa klasa View.OnClickListener() w jakim celu??
> Metoda onClick (czy to metoda systemowa?) co to za parametry? parametr v który jest klasą View? Dlaczego nie jest używany?
> */
>
> add.setOnClickListener(new View.OnClickListener() {
>
> public void onClick(View v) {
> counter++;
> display.setText("" + counter); // jak to nazwać? metoda setText klasy display ?
>
> }
> }
Tu jest tworzona nowa, anonimowa klasa dziedzicząca po
View.OnClickListener, której metoda onClick() została nadpisana kodem do
obsługi zdarzenia. Potem ta klasa jest rejestrowana w widoku "add"
(buttonie "add") jako listener (obserwator) zdarzenia "on click".
Potem, w momencie kliknięcia przycisku, button wywoła metodę "public
void onClick(View v)" każdego listenera skojarzonego ze zdarzeniem "on
click".
Ale to nie jest najwygodniejsza metoda wiązania kodu do zdarzeń.
Szczególnie jeśli chcemy powiązać kod i zdarzenie statycznie.
Wygodniej jest po prostu dodać metodę o sygnaturze
public void OnButtonAddClick(View view) {
...
}
a potem we właściwościach buttona "add", właściwość "On click" (OnClick)
ustawić na "OnButtonAddClick".
Metody z setOnClickListener() używa się w bardziej skomplikowanych
przypadkach, o których teraz nie będę pisał żeby Ci nie mieszać.
> display.setText("" + counter); // jak to nazwać? metoda setText
klasy display ?
metoda "setText()" obieku "display", który jest instancją klasy TextView.
BTW sugeruję najpierw przeczytanie jakiejś książki o Javie. Tutoriale
Androidowe zazwyczaj zakładają znajomość Javy.
--
Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Mon, 03 Sep 2012 09:07
Date: Mon, 03 Sep 2012 09:07
11 lines
1489 bytes
1489 bytes
//cały ten blok powinien wyglądać tak: poczytam i pomyslę //BTW sugeruję najpierw przeczytanie jakiejś książki o Javie. Tutoriale //Androidowe zazwyczaj zakładają znajomość Javy. czytam ale samo czytanie bez konkretnego problemu niewiele daje. dziekuję za Twój czas.
Re: początki lamera ;-)
Author: TheGuru
Date: Fri, 07 Sep 2012 09:09
Date: Fri, 07 Sep 2012 09:09
49 lines
2647 bytes
2647 bytes
Witajcie,
zapoznałem się z różnymi Buttonami i różnymi TextViewami. Nareszcie mogę
pobierać i drukować.
Stanąłem na INTENT.
Chciałbym zmienić ekran Activity po kliknięci na Button.
Napisałem tak :
klawisz4.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent openDrugieActivity = new
Intent("com.example.pierwszy.DRUGIEACTIVITY");
startActivity(openDrugieActivity);
}
});
i taki fragment Activity :
<activity
android:name="GlowneActivity"
android:label="@string/title_activity_glowne" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="DrugieActivity"
android:label="@string/title_activity_drugie" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
DrugieActivity.java to klasa obsługująca drugą aktywność.
Kombinowałem z <category android:name wpisywałem różne kategorie poczynając
od DEFAULT, WIEV itp. ale po kliknięciu na klawisz zmiany ekranu program się
wywala.
Nie znalazłem też informacji jak zamknąć Activity, czy też można je tylko
przełączać?
pozdrawiam
robert
Re: początki lamera ;-)
Author: Arivald
Date: Sat, 08 Sep 2012 00:55
Date: Sat, 08 Sep 2012 00:55
75 lines
3333 bytes
3333 bytes
W dniu 2012-09-07 11:09, TheGuru pisze:
> Witajcie,
> zapoznałem się z różnymi Buttonami i różnymi TextViewami. Nareszcie mogę
> pobierać i drukować.
> Stanąłem na INTENT.
>
> Chciałbym zmienić ekran Activity po kliknięci na Button.
>
> Napisałem tak :
>
> klawisz4.setOnClickListener(new View.OnClickListener() {
> public void onClick(View v) {
> Intent openDrugieActivity = new
> Intent("com.example.pierwszy.DRUGIEACTIVITY");
Tak się startuje INNE aplikacje (activity z innej aplikacji).
Jeśli otwierasz wewnątrz aplikacji, to:
Intent openDrugieActivity = new Intent(this, DrugieActivity.class);
To pozwoli systemowi na automatyczne ustawienie hierarchii (parametr
context => this), więc jak user zamknie nowe Activity to system będzie
wiedział do którego ma wrócić.
> startActivity(openDrugieActivity);
> }
> });
>
> i taki fragment Activity :
>
> <activity
> android:name="GlowneActivity"
> android:label="@string/title_activity_glowne" >
> <intent-filter>
> <action android:name="android.intent.action.MAIN" />
> <category
> android:name="android.intent.category.LAUNCHER" />
> </intent-filter>
> </activity>
>
> <activity
> android:name="DrugieActivity"
> android:label="@string/title_activity_drugie" >
> <intent-filter>
> <action android:name="android.intent.action.MAIN" />
> <category
> android:name="android.intent.category.LAUNCHER" />
> </intent-filter>
> </activity>
>
>
> DrugieActivity.java to klasa obsługująca drugą aktywność.
>
> Kombinowałem z <category android:name wpisywałem różne kategorie
> poczynając od DEFAULT, WIEV itp. ale po kliknięciu na klawisz zmiany
> ekranu program się wywala.
>
> Nie znalazłem też informacji jak zamknąć Activity, czy też można je
> tylko przełączać?
Zazwyczaj system to robi (bo wystartowało inne Activity, albo user
nacisnął "back"), ale jak już musisz sam to Activity.finish().
więcej tu:
http://developer.android.com/training/basics/activity-lifecycle/index.html
> pozdrawiam
> robert
>
>
--
Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Sat, 08 Sep 2012 12:28
Date: Sat, 08 Sep 2012 12:28
51 lines
2838 bytes
2838 bytes
/*
> klawisz4.setOnClickListener(new View.OnClickListener() {
> public void onClick(View v) {
> Intent openDrugieActivity = new
> Intent("com.example.pierwszy.DRUGIEACTIVITY");
Tak się startuje INNE aplikacje (activity z innej aplikacji).
Jeśli otwierasz wewnątrz aplikacji, to:
Intent openDrugieActivity = new Intent(this, DrugieActivity.class);
*/
Dzięki za odpowiedź.
Wpisałem wg Twojej propozycji i Eclipse zgłasza taki błąd :
The constructor Intent (new onClickListner(){}), Clas <DrugieActivity> ) is
undefined.
z tutorialu przepisałem, bez zrozumienia, coś takiego :
Class noweAvtivity = Class.forName("com.example.pierwszy.drugieactivity");
ale nie pomogło ;-(
Nie rozumiem dlaczego. Przepisuję z tutorialu i lipa.
/*
> Nie znalazłem też informacji jak zamknąć Activity, czy też można je
> tylko przełączać?
Zazwyczaj system to robi (bo wystartowało inne Activity, albo user
nacisnął "back"), ale jak już musisz sam to Activity.finish().
*/
w tutorialowym programie otwiera się po sobie kilka okienek i dopiero
klikając [WSTECZ] zamykam je.
Myślę, że otwarcie iluś tam kolejnych okienek może zapełnić pamięć.
//więcej tu:
http://developer.android.com/training/basics/activity-lifecycle/index.html
zaglądam ale jeszcze nie jestem na tym etapie by zrozumieć wszystko co
czytam ;-)
tak apropos to przejrzałem wiele książek i wszyscy skupiają się na for, if,
case, klasach, metodach, dziedziczeniu, przeciążaniu ....
nie ma książki o klasach systemowych i ich metodach jak otworzyć activity i
cokolwiek z nim zrobić.
pozdrawiam
robert
Re: początki lamera ;-)
Author: Arivald
Date: Sat, 08 Sep 2012 15:37
Date: Sat, 08 Sep 2012 15:37
76 lines
4164 bytes
4164 bytes
W dniu 2012-09-08 14:28, TheGuru pisze:
> /*
>> klawisz4.setOnClickListener(new View.OnClickListener() {
>> public void onClick(View v) {
>> Intent openDrugieActivity = new
>> Intent("com.example.pierwszy.DRUGIEACTIVITY");
> Tak się startuje INNE aplikacje (activity z innej aplikacji).
> Jeśli otwierasz wewnątrz aplikacji, to:
> Intent openDrugieActivity = new Intent(this, DrugieActivity.class);
> */
>
> Dzięki za odpowiedź.
>
> Wpisałem wg Twojej propozycji i Eclipse zgłasza taki błąd :
>
> The constructor Intent (new onClickListner(){}), Clas <DrugieActivity> )
> is undefined.
>
No żesz... przecież muwółen żebyś nie używał "add.setOnClickListener(new
View.OnClickListener() { ...", tylko zwykłych " public void
OnButton1Click(View view) {..." plus wpisanie nazwy w XMLu. Mniej
kłopotów z taką formą obsługi eventu.
we frazie "Intent openDrugieActivity = new Intent(this,
DrugieActivity.class);", pierwszy parametr (ja użyłem "this") to powinno
być aktualne Activity, przynajmniej w tym programie.
> z tutorialu przepisałem, bez zrozumienia, coś takiego :
> Class noweAvtivity = Class.forName("com.example.pierwszy.drugieactivity");
>
> ale nie pomogło ;-(
> Nie rozumiem dlaczego. Przepisuję z tutorialu i lipa.
>
>
> /*
>> Nie znalazłem też informacji jak zamknąć Activity, czy też można je
>> tylko przełączać?
>
> Zazwyczaj system to robi (bo wystartowało inne Activity, albo user
> nacisnął "back"), ale jak już musisz sam to Activity.finish().
> */
>
> w tutorialowym programie otwiera się po sobie kilka okienek i dopiero
> klikając [WSTECZ] zamykam je.
> Myślę, że otwarcie iluś tam kolejnych okienek może zapełnić pamięć.
Nie, bo Activity które trafia na spód jest wstrzymywane, może być nawet
całkiem zatrzymane i wywalone z pamięci. Po naciśnięciu "back", system
zamknie to nowe, a stare przywróci (resume lub ponowny start).
A stan pomiędzy uruchomieniami/wznowieniami należy zależy zachować w
Bundle. W ogóle czytałeś link który Ci podałem?
>
> //więcej tu:
> http://developer.android.com/training/basics/activity-lifecycle/index.html
>
> zaglądam ale jeszcze nie jestem na tym etapie by zrozumieć wszystko co
> czytam ;-)
>
> tak apropos to przejrzałem wiele książek i wszyscy skupiają się na for,
> if, case, klasach, metodach, dziedziczeniu, przeciążaniu ....
Bo to podstawa programowania w Javie. Dopóki teko nie umiesz to Nie
próbuj dalej. A gdybyś umiał, to nie miał być problemu z Intent-em, jest
przecież dokładnie opisany.
> nie ma książki o klasach systemowych i ich metodach jak otworzyć
> activity i cokolwiek z nim zrobić.
Jeszcze raz http://developer.android.com/training/basics/ Tam nic o
Javie, z góry zakładają że ją znasz.
--
Arivald
Re: początki lamera ;-)
Author: TheGuru
Date: Sun, 23 Sep 2012 12:57
Date: Sun, 23 Sep 2012 12:57
10 lines
1440 bytes
1440 bytes
Witajcie, tyle się naczytałem o ogromnej liczbie klas i bibliotek do javy. Czy istnieje klasa interpretująca równania matematyczne, z której mógłbym skorzystać? Chodzi mi rozwiązanie, które analizuje wysłany string np sin(x)*2+ln(x)+x^2 i odpowiada jego wartością ewentualnie zwraca błąd. pozdrawiam rober
Re: początki lamera ;-)
Author: TheGuru
Date: Tue, 02 Oct 2012 11:43
Date: Tue, 02 Oct 2012 11:43
55 lines
2405 bytes
2405 bytes
Witajcie,
z pisaniem idzie mi coraz lepiej ale...;-)
mam kłopot z eleganckim przesyłaniem danych między klasami.
Mam taką klasę :
public class MainActivity {
String uwaga = "udało się";
static String wFunkcji;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
funkcja = (EditText) findViewById(R.id.etFunkcja);
}
public void onClick(View v) {
wFunkcji = funkcja.getText().toString();
uwaga = wFunkcji;
}
}
i drugą klasę
public class RysujWykres {
MainActivity mainActiv = new MainActivity();
protected void onDraw(Canvas canvas) {
tempS = mainActiv.uwaga;
}
}
dlaczego dostaję wartość z deklaracji a nie z przypisania w metodzie
onClick.
uwaga deklaruję i przypisuję w głównym ciele klasy aby była dostępna w całej
klasie, i jest i działa w tej klasie.
Próbowałem tworzyć metody getUwaga(); i w drugiej klasie pisałem
tempS = mainActiv.getUwaga();
ale bez efektu
zawsze dostaję wartość null
ps.
static String wFunkcji;
tak zrobiłem bo tak działa ale chciałbym unikać zmiennych globalnych...
tylko jak
pozdrawiam
robert
Re: początki lamera ;-)
Author: Arivald
Date: Tue, 02 Oct 2012 19:52
Date: Tue, 02 Oct 2012 19:52
112 lines
3777 bytes
3777 bytes
W dniu 2012-10-02 13:43, TheGuru pisze:
> Witajcie,
> z pisaniem idzie mi coraz lepiej ale...;-)
>
> mam kłopot z eleganckim przesyłaniem danych między klasami.
>
Co to znaczy "eleganckim"?
Są różna potrzeby, i różne rozwiązania.
> Mam taką klasę :
>
> public class MainActivity {
> String uwaga = "udało się";
> static String wFunkcji;
>
> protected void onCreate(Bundle savedInstanceState) {
> super.onCreate(savedInstanceState);
> setContentView(R.layout.main_activity);
> funkcja = (EditText) findViewById(R.id.etFunkcja);
> }
>
> public void onClick(View v) {
> wFunkcji = funkcja.getText().toString();
> uwaga = wFunkcji;
> }
> }
>
> i drugą klasę
>
>
>
> public class RysujWykres {
> MainActivity mainActiv = new MainActivity();
> protected void onDraw(Canvas canvas) {
> tempS = mainActiv.uwaga;
> }
> }
>
> dlaczego dostaję wartość z deklaracji a nie z przypisania w metodzie
> onClick.
>
> uwaga deklaruję i przypisuję w głównym ciele klasy aby była dostępna w
> całej
> klasie, i jest i działa w tej klasie.
>
> Próbowałem tworzyć metody getUwaga(); i w drugiej klasie pisałem
>
> tempS = mainActiv.getUwaga();
>
> ale bez efektu
>
> zawsze dostaję wartość null
>
> ps.
> static String wFunkcji;
> tak zrobiłem bo tak działa ale chciałbym unikać zmiennych globalnych...
> tylko jak
>
Namotane... i z Twojego opisu wynika że nawiedzone, bo dzieją się rzeczy
niemożliwe ;-)
Możesz wystawić kod do ściągnięcia? Zobaczył bym o co biega.
Możesz na priv, wywal NOSPAM z adresu.
Z oglądu kodu podejrzewam że nie odróżniasz klasy od jej instancji... Że
wewnątrz RysujWykres tworzysz drugą instancję MainActivity, zamiast się
dobrać do pierwszej. Dlatego zmienna statyczna klasy działa, a składowa nie.
Spróbuj tak (sposób niekoniecznie najlepszy, ale wystarczający przy
założeniu że powinna istnieć tylko jedna instancja klasy MainActivity w
tym samym czasie):
public class MainActivity {
...
private String uwaga = "udało się";
public String getUwaga() {
return uwaga;
}
private static MainActivity instance;
public static MainActivity getInstance() {
return instance;
}
protected void onCreate(Bundle savedInstanceState) {
instance = this;
....
}
protected void onDestroy(Bundle savedInstanceState) {
instance = nil;
....
}
i potem
public class RysujWykres {
protected void onDraw(Canvas canvas) {
tempS = MainActivity.getInstance().getUwaga();
}
}
--
Arivald
Jak nadpisać preferencje
Author: theguru
Date: Thu, 15 Nov 2012 08:04
Date: Thu, 15 Nov 2012 08:04
26 lines
1807 bytes
1807 bytes
Witajcie,
w mojej aplikacji używam preferencji. Użytkownik może wprowadzić liczbę z
zakresu 0-32.
Niestety w EditText użytkownik może wprowadzić większą liczbę.
Nie mam kłopotu z obsługa tego w programie, jeśli użytkownik wprowadzi
większą liczbę przypisuję do wartości maksymalną dozwoloną.
Chciałbym jedna aby preferencje przechowywały wartość prawidłową.
zrobiłem tak :
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String testSTR = getPrefs.getString("dJed", "2");
int dJ = Integer.parseInt(testSTR);
if (dJ > 32) {
dJ = 32;
getPrefs.edit().putString("dJed", "32");
getPrefs.edit().commit();
}
niestety wartość nie jest nadpisywana :-(
Jak to zrobić poprawnie?
pozdrawiam
robert
preent screen
Author: theguru
Date: Thu, 15 Nov 2012 08:30
Date: Thu, 15 Nov 2012 08:30
11 lines
1203 bytes
1203 bytes
Witajcie, jeszcze jeden problem ;-) Używam ekranu graficznego opartego o klasę SurfaceView. Jak zapisać ten ekran do pliku graficznego? pozdrawiam robert
Re: preent screen
Author: TheGuru
Date: Sat, 17 Nov 2012 21:03
Date: Sat, 17 Nov 2012 21:03
21 lines
1596 bytes
1596 bytes
//Witajcie, //jeszcze jeden problem ;-) //Używam ekranu graficznego opartego o klasę SurfaceView. //Jak zapisać ten ekran do pliku graficznego poczytałem i napisałem takie coś canvas = ourHolder.lockCanvas(); bitmap = Bitmap.createBitmap(szerokoscEkranu, wysokoscEkranu,Bitmap.Config.ARGB_8888); ourHolder.unlockCanvasAndPost(canvas); plik się tworzy ale pusty tzn jednokolorowy. myślałem, że nie ten ekran buforowy się zgrywa ale nie. gdzie może być przyczyna? pozdrawiam robert
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads