Skocz do zawartości

Potrzebujemy Ciebie! Weź udział w rekrutacji do redakcji Android.com.pl!

Wyszukaj

Wyświetlanie wyników dla tagów 'kotlin' .



Więcej opcji wyszukiwania

  • Wyszukuj po tagach

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukuj po autorze

Typ zawartości


Forum

  • Społeczność android.com.pl
    • Regulaminy Forum
    • Przywitaj się!
    • Android.com.pl
    • Konkursy
    • OFF-Topic
    • FAQ Android
  • Android
    • Nowości i plotki
    • FAQ Android
    • Android 8.0 Oreo
    • Android 7.0 Nougat
    • Android 6.0 Marshmallow
    • Android 5.0 Lollipop
    • Android 4.4 KitKat
    • Archiwum Android
    • Inne Systemy
    • Software PC
  • Gry i Aplikacje
    • Gry i Aplikacje
    • Multimedia
    • Modyfikacje Wizualne
  • Co i gdzie kupić
    • Zakupy w Chinach
    • Co kupić
    • Operatorzy Sieci Komórkowej
    • Centrum GSM
  • Dział dla Developerów oraz Programistów
    • Dział dla Programistów
    • Dział dla Developerów
  • Modyfikacje Android OS
    • Moduły XPOSED
    • Poradniki, modyfikacje Android OS
    • Pomoc Techniczna, Dyskusja Ogólna
    • Szukam modyfikacji
  • SmartWatch / SmartBand
    • Samsung Galaxy Gear
    • Sony SmartWatch
    • Moto 360 by Motorola
    • LG SmartWatch
    • Huawei Watch
    • Asus ZenWatch
    • Pozostałe Smartwatch
    • SmartBand
    • Co kupić/wybrać.
  • Android TV
    • Android TV
    • Mini PC
  • Akcesoria
    • Uniwersalne akcesoria
  • Google - Telefony/Tablety
    • Forum Google
    • Huawei Nexus 6P
    • LG Nexus 5X
    • Motorola Nexus 6
    • LG Nexus 5
    • LG Nexus 4
    • Archiwum Google
    • Pozostałe Google
  • HTC - Telefony
    • Forum HTC
    • HTC U11
    • HTC 10
    • HTC One (M9)
    • HTC One (M8)
    • HTC Desire 820
    • Archiwum HTC
    • Pozostałe HTC
  • LG - Telefony
    • Forum LG
    • LG V30
    • LG G6
    • LG G5 (H850)
    • LG V10 (H960)
    • LG G4 (H815, H818)
    • LG G3 (D855)
    • LG G2 (D802)
    • LG K10 (K420N, K430ds)
    • LG G3 S ( D722v, D722)
    • LG G2 Mini (D620)
    • LG Spirit 4G LTE (H440, H440y, H440n)
    • Archiwum LG
    • Pozostałe LG
  • Samsung - Telefony
    • Forum Samsung
    • Samsung Galaxy S9+
    • Samsung Galaxy S9
    • Samsung Galaxy S8 + (SM-G955F)
    • Samsung Galaxy S8 (SM-G950F)
    • Samsung Galaxy S7 Edge (SM-G935F)
    • Samsung Galaxy S7 (SM-G930F)
    • Samsung Galaxy S6 Edge+ (SM-G928F)
    • Samsung Galaxy S6 Edge (SM-G925F)
    • Samsung Galaxy S6 (SM-G920F)
    • Samsung Galaxy S5 (SM-G900F)
    • Samsung Galaxy Note 8
    • Samsung Galaxy Note 5 (SM-N920)
    • Samsung Galaxy Note 4 (SM-N910)
    • Samsung Galaxy Note 3 (SM-N9005)
    • Samsung Galaxy S5 Mini (SM-G800F)
    • Samsung Galaxy S4 Mini (GT-I9190, I9192, I9195)
    • Samsung Galaxy A5 2017 (SM-A520F)
    • Samsung Galaxy A5 2016 (SM-A510)
    • Samsung Galaxy A3 2016 (SM-A310)
    • Samsung Galaxy A5 (SM-A500F/FU)
    • Samsung Galaxy A3 (SM-A300H/DS/HQ)
    • Samsung Galaxy J5 2016 (SM-J510F, SM-J510FN)
    • Samsung Galaxy J5 (SM-J500F, SM-J500FN)
    • Archiwum Samsung
    • Pozostałe Samsung
  • Sony - Telefony
    • Forum Sony
    • Sony Xperia XZ (F8331)
    • Sony Xperia Z5 (E6603, E6653)
    • Sony Xperia Z5 Compact (E5803, E5823)
    • Sony Xperia Z3 (D6603, D6643, D6616)
    • Sony Xperia Z3 Compact (D5803, D5833)
    • Sony Xperia Z2 (D6502, D6503, D6543)
    • Sony Xperia M5 (E5603)
    • Sony Xperia M2/M2 Dual (D2303, D2305, D2306) / (D2302)
    • Archiwum Sony
    • Pozostałe Sony (SE)
  • Motorola - Telefony
    • Forum Motorola
    • Motorola Moto G5/G5+
    • Motorola Moto G4/G4+
    • Motorola Moto X Play
    • Moto X Style
    • Motorola Moto G 3rd (2015)
    • Motorola Moto G (2014)
    • Motorola Moto G
    • Moto E 2nd Gen. 4G (XT1524, XT1527)
    • Archiwum Motorola
    • Pozostałe Motorola
  • Huawei - Telefony
    • Forum Huawei
    • Huawei P10
    • Huawei P9
    • Huawei P8
    • Huawei Mate 10 Pro
    • Huawei Mate 10 Lite
    • Huawei P10 lite
    • Huawei P9 Lite
    • Huawei P8 Lite
    • Huawei Honor 8
    • Huawei Honor 7
    • Huawei Mate 9
    • Huawei Mate 8
    • Pozostałe Huawei
    • Archiwum Huawei
  • Xiaomi - telefony / MIUI
    • Forum Xiaomi
    • Xiaomi Mi A1
    • Xiaomi Mi6
    • Xiaomi Mi5 (5s / 5s Plus)
    • Xiaomi Mi4 (Mi4 / Mi4i / Mi4c / Mi4s)
    • Redmi 4 (Pro/4A/X)
    • Xiaomi Redmi 3 (3 / 3 PRO / 3S)
    • Redmi Note 4 (MTK / X)
    • Redmi Note 3 (MTK / PRO / SE)
    • Pozostałe Xiaomi
    • Archiwum Xiaomi
  • OnePlus - Telefony
    • Forum OnePlus
    • OnePlus 5T - A5010
    • OnePlus 5
    • OnePlus 3T
    • OnePlus 3 - A3003
    • OnePlus One - A0001
    • Pozostałe modele - OnePlus
  • Lenovo - Telefony
    • Lenovo P2
    • Lenovo K6 Note
    • Lenovo K3/K3 Note
    • Lenovo K5/K5 Plus
    • Archiwum Lenovo
    • Pozostałe Lenovo
  • Asus - Telefony
    • ZenFone 5 (A501CG)
    • ZenFone 2 (Z00AD)
    • Archiwum Asus
    • Pozostałe Asus
  • myPhone - Telefony
    • MyPhone Luna
    • myPhone Next
    • myPhone FUN
    • myPhone Cube
    • Pozostałe myPhone
  • Pozostałe telefony z Android OS
    • Alcatel - Telefony
    • GoClever - Telefony
    • Overmax - Telefony
    • Pentagram - Telefony
    • Kazam
    • Kruger & Matz - Telefony
    • Prestigio
    • Meizu - Telefony
    • ZTE - Telefony
    • Nokia - Telefony
    • Archiwum Pozostałe Telefony z Android OS
    • Pozostali Producenci - Android OS
    • Pozostałe tematy
  • Tablety z Android OS
  • Asus - Tablety
    • Asus Eee Pad Transformer TF300
    • Archiwum Asus
    • Pozostałe Asus
  • Samsung - Tablety
    • Samsung Galaxy Tab S
    • Samsung Galaxy Note 10.1" 2014 Edition
    • Samsung Galaxy Note 10.1” 2012 Edition
    • Samsung Galaxy Tab 4
    • Samsung Galaxy Tab 3
    • Samsung Galaxy Tab 2 P51x0 10.1”
    • Samsung Galaxy Tab 2 P31x0 7”
    • Archiwum Samsung
    • Pozostałe Samsung
  • Pozostałe Tablety Android OS
    • Dell
    • GoClever - Tablety
    • Kiano - Tablety
    • Lark - Tablety
    • Lenovo
    • LG
    • Manta
    • Modecom
    • NTT
    • Overmax
    • Pentagram
    • Prestigio
    • Sony
    • Archiwum Pozostałe Tablety Android OS
    • Pozostali Producenci - Tablety Android OS
  • Tablety/Notebooki Windows OS
    • Asus
    • Acer
    • Lenovo
    • Pozostali producenci
    • Forum Tablety/Notebooki Windows OS - Sugestie i Problemy
  • Pozostałe urządzenia z Android OS
    • Netbooki Android OS
    • Implementacje systemu Android w innych urządzeniach
    • Pozostałe akcesorium.
  • Pozostałe
    • Test
    • Kosz

