Pokaż wyniki od 1 do 8 z 8

Wątek: [Android] Przykład SQLite

  1. #1
    Advert Manager Guru overclockingu Reputacja:   (13) Awatar Dawid_S
    Dołączył
    05.2009
    Posty
    6,599

    [Android] Przykład SQLite

    Prosty przykład z wykorzystaniem SQLite - https://github.com/dawidsamolyk/SimpleDatabase

    Do bazy dodawane są procesory (CPU), ale liczba danych na ich temat jest bardzo okrojna . Jeśli ktoś chce to może to sobie bardzo łatwo rozszerzyć.

  2. #2
    HWBot Team Extreme overclocker Reputacja:   (17) Awatar phobosq
    Dołączył
    11.2013
    Skąd
    Kraków
    Posty
    2,314
    Z ciekawości - czemu zwracasz elementy tablicy wiersz po wierszu kursorem? Z punktu widzenia bazy danych lepiej to zrobić tablicą, chociaż z drugiej strony rozumiem, że to na urządzenie mobilne i baza siedzi w urządzeniu.

    i właśnie dlatego nie starcza mi czasu na kręcenie!

  3. #3
    Advert Manager Guru overclockingu Reputacja:   (13) Awatar Dawid_S
    Dołączył
    05.2009
    Posty
    6,599
    Prowadzący zajęcia chciał, aby w pierwszej wersji aplikacji ładować wszystko z bazy do ArrayListy i dopiero wrzucać do ListView, a w kolejnej wersji operować bezpośrednio na bazie danych. Mi nie chciało się robić dwa razy, więc od razu zaimplementowałem opcję nr 2 .
    To podejście ma swoje wady i zalety, ale uważam, że nie bez powodu w SDK jest klasa SimpleCursorAdapter, więc po co się bawić z tablicami itp.

    - - - Aktualizacja - - -

    A tak poza tym to nie lubię programować na Androida. Pisanie kodu jest ******liwe i czasami jak widzę pewne pomysły twórców tej platformy to robię facepalma...

  4. #4
    HWBot Team Extreme overclocker Reputacja:   (17) Awatar phobosq
    Dołączył
    11.2013
    Skąd
    Kraków
    Posty
    2,314
    Nie no, ja tak tylko kontrolnie, po prostu każdy kursor to kolejne otwarte połączenie, status, pamięć w buforach itepe. W tym przypadku możliwe, że inaczej się nie da albo wpływ na wydajność jest niewielki, ale widziałem już parę aplikacji typu klient/serwer, gdzie np. 10 klientów właśnie przetwarzaniem kursorami potrafili doprowadzić do zatrzymania aplikacji.

    - - - Aktualizacja - - -

    I obcinałem za to ręce.

    - - - Aktualizacja - - -

    A Twój kod jest i tak zdecydowanie lepszy i przyjaźniejszy do lektury niż to, z czym się zmagam ostatnio spaghetti na potęgę....

    i właśnie dlatego nie starcza mi czasu na kręcenie!

  5. #5
    Advert Manager Guru overclockingu Reputacja:   (13) Awatar Dawid_S
    Dołączył
    05.2009
    Posty
    6,599
    Z tym, że jeśli mnie pamięć i statyczna analiza kodu nie myli, kursor pobieram tylko raz - w MainActivity w linijce
    Kod:
    list.setAdapter(dbHelper.cursorAdapter(this, rowsInListView));
    Oczywiście tutaj nie ma bezpośredniego pobrania kursora, bo tak na prawdę wywołania "przelatują" przez 2 kolejne klasy, ale ostatecznie wygląda na to, że kursor jest pobierany tylko raz. Te zabezpieczenia przed nullami robiłem chyba profilaktycznie

    - - - Aktualizacja - - -

    Cytat Zamieszczone przez phobosq Zobacz posta
    A Twój kod jest i tak zdecydowanie lepszy i przyjaźniejszy do lektury niż to, z czym się zmagam ostatnio spaghetti na potęgę....
    U mnie w pracy potrafią w pętli zrobić takiego try-catch'a, że głowa pęka, a wewnątrz niego jest tworzenie anonimowej klasy, która definiuje wątek, który jest od razu uruchamiany i coś jeszcze po tym jest wykonywane. Oczywiście przed tą wielką pętlą jest jeszcze kilka instrukcji, więc całość zajmuje 2-3 ekrany .

  6. #6
    Redaktor Entuzjasta overclockingu Reputacja:   (1) Awatar Kapitan
    Dołączył
    08.2011
    Skąd
    Łódź/Skierniewice
    Posty
    296
    Link nie działa, można prosić nowy ?

  7. #7
    Redaktor i Administrator Extreme overclocker Reputacja:   (20) Awatar majkel_94
    Dołączył
    07.2009
    Skąd
    Katowice
    Posty
    3,040
    Nie wiem czemu Dawid usuwa z repo rzeczy, limitu przecież nie ma... pewnie się już wstydzi swojego starego kodu
    | Intel Core i7 2700K @ 4,5 GHz 1,35V | Gigabyte Z68X-UD3H LGA1155 | Kingston Savage 2x8 GB @ 2133 MHz CL9 1.65V |
    | 2x Samgate F3 500GB HD502HJ - Hybrid RAID 0+1 | Kingston HyperX 3K 240GB SATA III | Corsair VS650 |
    | Gigabyte GeForce GTX 970 4GB Gaming G1 @ 1550/7200 MHz | Xonar DX | BitFenix Shinobi | Dell P2414H 24" 1080p AH-IPS |


  8. #8
    Advert Manager Guru overclockingu Reputacja:   (13) Awatar Dawid_S
    Dołączył
    05.2009
    Posty
    6,599
    Cytat Zamieszczone przez majkel_94 Zobacz posta
    pewnie się już wstydzi swojego starego kodu
    Tak

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •