Pobieranie danych z txt do klasy [Android/Java]


(Ixvokter) #1

Witajcie,

na początku dodam tylko, że dosyć sporo już przejrzałem i z racji tego, że nie znalazłem nigdzie satysfakcjonującej mnie odpowiedzi postanowiłem napisać tutaj, być może znajdzie się chętny mi odpowiedzieć.

Chciałbym odczytać z pliku .txt dane, które odpowiadałyby odpowiednim atrybutom w danej klasie i w ten sposób tworzyć kolejne obiekty, które potem chciałbym połączyć z ImageButtonem. Dla każdego obiektu inny odpowiadający temu obiektowi przycisk.

Z góry dzięki za odpowiedź

 


(Fizyda) #2

W zależności od tego jak są te dane zapisane musisz napisać jakiś parser który będzie odczytywał te dane z pliku i tworzył obiekty. W zależności od tego jak klasa jest zaimplementowana po utworzeniu obiektu musisz nadać obiektowi odczytane wartości.


(Ixvokter) #3

Kolejne pytanie: w jaki sposób zapisać te dane i jak oddzielić je od siebie żeby program wiedział kiedy jest kolejny atrybut, a kiedy już kolejny obiekt. 


(Fizyda) #4

Zależy od tego jak wygląda plik wejściowy.


(Ixvokter) #5

Plik wejściowy zależy od tego jak, go stworze.

Jestem na etapie projektowania tego wszystkiego.

 


(Frankfurterium) #6

Android ma wbudowaną tekstową bazę SQLite. Jeżeli sam zapisujesz te dane, żeby je potem odczytać, użyj bazki. Jeżeli dane otrzymujesz z zewnątrz, najłatwiej będzie ci obcować z JSON-em, bo Android ma w API klasy odpowiedzialny za deserializację (i serializację) JSON-ów. Same JSON-y wczytujesz jak w “zwykłej Javie” - readerami albo skrótem przez apachowe FileUtils.

 


(Ixvokter) #7

Właśnie sam będę je zapisywał.


(Fizyda) #8

No to zmienia postać rzeczy, w takim razi użyj SQLite. Chociaż to też zależy bo jak zapiszesz 5 obiektów to szkoda do tego zaprząc SQLite i lepiej zapisać w pliku.


(Ixvokter) #9

No właśnie będzie około 7-8 obiektów.

A i jeszcze jedno, jeżeli chcę żeby każdy z tych obiektów miał pole “uwagi/komentarze”, to czy muszę stworzyć osobny plik/bazę i jak to wszystko połączyć?


(Fizyda) #10

Nie da się jednoznacznie odpowiedzieć na Twoje pytanie nie znając szczegółów. Jeśli użyjesz do tego SQLite to jest on czymś w rodzaju bazy danych i możesz w nim zapisywać te uwagi.

Jeśli miałbym zapisać 8 obiektów które do tego będę zawsze potrzebował, zapisałbym to w pliku, nawet jeśli zapisuję jakieś uwagi to dopóki uwagi nie zajmują MB tylko powiedzmy do 256 znaków to praktycznie nie ma problemu.


(Ixvokter) #11

W tzw. “międzyczasie” rozpocząłem zabawę z programem DB browser for SQLite i wygląda to przyzwoicie, więc jeżeli ogarnę temat to zostanę przy sqlite. Dzięki bardzo za pomoc, natomiast proszę o nie zamykanie tematu, gdyż może okazać się, że o coś jeszcze zapytam.
Pozdrawiam


(mordesku) #12

jeśli chcesz oprzeć aplikacje o bazę sqlite to polecam wykorzystać jakiś orm który sam “przekonwertuje” ci dane z tabel na obiekty java.

 

http://satyan.github.io/sugar/getting-started.html