Znaleziono 15 wyników

  1. [100%] ZDALNIE ANDROID DEVELOPER Poszukujemy kontraktora - developera Android do jednego z realizowanych projektów dla naszego klienta. Praca 100% zdalna. Szybkie zaangażowanie w projekt. Wymagany dobry, komunikatywny język angielski. Nie jest wymagany onboarding. Wymagania: - poziom seniorski: +/- 5 lat expa developerskiego, - stack: android sdk, java, rxjava, kotlin, sqlite, dagger, retrofit, git - język angielski: B2/C1 (komunikatywny) Oferta: - projekt długoterminowy: 3 miesiące (okres testowy), + przedłużenie - stawka: +/- 90 - 100 PLN/h - obłożenie: 100% (8h/dziennie) - płatność: 14 dni, Kontakt: dariusz.kieda@itligent.pl, 605 990 920
  2. Senior Android Developer @ Netguru ESSENTIALS: Location: Poznań, Kraków, Gdańsk, Wrocław, Warszawa POL Employment Type: B2B Start Date: ASAP Salary (invoice net amount): 10.5k-15.0k PLN / Month Category: Mobile Project Industry: Software House Company Size: 230 Project Team Size: min 3/may vary REQUIREMENTS - MUST HAVE: - Android SDK - Dagger 2 - Git - Java - RxJava/RxJava 2 - Gradle - Kotlin - Unit Tests REQUIREMENTS - NICE TO HAVE: - MVP - Continuous Delivery - Continuous Integration - Firebase - Google Play Services - Bluetooth - JNI More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Senior/Android/Developer/mobile/Netguru/SY1IY9TF
  3. Android Developer @ Techgarden ESSENTIALS: Location: Fully remote job; Warszawa POL Employment Type: B2B Start Date: ASAP Salary (invoice net amount): 6.5k-13.0k PLN / Month Category: Mobile Project Industry: CarSharing Company Size: 30+ Project Team Size: 10 REQUIREMENTS - MUST HAVE: - Kotlin - Gradle - RESTful API REQUIREMENTS - NICE TO HAVE: - Google Maps API - RxAndroid - Swagger - Firebase More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/Techgarden/OJRXF4GW
  4. Android Developer @ 10Clouds ESSENTIALS: Location: Fully remote job; Warszawa POL Employment Type: B2B Start Date: ASAP Salary (invoice net amount): 6.7k-13.0k PLN / Month Category: Mobile Project Industry: Software House Company Size: 100+ Project Team Size: may vary REQUIREMENTS - MUST HAVE: - GIT - JSON/XML - Java for Android REQUIREMENTS - NICE TO HAVE: - Kotlin More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/10Clouds/LWNX1K98
  5. Od 2014 piszę komercyjnie aplikacje na platformę Android: Języki: Java, Kotlin Wzorce projektowe: MVP, preferuje MVVM Przykładowe realizacje komercyjne: https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.poradnik_zdrowie https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.murator_dom https://play.google.com/store/apps/details?id=pl.grupazpr.muratorCyfrowy https://play.google.com/store/apps/details?id=pl.zprmedia.BabyApp https://play.google.com/store/apps/details?id=pl.com.grupazprmedia.urzadzamy Jest to tylko cześć aplikacji przy których pracowałem. Jeśli potrzebujesz aplikacji zapraszam do kontaktu. Skype: adam1984.12.24 Email: adam_mistal@wp.pl Tel: 662254975 Pomagam również w nauce programowania, aplikacjach na studia. Dla chętnych mogę przygotować spersonalizowane szkolenie . Wystawiam Faktury VAT https://codeapp4u.wordpress.com/
  6. Android Developer @ Circle K Business Centre Poland ESSENTIALS: Location: Warszawa POL Employment Type: Permanent Start Date: ASAP Salary (gross): 8.0k-14.0k PLN / Month Category: Mobile Project Industry: Retail Company Size: Circle K Business Centre Poland Sp/ z o.o. Project Team Size: 3-5 REQUIREMENTS - MUST HAVE: - Android - Java - RxJava REQUIREMENTS - NICE TO HAVE: - Kotlin More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/Circle/K/Business/Centre/Poland/SJUQLVND
  7. Android Developer @ Netguru ESSENTIALS: Location: Poznań, Kraków, Gdańsk, Wrocław, Warszawa POL Employment Type: B2B Start Date: ASAP Salary (invoice net amount): 6.5k-8.5k PLN / Month Category: Mobile Project Industry: Software House Company Size: 230 Project Team Size: min 3/may vary REQUIREMENTS - MUST HAVE: - Android SDK - Java - Dagger 2 - Git - RxJava - Gradle - Unit Tests REQUIREMENTS - NICE TO HAVE: - Firebase - Kotlin - MVP - Continuous Delivery - Continuous Integration - Google Play Services - RxJava 2 More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/Netguru/JQDR6A5V
  8. Szukamy osoby do dokończenia aplikacji mobilnej na system Android napisanej w języku Kotlin. Projekt jest na ukończeniu - pozostało naprawić błędy zgłoszone przez klienta. Estymujemy, że zajmie to 20-40h (raczej bliżej dolnej granicy). Oferujemy od 40 do 80zł netto za godzinę. NIEAKTUALNE
  9. Sirocco Mobile Sp. z o.o., producent oprogramowania i gier na urządzenia mobilne (www.siroccomobile.com), poszukuje do swojego biura w Gliwicach osoby na stanowisko: Programista Android Miejsce pracy: Gliwice [możliwa praca zdalna] Osoba na tym stanowisku będzie odpowiedzialna za tworzenie i rozwój wysokiej jakości aplikacji mobilnych na platformę Android. Wymagania: • bardzo dobra umiejętność programowania w technologii Java • znajomość platformy Android • mile widziana znajomość języka Kotlin • umiejętności analitycznego myślenia, kreatywność • solidność, zaangażowanie, umiejętność pracy w zespole • znajomości języka angielskiego w stopniu pozwalającym na komunikację i korzystanie z dokumentacji technicznej • proaktywne podejście do obowiązków Oferujemy: · atrakcyjne wynagrodzenie, adekwatne do posiadanego doświadczenia · praca w młodym, dynamicznym i nowocześnie zarządzanym zespole · praca od pn-pt w klimatyzowanym biurze w dogodnej lokalizacji okolicach politechniki śląskiej · udział w ciekawych projektach na rynek polski i zagraniczny · przyjazna i wesoła atmosfera pracy – imprezy integracyjne, gry i konkursy, wspólne wyzwania sportowe, · lekcje języka angielskiego · swobodny dostęp do zasobów firmowej kuchni oraz biblioteczki Osoby zainteresowane zapraszamy do aplikacji na adres praca@siroccomobile.com Prosimy o dopisanie klauzuli: „Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w ofercie pracy dla potrzebprocesu rekrutacji zgodnie z ustawą z dnia 27.08.1997r. Dz. U. z 2002 r., Nr 101, poz. 923 ze zm."
  10. Android Developer @ Droids On Roids ESSENTIALS: Location: Wroclaw POL Employment Type: B2B Start Date: 1.09.2017 Salary (invoice net amount): 6.5k-9.0k PLN / Month Category: Mobile Project Industry: Software House Company Size: 50+ Project Team Size: min. 4 REQUIREMENTS - MUST HAVE: - Java REQUIREMENTS - NICE TO HAVE: - Kotlin - Scrum More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/Droids/On/Roids/QTY6G0QM
  11. Hej, poszukuję Android Developera do krótkoterminowego projektu od zaraz: Opis projektu: Aplikacja do zarządzania wynajmem rowerów. Do zadań należało będzie przepisanie logiki biznesowej, która znajduje się w aktywnościach do ViewModeli, przepisanie kilku klas z Javy na Kotlina, dopisanie testów jUnit. Wymagania: - znajomość Kotlina - udokumentowane doświadczenie z architekturą MVVM - RxJava Wymagana dostepność od 20h/tydzień, 35-65 netto/h, godziny pracy dowolne, tryb pracy bardziej zadaniowy. Zainteresowane osoby proszę napisanie kilku zdań o sobie, swoim doświdczeniu z MVVM i przykładami kodu/projektów na mobilitycont@gmail.com
  12. Android Developer @ Droids On Roids ESSENTIALS: Location: Wroclaw POL Employment Type: B2B Start Date: 1.09.2017 Salary (invoice net amount): 6.5k-9.0k PLN / Month Category: Mobile Project Industry: Software House Company Size: 50+ Project Team Size: min. 4 REQUIREMENTS - MUST HAVE: - Java REQUIREMENTS - NICE TO HAVE: - Kotlin - Scrum More info and apply form on nofluffjobs.com https://nofluffjobs.com/f/an/Android/Developer/mobile/Droids/On/Roids/U2F8MZCP
  13. Hej, czy opłaca się uczyć programowania w języku Kotlin, nie znając Javy? Podobno jest od niej łatwiejszy do nauki, jest nowocześniejszy i wyeliminowano w nim naleciałości poprzedniego ćwierćwiecza. Czyli składnia nowsza, przyjemniejsza i mniej pisania kodu. Z tego co wyczytałem jego rywale do wyboru to Scala, Swift, Ceylon i C#. Ja jestem zainteresowany programowaniem ogólnym na wszystkie platformy więc wybór JVM wydaje się być dla mnie rozsądny. Do tego jeszcze Google połączyło siły z JetBrains, wybierając ten Open Sorce język programowania jakim jest właśnie Kotlin. Interesuję się czymś nowoczesnym, w sumie Rust, Go, Elixir też są nowymi językami programowania, ale mniej mobilnymi. One są stworzone do pisania mikro serwisów? Jak by ktoś miał jakieś ciekawe materiały do nauki programowania w języku Kotlin, to podajcie je tu.
  14. Witam wszystkich, Przyjmę dodatkowe zlecenia po godzinach w tygodniu, bądź na weekendy. Mam kilkuletnie doświadczenie w programowaniu aplikacji mobilnych na platformę Android. Dla zainteresowanych na PW podeślę linka do profilu LinkedIn, który da większe tło o moim doświadczeniu. Technologie, biblioteki i narzędzia z jakich m.in. obecnie korzystam: Android Studio, Java, Kotlin, Dagger 2, RxJava, Retrofit, OkHttp, Butterknife, Picasso || Glide, Travis CI, JIRA, Confluence, Gitlab || Github || Bitbucket, MVP || MVVM . Pozdrawiam!
  15. Kotlin w Androidzie

    Cześć, dziś chciałbym zaprezentować język Kotlin w którym możemy pisać aplikacje Android. Język Kotlin jest stosunkowo młody. Porównując do javy, jest to nowy język. Teoretycznie nie powinniśmy przyrównywać Kotlina do Java, ponieważ jest on językiem funkcyjnym statycznie typowanym, ale mając dwie możliwości pisania aplikacji możemy pokusić się porównanie kodu aplikacji pisanej w Kotlinie do kodu aplikacji pisanej w Java. Na wstępie chciałbym zaznaczyć, że kod umieszczony na repozytorium jest kodem tylko poglądowym i nie należy go poddawać restrykcyjnemu code review Można kod javy uprościć stosując zewnętrzne biblioteki takie jest jak guava czy retrolambda, ale nie o to w tym chodzi. Pisałem bez dodatkowych zależności w javie. Kotlin też jest taki, jaki dostarczają nam twórcy języka. Tutorial nie jest po to aby poznać podstawy języka tylko żeby zobaczyć różnice w pisaniu. Często inny język (a tym bardziej funkcyjny) pokazuje inne światło na programowanie. Jeśli ktoś chciałby zacząć uczyć się języka zapraszam na stronę: Kotlin gdzie możemy go wypróbować online, przejść kurs czy zerknąć w dokumentację. Kod w repozytorium nie jest idealny. Kilka rzeczy można uprościć, kilka rzeczy nie powinno się robić jednak idea tego wpisu jest inna. Ma na celu pokazać różnice pomiędzy java, a kotlin oraz pokazać możliwości tego drugiego. Jeśli ktoś jest zainteresowany, aby głębiej poznać język to jetbrains udostępnia źródła: JetBrains Dodatkowo założyłem, że naszym backed'em będzie klasa która zwróci listę 100 user'ów, a potem będziemy czarować. Na potrzeby wpisu wystarczające. Tyle tytułem wstępu, zaczynajmy. 1. Android Studio 2. Java w wersji 7 3. Minimum SKD 19 (takiego użyłem, ale można niżej) 4. Kotlin 5. Kotlin Android Extensions Aby skonfigurować Kotlina w Android Studio trzeba przejść przez: Jak skonfigurować kotlin w Android Studio 1. Modelowanie klas. Temat podstawowy. Każdy kto pisał większą apkę spotkał się z modelami. Czy to klasa modelowana na podstawie JSON'a czy to klasa która trzymać nam będzie jakieś obiekty, stany. Doskonale wiemy jak powinno się taką klasę w javie napisać. Konstruktor, gettery, settery, equals'y i hashcode (zakładamy, że nasza klasa będzie parcelable). Spójrzmy zatem jak to wygląda w Java: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/java/com/example/tutorial1/backend/UserJava.java Kodu co prawda nie musimy pisać ręcznie, ponieważ Android Studio udostępnia nam generatory tego wszystkiego, ale 86 linijek robi wrażenie. Spójrzmy na to jak to wygląda w Kotlinie: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/kotlin/com/example/tutorial1/backend/UserKotlin.kt Wiele mówić nie trzeba. Data class w Kotlinie zawiera już: konstruktor set()/get() equals()/hashCode() toString() copy() Sporo pracy odpada, robi to za nas język. Jedyna rzecz, która tutaj nie powinna mieć miejsca to: val moreAction: () -> Unit Ten obiekt posłuży nam do przetrzymywania akcji onClick. Jeśli chcemy parcelować UserKotlin, powinniśmy mieć tylko i wyłącznie obiekty informujące o stanie. 2. Pętle i extension method. Zobaczmy w jaki sposób generujemy 100 userów w klasie java: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/java/com/example/tutorial1/backend/JavaService.java A teraz kotlin: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/kotlin/com/example/tutorial1/backend/KotlinService.kt `map` w kotlinie zwróci nam listę obiektów, którą wygenerowaliśmy za pomocą iteratora `it`. `it` to nic innego jak `i` z `for'a`. Znak `=` za nazwą metody oznacza że będziemy robić od razu `return`. `For` zastępujemy (1..100) Zobaczmy na funkcję Int.getRandom(). Wiemy już dlaczego mamy znak `=`. Wykorzystujemy tą metodę w tworzeniu obiektu typu UserKotlin. Przypuśćmy, że jesteśmy na 4 elemencie. A zatem: 4.getRandom() = Random().nextInt(4) + 10 3. Operacje na listach. W projekcie zaprezentowałem filtrowanie i sortowanie. Często przydatne i często wykorzystywane opcje. Popatrzmy na jave: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/java/com/example/tutorial1/MainActivityPresenter.java i na kotlina: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/kotlin/com/example/tutorial1/MainActivityKotlinPresenter.kt "To coś" od linii 58 w javie służy nam za filtrowanie po ilości głosów. Jasne, że java 8 ma stream, lambdy. W Androidzie nie mamy tego niestety W kotlinie załatwiamy to przez extension method, która w parametrze przyjmuje predykat. Tutaj jest nieco przerost formy nad treścią, ponieważ śmiało możemy wykorzystać metodę `filter` przy kolekcji, przy tym nie tworząc `filterBy`, ale tworzenie własnych predykatów było zbyt ciekawe, aby je pominąć Aby zrobić sortowanie w java piszemy własny comparator. W kotlinie jest to metoda na kolekcji `sortedBy` 4. Switch case Standardowo w java: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/java/com/example/tutorial1/MainActivity.java#L61 i kotlin: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/kotlin/com/example/tutorial1/MainActivityKotlin.kt#L45 W sumie nie wiele się różni, oprócz tego, że możemy to załatwić metodą inline ponieważ when zwraca typ który zostanie wybrany. 5. Widoki. Zaprezentuję na przykładzie adaptera (recycler view i view holder). Adaptery piszemy wszyscy. Wszyscy wiemy jak uciążliwe jest pisanie Button more = (Button) view.findViewById(R.id.more_button); Spójrzmy na jave: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/java/com/example/tutorial1/JavaRecyclerView.java a teraz na kotlina: https://github.com/gitcoderoid/kotlinforandroid/blob/develop/app/src/main/kotlin/com/example/tutorial1/KotlinRecyclerView.kt Synthetic to jest to co tygryski lubią najbardziej. ButterKnife, pisząc kolokwialnie do pięt nie dorasta W MainActivity również możemy zobaczyć, jak działa synthetic i nie pisać tego wszystkiego Wpis ma na celu pokazanie jak można wykorzystać Kotlina w pisaniu aplikacji Android, a nie "poniżanie" javy. Można te dwie rzeczy połączyć i podzielić projekt na części, które lepiej napisać w java i na te które lepiej napisać w kotlinie. Co prawda przedstawiłem javę w marnym świetle, ale może dzięki temu ktoś będzie chciał nauczyć się nowego języka, a to zawsze warto! Żeby jednak nie było tak różowo i cukierkowo o tym kotlinie. Build z kotlinem potrafi trwać dwukrotnie dłużej niż build, który nie ma kotlina... ale coś za coś Zapraszam do dyskusji, zadawania pytań! Github P.S Zwróćcie uwagę na to jak można robić konstruktory w kotlinie.
×