Gdzie umieścić listę, aby była widoczna z zewnątrz

0

W moim programie dane będę umieszczała w ArrayList.
Zamierzam zrobić funkcję w programie, która wszystkie dane z tej listy, albo całą listę (nie wiem jeszcze jakie są możliwości) wyśle na zewnętrzny serwer, aby inne urządzenia z tą samą aplikacja mogły je pobrać.
Teraz pytanie, jakie mam możliwości ? Na początku miałam zamiar interesować się SQLite, ale w niektórych miejscach przeczytałam, że służy tylko do lokalnego przechowywania.
Czy można taką listę wrzucić do bazy ? Czy od razu trzeba zapisywać do bazy, a nie do listy, no i jak już wspomniałam, chciałabym poznać możliwości.
Jeżeli ktoś ma wiedzę, proszę o pomoc.

1

Nie wiem co chcesz dokładnie zrobić, ale proponuję żebyś zrobiła serwisik, który wystawi Ci tą listę RESTem, czyli po HTTP.
Baza danych wszystko jedno jaka. Spring Boot, ORM, JPA i JDBC zapewniają Ci, że możesz sobie bazkę zmienić w każdym momencie nie przejmując się czy wybierzesz postgresa czy nawet bazę plikową. Takie rzeczy łatwo zapewniają i integrują tylko najlepsze technologie na świecie - czyli Java i framework wysokiej klasy czyli Spring Boot.

  1. Wchodzisz sobie tutaj https://start.spring.io/
  2. Do "Dependencies" dodajesz H2(prosta bazka plikowa) , JPA i Rest Repositories.
  3. Generujesz tj. pobierasz projekt i go rozpakowujesz
  4. Zaciągasz to jako projekt mavenowy do Intellij IDEA
  5. W pliku application.properties dodajesz linijkę spring.jackson.serialization.indent_output=true ,która to zapewni Ci ładny wygląd tej listy na wyjściu.
  6. Tworzysz sobie nową klasę na wzór tej:
package com.example;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

@RestController
public class MyListController {

    private List<MyClazz> list = Arrays.asList(
            new MyClazz("ABC",12),
            new MyClazz("DEF",33),
            new MyClazz("GHI",55)
    );

    @RequestMapping("/mylist")
    public List<MyClazz> myList() {
        return list;
    }
}

Oczywiście rozumiem, że masz listę jakiś obiektów więc zmień sobie MyClazz na twoją klasę i listę obiektów którą przechowujesz.

  1. Uruchamiasz aplikacje w Intellij IDEA i wchodzisz w przeglądarce na http://localhost:8080/mylist
  2. Dostajesz piękny output w JSONie twojej listy
  3. poleceniem mvn clean package w katalogu twojego projektu możesz spaczkować aplikacje do pojedynczego jara i uruchomić ją standalone
    polecniem java -jar twoja-appka-jar-1.0.jar
    12b. Tym sposobem wystawiłaś na świat swoją ArrayListe i teraz inne aplikacje mogą sobie to łatwo do siebie zaciągnąć, bo jest to super format czyli JSON
  4. Jak wykonasz te wszystkie kroki i Ci to zadziała to przejdziemy do zapisywania do bazy.

To tyle

0

To chyba kilka poziomów wyżej od tego co chcę zrobić, bo mało rozumiem.

Powiedzmy, że mam kilka elementów i chcę je przenieść do MySQL gdzie za pomocą phpMyAdmin zrobiłam sobie baze danych z 2 kolumnami: ID i Przykłady. Aktualnie na XAMPie, ale później będę chciała żeby to nie było na lokalnym serwerze,
Teraz chcę przenieść tam takie coś:

	public static void main(String[] args) 
	{
		
		ArrayList<String>przyklad = new ArrayList<String>();
		
		przyklad.add("pierwszy przyklad");
		przyklad.add("drugi przyklad");
		przyklad.add("trzeci przyklad");
		przyklad.add("czwarty przyklad");
		przyklad.add("piąty przyklad");
          }
1

Jeżeli chcesz po prostu wrzucić kilka elementów do bazy danych i móc je wyciągnąć to najprostsza droga wiedzie przez JDBC. Tutaj masz tutorial jak połączyć się bazą danych z poziomu kodu w Javie i móc sobie wykonywać na tej bazie zapytania:
https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

Możesz też użyć jakiegoś ORMa, np. Hibernate ale w przypadku który opisujesz to byłoby strzelanie z armaty do wróbla.

Pozdrawiam.

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