Przechowywanie zdjęcia w bazie SQLite Android

0

Będę robił aplikację na pracę inżynierską(jestem w trakcie), w której między innymi będę musiał przechowywać zdjęcia w bazie danych(bezpośrednio, albo pośrednio- w folderze). W jaki sposób najefektywniej przechowywać zdjęcia aby mieć szybki dostęp do nich? Jeżeli szukam zdjęcia po id+.jpg w folderze to aplikacja strasznie muli a chciałbym tego uniknąć.

2

Jaki jest sens trzymania zdjęć w bazie danych skoro jest to tylko lokalna baza danych?
Ale jeśli już tak bardzo chcesz, to pokaż w jaki sposób to robisz, bo może da się zoptymalizować to co już masz.

0

zanim podam kod, to jak myślisz dobrym pomysłem jest przechowywanie danych w bazie lokalnej? Mój promotor mówił, że taka wystarczy, ale z programowaniem nie ma nic wspólnego(specjalista z innej dziedziny). Chciałbym po prostu zrobić to profesjonalnie(jak na moje siły). W bazie danych między innymi będą informacje i jakichś produktach, 5-7kolumn, jedna-dwie tabele(produkty, użytkownicy). Apka będzie się łączyła przez wifi z anteną, która zczytuje dane i po zebranych danych szuka informacji. Jaka byłaby Twoja wizja? Póki co zrobiłem bazę danych lokalną i mi się to średnio podoba, bo z tego co zrozumiałem po odinstalowaniu aplikacji baza danych zostanie usunięta.

1

Myślę że jest to niepotrzebne. Raczej przechowywałbym to na pamięci wew lub zew. Operacja zapisu zdjęcia do bazy i odczytu go potrwa dwa razy dłużej, ponieważ i tak musisz jechać po bitach, a po drodze masz jeszcze silnik SQL. Natomiast zapis fizycznie na urządzeniu trwa dwa razy krócej, a na dodatek możesz sobie zrobić cache, który zwiększy tylko szybkość ładowania fotek i działania aplikacji. W bazie mogłbyś trzymać ścieżke do zdjęcia.

1

Tak jak napisał @panryz, zdjęcia na dysku - w bazie ścieżka do pliku i reszta informacji. Do tego ładny ContentProvider i będzie git.

0

A pomysł z bazą SQLite jest dobry? czy łączyć się z jakąś inną, która po odinstalowaniu aplikacji zostanie na urządzeniu z androidem? A może postawić server z bazą danych i tym sposobem zrobić aplikację kilkuwarstwową? Czy na inżynierkę to jest za bardzo rozbudowany projekt?

1

Nie, po odinstalowaniu apki baza znika, ponieważ jest przechowywana w ścieżce do apki.
Jeśli chcesz się bawić w zewnętrzne bazy to Google Cloud Message lub swoje API :)

0

Wydaje mi się, że zewnętrzna baza danych będzie najlepsza, nie będzie problemu z przenoszeniem danych do innych urządzeń i każde będzie korzystało z tego samego źródła. Nie mam pojęcia, w którym iść kierunku, a nie chcę tego tylko odbębnić. W przyszłości przyda mi się to w karierze zawodowej :). Również nie chcę zrobić sobie zbyt rozbudowanego projektu, który mógłbym zostawić, np. na pracę magisterską.

1

Takich tutoriali które pokazują jak coś takiego zrobić jest w trzy d**y.
Pamiętaj jednak o tym że jak chcesz baze uzewnętrznić to będziesz musiał mieć zabezpieczenia, napisane dobre API. Do tego jeszcze apka. Jeśli jednak znasz dobrze javę to API sobie wystawisz bez problemu i będzie to wyglądać całkiem przyzwoicie. Warto również zaznaczyć że jest to bardzo popularny sposób przekazywania danych między serwisami:) Więc myślę że warto coś takiego rozbudować

0

tak się zastanawiam w jaki sposób będę mógł przesłać informacje z warstwy logicznej na aplikację android? :P Podratowałbyś mnie jakimś tutorialem :) szukam i znaleźć nie mogę. Obsługę bazy danych sobie zrobię bez problemu, ale nie mam pojęcia w jaki sposób to będę mógł wysłać i odebrać na urządzeniu mobilnym tak aby wyświetlało się to w aplikacji, a nie w przeglądarce na telefonie. Na mojej uczelni ciężko będzie znaleźć ogarniętą osobę, która ogarnia Androida. Ze springiem widzę same web tutki.

0
rafallvlup napisał(a):

tak się zastanawiam w jaki sposób będę mógł przesłać informacje z warstwy logicznej na aplikację android? :P Podratowałbyś mnie jakimś tutorialem :) szukam i znaleźć nie mogę. Obsługę bazy danych sobie zrobię bez problemu, ale nie mam pojęcia w jaki sposób to będę mógł wysłać i odebrać na urządzeniu mobilnym tak aby wyświetlało się to w aplikacji, a nie w przeglądarce na telefonie. Na mojej uczelni ciężko będzie znaleźć ogarniętą osobę, która ogarnia Androida. Ze springiem widzę same web tutki.

Rest + JSON

1 użytkowników online, w tym zalogowanych: 0, gości: 1