Skocz do zawartości

Wykryliśmy, że używasz AdBlocka  :emo_im_sad:

Proszę, dodaj nas do wyjątków:) Wyświetlamy jedynie ładne, idealnie dopasowane reklamy - żadnych wyskakujących okienek czy wideo! Reklamy to jedyne źródło utrzymania naszej społeczności.

Kliknij tutaj, aby dowiedzieć się jak to zrobić. Dziękujemy!

Znajdź zawartość

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



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

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
  • Programowanie
    • Dział dla Programistów
  • Modyfikacje Android OS
    • Dział dla Developerów
    • 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
  • Honor - Telefony
    • Forum Honor
    • Honor 10
    • Honor 9
    • Honor 8
    • Honor 7
    • Pozostałe Honor
    • Archiwum Honor
  • Huawei - Telefony
    • Forum Huawei
    • Huawei P20 Pro
    • Huawei P20
    • Huawei P10
    • Huawei P9
    • Huawei P8
    • Huawei Mate 10 Pro
    • Huawei Mate 10 Lite
    • Huawei P9 Lite 2017
    • Huawei P10 lite
    • Huawei P9 Lite
    • Huawei P8 Lite
    • 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 6
    • 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

    Szukaj wyników w...

    Znajdź wyniki, które...


    Data utworzenia

    • Od tej daty

      Do tej daty


    Ostatnia aktualizacja

    • Od tej daty

      Do tej daty


    Filtruj po ilości...

    Znaleziono 9 wyników

    1. Coders Lab

      Podstawy projektowania aplikacji

      Słów kilka dla początkujących o aplikacji projektowaniu… Od jakiegoś czasu śledzę to forum i zaobserwowałem jeden wspólny błąd wykonywany przez wszystkich początkujących programistów (sam także go wielokrotnie popełniłem). Mowa tutaj o wrzucaniu wszystkiego co jest nam potrzebne w aplikacji do jednego worka. Ani to ładne, ani to mądre. Niezależnie w stronę, którego wzorca pójdziemy (MVVM, MVP) dotrzemy do momentu, w którym zauważymy że widok został odseparowany od logiki biznesowej naszej aplikacji. Dlaczego rozdzielamy widok od logiki biznesowej? W wielkim skrócie możemy to podsumować zdaniem “bo jest łatwiej”. Jest zdecydowanie czytelniej, ładniej, lepiej, prościej, po prostu fajniej. A teraz odpowiedzmy w końcu na pytanie dlaczego? Spróbuję odpowiedzieć w punktach i dopisać do nich uzasadnienie: Projektowanie aplikacji Może tego jeszcze nie dostrzegasz, ale zaufaj mi i innym kolegą tutaj obecnym: aplikację należy zaprojektować przed jej pisaniem, nie tworzyć ją na bieżąco podczas pisania kolejnych klas. Jeśli teraz się do tego przyłożysz (jeśli masz z tym problem to pisz śmiało - lub jeśli nie chcesz pisać do mnie to załóż temat), to w przyszłości zobaczysz jak wiele zyskałeś poświęcając swój czas już teraz na projektowanie. Testy Daje to możliwość otestowania swojej aplikacji - czyli mniej bugów i lepszy kod. Jeśli nauczysz się je pisać już na początku swojej kariery to później będzie Ci zdecydowanie łatwiej - poważne firmy i poważni ludzie to doceniają. Czytelność Teraz może wydawać Ci się lepszym rozwiązaniem trzymaniem wszystkiego w jednym miejscu, ale zaufaj bardziej doświadczonemu koledze - nie tędy wiedzie droga. Taki zapis sprawi, że debugowanie aplikacji stanie się prostsze, a Twoi obecni lub przyszli koledzy z pracy nie będą wyrywać sobie włosów z głowy czytając Twój kod. Jak rozdzielić widok od logiki biznesowej? Jeśli jesteś początkujący to zapewne masz problem ze zrozumieniem działania Interfejsów - chyba każdy go wtedy ma -jednak zdecydowanie ułatwiają nam tutaj zadanie. Nie musisz od razu skupiać się na jakimś wzorcu projektowym i starać go użyć popełniając przy tym błędy. Moja rada jest taka: Utwórz klasę, która będzie zawierać tylko Twoją logikę biznesową, utwórz drugą klasę zawierającą widok, potrzebna Ci jeszcze jedna klasa, która będzie pełnić rolę łącznika między dwoma wymienionymi wcześniej klasami. Do komunikacji między nimi posłużą Ci dwa interfejsy. Jeden dodasz do klasy z widokiem, drugi do klasy z logiką biznesową, w klasie “łącznik” utworzysz pola z tymi właśnie interfejsami. Mam nadzieję, że ten artykuł okazał się dla Ciebie pomocny, jeśli tak było napisz o tym koniecznie w komentarzu. Dodając komentarz z opinią na temat artykułu dajesz mi znać czy to co robię jest dobre i użyteczne dla Ciebie i pozostałych. Specjalnie dla Android.com.pl Łukasz Bednarczyk
    2. Słów kilka na temat Constraint Layoutu… Dziś pokażę Wam dlaczego Constraint Layout jest cudowny Nie jest to zdecydowanie “lekki” layout, jednak daje potężne możliwości. Bez zbędnego przedłużania przejdźmy do rzeczy. Jak pozycjonujemy elementy? Layout ten wprowadza zupełnie nowe podejście do pozycjonowania elementów. Dostajemy możliwość podczepienia każdej z krawędzi naszego widoku to jednej z dwóch krawędzi drugiego dowolnego widoku, np. “layout_constraintTop_toBottomOf“ oznacza ustaw moją górną krawędź do dolnej krawędzi tego widoku. Do dyspozycji mamy 8 formuł z tym związanych: layout_constraintTop_toBottomOf layout_constraintBottom_toBottomOf layout_constraintBottom_toTopOf layout_constraintTop_toTopOf layout_constraintStart_toStartOf layout_constraintStart_toEndOf layout_constraintEnd_toEndOf layout_constraintEnd_toStartOf Kolejnym, nowym i zarazem bardzo ciekawym elementem jest guideline. Funkcjonalność ta pozwala na ustawienie linii odniesienia do pozycjonowania pozostałych widoków. Może zostać ustawiona procentowo lub na konkretną wartość. W layoucie tym nie zalecane jest używanie match_parent, zamiast tego powinniśmy ustawiać wielkość na 0dp, ponieważ wtedy zaczynają dopiero poprawnie pracować nasze połączenia. A co jeśli chcę aby elementy zajmowały tyle samo miejsca? Możemy to bardzo prosto osiągnąć dzięki mechanice “chain”. To jest właśnie to za co ja kocham ten layout. Poniżej wklejam obrazek, który pokazuje jakie mamy możliwości. Spread - to domyślna opcja, aby ją osiągnąć wystarczy ustawić, że skrajne widoki są podpięte do rodzica (layout_constraintStart_toStartOf=”parent” i layout_constraintEnd_toEndOf=”parent”, analogicznie postępujemy w pionie), a widoczki pomiędzy są podpięte ze sobą wzajemnie (czyli każdy z każdym). Spread inside - aby to osiągnąć musimy połączyć ze sobą elementy jak we wcześniejszym przypadku, dodatkowo jednak musimy dodać app:layout_constraintHorizontal_chainStyle="spread_inside" (lub app:layout_constraintVertical_chainStyle="spread_inside" jeśli chodzi nam o pion) Weighted - aby to osiągnąć musisz ustawić wielkości Twoich widoków na 0dp, dodatkowo możesz manipulować wielkością po przez parametry layout_constraintHorizontal_weight oraz layout_constraintVertical_weight Packed - aby to osiągnąć ustaw app:layout_constraintHorizontal_chainStyle="packed" (lub app:layout_constraintVertical_chainStyle="packed" jeśli chodzi nam o pion) Coś jeszcze? Tak! Bariery, czyli blokady jakie możesz ustawiać dla swoich widoków - nie znalazłem jeszcze dla tego praktycznego użycia, jeśli Ty takie masz zaskocz mnie i napisz to pod tym artykułem. Przestrzenie (Space), czyli sposób na dodanie wolnej przestrzeni między widokami bez robienia hacka z przeźroczystym widokiem. To wszystko na dzisiaj! Dajcie znać czy Wam się podobało i czy chcecie więcej tego typu artykułów. Jeśli macie jakieś konkretne tematy na myśli to koniecznie zapiszcie je pod tym artykułem, a postaram się je zrealizować w pierwszej kolejności. Specjalnie dla Android.com.pl Łukasz Bednarczyk
    3. Słów kilka na temat pracy w Scrumie… Zastanawiałem się jakiego rodzaju tematu do tej pory z Wami nie poruszyłem. Robiąc sobie kawę doszedłem do wniosku, że może warto by zainspirować się czymś co miałem na uczelni. Poszedłem do komputera i spojrzałem na listę przedmiotów z 5 semestru studiów (bo ten wspominam najprzyjemniej), padło na skrótowiec IP czyli Inżynierię Programowania. Lubiłem ten przedmiot, lecz odczuwam do tej pory wielki niedosyt. Liczyłem, że dostaniemy jakieś fajne świeże informacje, rzeczywistość wyglądała tak, że uczyliśmy się o rzeczach na dziś dzień raczej historycznych. Stwierdziłem, że przedstawię Wam najprawdopodobniej najpopularniejszych framework pracy - Scrum. Na zakończenie tego lekko przydługiego wstępu dodam, że pracowałem w firmie gdzie byłem obecny od braku Scrum do uformowania się go w około 80% zgodnego z definicją. Zaczynajmy! Zacznijmy od wyjaśnienia czym tak właściwie jest Scrum. W dużym uproszczeniu jest to plan naszej pracy oraz podział obowiązków w teamie. Spróbuję to opisać w kilku punktach: Scrum wyróżnia 3 role: Product Owner - osoba znająca potrzeby klienta i priorytety. Scrum Master - jak wskazuje nazwa mistrz Scruma, dba o przestrzeganie zasad i o to, żeby wszystkim dobrze się pracowało. Zespół Scrumowy - to rola zbiorowa, reprezentuje ona wszystkie osoby należące do temu. Zespół powinien liczyć 6 (+/- 3 osoby), czyli minimum 3, a maksimum 9. Działa na odpowiedzialności grupowej. Zadania są przypisane do zespołu, nie do konkretnych osób. W Scrumie wszyscy są równi, nie ma roli ważniejszej. Są one po prostu inne i skupiają się na różnych zadaniach. Głównym założeniem, które uznano za rewolucyjne była/jest praca iteracyjna. Celem jest oddawanie “potencjalnie sprzedawalnych elementów” klientowi w jak najkrótszych odstępach czasu. Działa na “sprintach” czyli powtarzalnym cyklu pracy. Jeden sprint może trwać maksymalnie miesiąc. Sprinty powinny mieć stałą długość - takie są zalecenia. W Scrumie wyróżniamy następujące spotkania: Daily - odbywa się codziennie, biorą w nim udział wszyscy członkowie zespołu (czas: 15 min) Sprint Planning - odbywa się przed każdym sprintem, wtedy zespół deklaruje ile pracy wykona. Sprint Review - jest to spotkanie z klientem, odbywa się po zakończonym sprincie. Zespół pokazuje ile pracy wykonał w sprincie. Sprint Retrospective - odbywa po zakończeniu sprintu w zamkniętym gronie. Zespół podsumowuje tam swoją pracę, rozmawia o sukcesach i przyczynach porażki. DoD - czyli Definition of Done, jest to podstawa dobrze działającego Scruma. Jeśli dobrze określisz warunki jakie musi spełniać zadanie by uznać je za zakończone, to otrzymasz realny obraz pracy jaką możesz wykonać. Scrum zakłada, że zespół działa jak mała firma. W skład zespołu wchodzą ludzie o różnych specjalnościach. Dobrze działający Scrum przynosi przyrost wartości produktu co sprint - nie powinna zaistnieć sytuacja, że sprint to tylko poprawianie bugów, o których połowa użytkowników nie wie. Scrum wyróżnia Product oraz Sprint Backlog, są to miejsca gdzie lądują zadania jakie będą wykonywane. Odpowiedzialność za Product Backlog spoczywa na Product Ownerze, zaś za Sprint Backlog na całym zespole. Mam nadzieję, że udało mi się choć trochę przybliżyć Ci to czym jest Scrum. Teraz powiem Ci jak z perspektywy programisty zmieniła się moja praca i atmosfera w biurze po procesie wdrożenie Scruma w mojej firmie. Gdy przyszedłem do firmy byłem mocno zielony, pod opieką starszego programisty zacząłem pisać kod. Firma była wtedy nieduża (około 30 osób), co jakiś czas prezes do nas zaglądał żeby upewnić się czy aby na pewno pracujemy i przy okazji dorzucić jakieś nowe, wyjątkowo pilne wymaganie. Pewnego dnia do prezesa przyszedł “szef programistów” i powiedział, że chciałby spróbować wdrożyć Scrum i zobaczymy jak to będzie działało. Prezes o mało nie spadł z krzesła, gdy usłyszał że ma nas puścić “samopas” na 2 tygodnie (tyle miały wynosić sprinty), ale po długich rozmowach ostatecznie się zgodził - “Dwa miesiące i zobaczymy co z tego wyjdzie, chcę raport co miesiąc.” Początki nie były łatwe (nigdy nie są), prezes z przyzwyczajenia zaglądał i dorzucał pomysły, które w jego opinii były super pilne. Nasz PO (product owner) próbował brać go na klatę, ale nie zawsze był na posterunku i w pierwszym sprincie wpadły 2 wrzutki. Sprint był oczywiście źle zaplanowany (zawsze tak jest na początku, bo nie znamy swoich możliwości) i byłby totalną klapą, gdyby nie fakt że udało się nam wykonać jedną rzecz potencjalnie sprzedawaną. Przyszedł czas review (Sprint Review), prezes był lekko zaskoczony - oczekiwał raportu na koniec miesiąca, a tu w połowie już go zapraszamy na spotkanie. Mimo porażki jaką ponieśliśmy prezes był zadowolony, że dostał coś co może sprzedawać - pewnie byłoby mniej fajnie gdyby nie była to jedna z jego wrzutek. W kolejnych sprintach było trochę lepiej, wpadła tylko jedna wrzutka i robiliśmy coraz więcej (to nie jest do końca prawdą, po prostu lepiej planowaliśmy). Prezes zaczął zyskiwać zaufanie do nas, a my z powodu nieco większego luzu zaczęliśmy pracować efektywniej - w końcu można było się skupić na jednej robocie do wykonania. Podniosła się także jakość naszego oprogramowania, zaczęliśmy znajdować czas na testy i poprawianie bugów - a także zmniejszyła się liczba “wykonywanych”. Specjalnie dla Android.com.pl Łukasz Bednarczyk
    4. maxprzemo

      adb shell cz.1 (podstawy)

      Witam. W tym tutorialu chciałbym przedstawić podstawowe komendy powłoki systemowej shell. Jak się poruszać po systemie android oraz jak się z nim komunikować poprzez interfejs adb shell. Czym jest shell : ADB (Android Debug Bridge) jest wymagane do poprawnej komunikacji komputer - telefon bez tego nie uda nam się połączyć telefonu z komputerem. Ale nie o tym ten poradnik dlatego zainteresowanych odsyłam do tego wątku [Poradnik] Jak zainstalować i korzystać z ADB (Android Debug Bridge) w nim się dowiesz jak zainstalować poprawnie sterowniki ADB na komputerze. Jeśli wszystko poprawnie zainstalowałeś to po uruchomieniu shell'a komendą adb shell Powinieneś zobaczyć mniej więcej taki widok w oknie terminala : Dlaczego mniej więcej? Bo shell@kiwi to w pierwszej części nazwa użytkownika (w tym wypadku shell) oraz nazwa hosta telefonu (w tym wypadku kiwi) i u ciebie w drugiej części będzie się na pewno różnić. Ok jesteśmy zalogowani na telefonie jako shell ale gdzie właściwie jesteśmy? Do tego użyjemy pierwszej komendy : pwd pwd - (print name of current/working directory) Wypisanie nazwy bieżącego katalogu roboczego. Znajdujemy się w głównym katalogu roboczym "/" (root) jest to najwyższy katalog systemu android i "wyżej" już się wyjść nie da. Zobaczmy co tam się znajduje: ls ls - (list directory contents) Wypisanie informacji o PLIKACH (domyślnie w katalogu bieżącym). Ta lista wielu osobom rozjaśni gdzie się znajdują. Widać tu katalogi /system, /data, /sdcard to właśnie tu w głównym katalogu "/" są zamontowane poszczególne partycje naszego telefonu. I tutaj będziemy za każdym razem domyślnie logowani po komendzie "adb shell". Przejdźmy może do katalogu /system zrobimy to komendą : cd /system cd - (change the current working directory to a specific Folder) Zmiana bieżącego katalogu powłoki. oraz wy listujmy zawarte tam pliki i katalogi komendą ls: Wróćmy może jeszcze do komendy "cd /system" co się właściwie stało? Wywołaliśmy program "cd" a jako "parametr" podaliśmy mu katalog "/system". Czyli wygląda to tak: [program] [opcja] Właśnie każdy program jak "cd", "ls" itd. posiada opcje ale nie da się tych opcji "zaptaszkować" w menu, bo te programy nie posiadają interfejsu graficznego. Dlatego stosuje się komendy z parametrem lub nawet z kilkoma parametrami. A oddzielamy je zwykłą pojedynczą spacją. Ktoś sprytny zada pytanie czy trzeba było przechodzić do katalogu system żeby wy listować tam pliki? Oczywiście że nie bo wystarczyła by komenda ls /system Wróćmy do komendy "cd". Wchodzimy do katalogu komendą cd /system A jak z niego wychodzimy? cd .. Dwie kropki cofają nas o jeden katalog wyżej. cd / Wskazujemy główny katalog i tam zostaniemy przeniesieni Możemy też przejść od razu dużo głębiej cd /system/app i wrócić cd ../.. albo przejść do katalogu wyżej i wejść do innego cd ../usr Jeszcze jedna zasada. Jeśli w bieżącym katalogu jest katalog do którego chcemy się udać to nie trzeba prawego ukośnika. Czyli będąc w głównym katalogu "/" wystarczą takie komendy cd system/app nie trzeba cd /system/app Jeśli podajemy adres katalogu i zaczynamy go od prawego ukośnika to zawsze musimy podać pełną ścieżkę od katalogu głównego "/" a nie od tego w którym się aktualnie znajdujemy. Jeśli nie wiemy gdzie aktualnie się znajdujemy wystarczy komenda "pwd". Trochę treningu i poruszanie się po katalogach będzie szybkie i intuicyjne. Przejdźmy dalej. Stwórzmy plik. Na początek przejdź do katalogu sdcard cd /sdcard Pusty plik stworzymy komendą touch Plik.txt lub > Plik.txt Poznajmy jeszcze jedną komendę: echo echo - (display a line of text) Wyświetla wiersz tekstu Jak widać komenda "echo" wyświetla nam tekst jaki podamy w cudzysłowiu. Spróbujmy ten tekst przekierować do pliku: echo "Witaj Świecie" > Plik.txt Znak większości ">" należy tu traktować jako strzałkę która przekierowuje dane z komendy echo do pliku. Ale na słowo nie musicie mi wierzyć. Sprawdźmy jaka jest zawartość Plik.txt następną komendą: cat cat - (concatenate files and print on the standard output) PLIK lub połączenie PLIKÓW wysyłane na standardowe wyjście. cat Plik.txt Jak widać zawartość Plik.txt to "Witaj Świecie" czyli pełny sukces. Teraz trochę o tych przekierowaniach. Komenda echo "Witaj Świecie" > Plik.txt Stworzy nowy plik. Jeśli plik o tej nazwie istniał zostanie on skasowany a w jego miejsce powstanie nowy. Jeśli chcemy dopisać dane do istniejącego pliku trzeba użyć komendy echo "Witaj Świecie" >> Plik.txt Podwójny znak większości ">>" nie skasuje istniejącego pliku tylko dopisze dane w nowej linii. I kolejne przekierowanie ls /system > Plik.txt Dane z komendy "ls /system" możemy zapisać do pliku W ten sposób można przekierować dane do pliku z wielu komend w shell'u. Myślę że ta ilość wiedzy do opanowania wystarczy na cz.1 (podstawy) w cz.2 będzie już trudniej Pozdrawiam i zachęcam do dyskusji.
    5. Po pierwsze to witam w dziale P500 I.) Jest kilka zasad których musimy się trzymać aby nie uwalić telefonu, a nigdzie nie jest to zebrane w jeden temat. Sam raz uwaliłem gt540 KDZ, ale to przez to że nie trzymałem się żelaznych zasad każdego flashowania (nie tylko przez KDZ) 1. Po pierwsze i najważniejsze to używamy ZAWSZE tylnych portów USB ! To jest podstawa, ja flashowałem raz GT540 pod laptopem, podłączyłem do bocznych portów i flashowanie było rozłączane w różnych momentach, aż w końcu na zaawansowanym momencie prawdopodobnie uwalona została pamięc nand czy jak to się zwie. 2. Musimy być pewni że nie mamy żadnych wirusów a system jest stabilny. Inaczej mogą dziać się cuda na kiju, i telefon zależnie w jakim momencie przerwie flasha może być uwalony (zazwyczaj jak bootloader jest flashowany to kaplica) 3. Nie robimy nic innego na komputerze, nie gadamy przez gg, nie dotykamy kompa. 4. Wyłączamy antivira, który może jakoś ingerować w proces lub odłączyć flashowanie. II.) Tutaj opiszę jak prawidłowo zainstalować sterowniki do flashu: 1. Sciągamy LG Mobile Updater, klikamy ściągnij sterowniki USB, instalujemy, instalujemy również paczki które nam ściągnął i otworzył. Jak już wszystko zainstalujemy, robimy reboot. 2. Sciagamy KDZ_FW_UPD_EN (*link na samym dole) (najnowsza, najlepsza wersja) i instalujemy msxml (powinien być w paczce), robimy Reboot. 3. Wyłączamy program LG Mobile Updater (sprawdzamy czy jest w Trayu windowsa i zamykamy). 4. W telefonie włączamy debuggowanie USB (ust>aplikacje>programowanie) 5. Podłączamy telefon, musi być włączony (nie włączamy dostępu do karty, sd, nie ruszamy telefonu) Czekamy aż wszystko wykryje. 6. Klikamy prawym na Mój komputer, własciwosci>sprzęt>menager urządzeń>otwieramy Modemy i prawym, wyłączamy LGE Modem 7. Odpalamy KDZ_FW_UPD_EN i klikamy Read Phone Information, i w nowym oknie to samo, aby sprawdzić czy wykrywa nasz telefon. Jeżeli tak to jazda ... 8. Wybieramy type : 3GQTC, oraz DIAG, wybieramy KDZ file (nasz rom), klikamy Launch Software Upgrade ... 9. Jeżeli po udanym flashu i włączeniu telefonu wysypują nam się aplikacje, trzeba zrobić WIpe (ustawienia>prywatność>przywroc ustawienia fabryczne) Będzie OK. III.) Zeby zrootować telefon trzeba mieć system 2.2 (2.2.1 oraz 2.2.2 nie da się zrootować) system znajdziecie pod tym linkiem, jest to nie brandowany na europę: 2.2 nie brandowany na europę rootuje się programem z4root który znajdziecie na sieci, tutaj link: http://forum.android.com.pl/f110/lg-optimus-one-p500-root-z4root-40608/ później to już recovery i custom romy przez recovery i modding opanowany http://forum.android.com.pl/f110/lg-optimus-one-p500-custom-recovery-thunder-40654/ Spis Custom Romów na XDA CM7 for p500 on XDA przydatne linki: http://forum.android.com.pl/f110/wgrywanie-oryginalnego-oprogramowania-naprawa-po-za-ym-zflashowaniu-telefonu-53554/ http://forum.android.com.pl/f110/wszystkie-dostae-pne-romy-na-p500-53088/ jeżeli stosujesz się do zasad bezpieczeństwa na prawdę trzeba mieć pecha żeby uwalić telefon, jednak nie ponoszę żadnej odpowiedzialności za efekty nieprawidłowego flashowania, wszystko robisz na własną odpowiedzialność. -------------------- jak pomogłem, to postaw Piwko :zdrowko:
    6. radis290

      Programowanie

      Witam. To mój pierwszy post na forum zatem cześć wszystkim. Od niedawna mam zapał i chęci do programowania. Napisałem tylko hello world, bo tylko to znalazłem. Chciałbym napisać grę podobną do Terrarii z PC lub Junk Jack z IOS. Właśnie w kierunku tworzenia takiej gry chciałbym podążać. W związku z tym mam do was prośbę a mianowicie czy moglibyście mi polecić jakieś poradniki( mogą być po angielsku)? Z programowaniem mam styczność po raz pierwszy ale na naukę mam czas( niedługo wakacje). Z góry dziękuję Radek
    7. Witam wszystkich, zdaje się, że to mój pierwszy post Męczę się z problemem od samego rana i nie mogę dojść do tego, co jest nie tak. Chodzi o zupełnie podstawowe odczytanie pozycji GPS. Postępując zgodnie z większością tutoriali, doszedłem do następującego kodu: StalkerPDAActivity.java: package com.hindus.stalkerpda; import android.app.Activity; import android.content.Context; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; public class StalkerPDAActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); LocationListener mlocListener = new MyLocationListener(); mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener); } } MyLocationListener.java: package com.hindus.stalkerpda; import android.location.Location; import android.location.LocationListener; import android.os.Bundle; import android.widget.Toast; public class MyLocationListener implements LocationListener{ @Override public void onLocationChanged(Location loc) { // TODO Auto-generated method stub loc.getLatitude(); loc.getLongitude(); String Text = "My current location is: \nLatitud = "+loc.getLatitude()+"Longitud = "+loc.getLongitude(); Toast tost = Toast.makeText(StalkerPDAActivity.this, Text, Toast.LENGTH_LONG); tost.show(); } @Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String arg0) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) { // TODO Auto-generated method stub } } Problem pojawia się w momencie konieczności przekazania Contextu dla "tosta". W obecnej postaci daje błąd: No enclosing instance of the type StalkerPDAActivity is accessible in scope Gdy zastosuję (zgodnie z tutorialami) getApplicationContext(), otrzymuję: The method getApplicationContext() is undefined for the type MyLocationListener Próbowałem przekazać Context przez konstruktor albo inną metodę, ale przez to, że to musi implementować LocationListener, sypało błędami. Jak w takim razie zaktualizować TextView czy Toasta z aktualną pozycją? Rozwiązanie pewnie jest banalne, ale jakoś nie mogę niczego wymyślić. Pozdrawiam! EDYCJA: OK, rozwiązanie znalezione. Wystarczy przekazać klasę w konstruktorze MyLocationListenera (robiłem tak wcześniej): LocationListener mlocListener = new MyLocationListener(this); Złapać ją w MyLocationListenerze: private Context con; private StalkerPDAActivity klasa; public MyLocationListener(StalkerPDAActivity klasa){ this.con = klasa.getApplicationContext(); this.klasa = klasa; } I dopisać pusty konstruktor (bo inaczej jest zgłaszany jako undefined): public MyLocationListener(){}
    8. Witam! mam pytanie jak powrócić do podstawowego androida 2.1 w MM(play) wczoraj sie bawiłem z wgrywaniem backup-a i uwaliłem system i nie mam pojęcia jak wrócić do podstawy??
    9. Witam, od dwóch tygodni jestem posiadaczem Milestone. generalnie jestem zadowolony ze słuchawki jednak pojawiło się coś (a może było od poczatku) co mnie strasznie denerwuje. Mianowicie część z wyświetlaczem nie leży równolegle krawędziami do części z klawiaturą. Patrząc na wprost jakby prawy górny róg był niżej od lewego o milimetr lub dwa i to samo dolny prawy róg. Oczywiście ma to wpływ na lewą część obudowy. Jest to wina slidera - tak się domyka. Czy u Was też tak jest czy ja mam jakiś rozjechany model? Pozdrawiam Furmann.
    ×