Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nawiąż połączenie w puli z MySQL w Androidzie

To pytanie ma 6 lat i Mark ma rację, że w prawie każdym scenariuszu, jaki możesz sobie wyobrazić, JDBC na Androida jest mniej więcej tak rozsądne, jak próba użycia tostera w wannie. Czasami jednak robimy coś, bo możemy, a nie dlatego, że koniecznie powinniśmy, i dzisiaj miałem uzasadniony powód, żeby chcieć to zrobić (dla konkretnej, bardzo niszowej aplikacji działającej w nietypowym środowisku), i tak znalazłem to pytanie.

Adresowanie NoClassDefFoundError po pierwsze, powód, dla którego nie został złapany przez catch blok jest, ponieważ jest to Error nie jest Exception . Oba Error i Exception dziedzicz z Throwable , więc możesz to złapać:

catch (Throwable t)
{
    // This will catch NoClassDefFoundError
}

Uważam, że to nie jest MySqlDataSource że nie może znaleźć, ale jedną z klas lub interfejsów, od których zależy - w moim przypadku był to javax.naming.Referenceable . Android nie zapewnia javax.naming pakiet, więc próba użycia funkcji łączenia w pulę sterownika Connector/J JDBC dla MySQL nie zaprowadzi cię zbyt daleko (możesz spróbować podać brakujące zależności, ale ta droga prawdopodobnie prowadzi do szaleństwa).

Zamiast tego prawdopodobnie będziesz miał więcej szczęścia z implementacją puli połączeń innej firmy. Do tego służą różne biblioteki Java. Niektóre z nich będą działać na Androidzie. Jeden, który sprawdziłem, działa to HikariCP . Instrukcje jego konfiguracji znajdziesz tutaj a konkretnie dla MySQL, tutaj .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzupełnianie początku pola mysql INT zerami

  2. MySQL łączy dwie tabele, znajdź maksymalną liczbę i uporządkuj według

  3. Jak dodać funkcję levenshtein w mysql?

  4. Sqoop:Nie można załadować wyjątku sterownika mysql

  5. Jak duży jest za duży dla tabeli MySQL?