Heim >Datenbank >MySQL-Tutorial >Sollten Android-Apps JDBC für Remote-MySQL-Datenbanken verwenden?

Sollten Android-Apps JDBC für Remote-MySQL-Datenbanken verwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-23 01:28:08174Durchsuche

Should Android Apps Use JDBC for Remote MySQL Databases?

JDBC- und Remote-MySQL-Konnektivität in Android

Die Verbindung zu einer Remote-MySQL-Datenbank über JDBC-APIs in einer Android-Anwendung ist theoretisch machbar. Von diesem Ansatz wird jedoch aufgrund von Sicherheits- und Leistungsbedenken dringend abgeraten.

Sicherheitsrisiken

Android-Anwendungen sind anfällig für Dekompilierung, wodurch Anmeldeinformationen böswilligen Benutzern preisgegeben werden. Diese Anmeldeinformationen könnten ausgenutzt werden, um die Datenbank zu gefährden und nicht autorisierte Aktionen auszuführen.

Leistungsüberlegungen

Das Öffnen einer physischen Datenbankverbindung über ein Netzwerk ist zeitaufwändig, insbesondere wenn die Die Verbindung stammt von einem entfernten Ort. Dieses Problem wird für global verteilte Clients von Bedeutung und wirkt sich negativ auf die Leistung aus.

WebService-basierte Lösung

Eine sicherere und effizientere Alternative ist der Einsatz einer serviceorientierten Architektur. Dazu gehört die Erstellung eines Webdienstes, vorzugsweise RESTful, der als Vermittler zwischen der Android-App und der Remote-Datenbank dient.

Der Webdienst, typischerweise eine Java-Anwendung, kann zusammen mit einem einfachen alten Java-Objekt (POJO) entwickelt werden ), das die JDBC-Funktionalität kapselt. Dieses Design schützt Anmeldeinformationen und trennt den Datenbankzugriff von Benutzerinteraktionen.

Beispielcode

Hier ist ein Beispiel einer ProductRestService-Klasse mit Jersey, Jackson und JDBC:

@Path("/product")
public class ProductRestService {

    @GET
    @Path("/list")
    @Produces(MediaType.APPLICATION_JSON)
    public List<Product> getProducts() {
        List<Product> productList = new ArrayList<>();
        Connection con = ...; // Establish database connection
        // JDBC code to retrieve product data omitted for brevity
        return productList;
    }
}

Hinweis: Ihre Anwendung sollte diesem serviceorientierten Designmuster folgen um Sicherheit und optimale Leistung zu gewährleisten. PHP, Python oder andere Sprachen können ebenfalls zum Erstellen des Webdienstes verwendet werden, er sollte jedoch eine ähnliche Funktionalität wie das Java-Beispiel bieten.

Das obige ist der detaillierte Inhalt vonSollten Android-Apps JDBC für Remote-MySQL-Datenbanken verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn