Pobieranie danych z txt do klasy [Android/Java]

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ź

 

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.

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. 

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

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

Jestem na etapie projektowania tego wszystkiego.

 

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.

 

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

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.

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ć?

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.

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

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