Maison >Java >javaDidacticiel >Pourquoi la connexion à une base de données MySQL distante sous Android avec JDBC est-elle une mauvaise idée ?

Pourquoi la connexion à une base de données MySQL distante sous Android avec JDBC est-elle une mauvaise idée ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 20:55:30738parcourir

 Why is Connecting to a Remote MySQL Database in Android with JDBC a Bad Idea?

Connexion à une base de données MySQL distante sous Android à l'aide de JDBC

Bien que JDBC autorise les connexions à des bases de données dans les applications Android, il est fortement déconseillé pour des raisons de sécurité et problèmes de performances.

Problèmes de sécurité :

  • La décompilation des applications Android expose les informations d'identification de la base de données, les rendant vulnérables aux accès malveillants et à l'exploitation des données.

Implications en termes de performances :

  • L'établissement de connexions physiques à une base de données à partir d'emplacements distants peut prendre beaucoup de temps, en particulier pour les clients accédant à partir de régions géographiques éloignées.

Solution alternative : Architecture orientée services (SOA)

Pour résoudre ces défis, envisagez d'adopter une approche SOA, où :

1. Application de fournisseur de services :

  • Héberge et publie des services Web (RESTful recommandés) écrits en Java.
  • Utilise JDBC pour la connectivité des bases de données et les opérations CRUD.

2. Application consommateur de services (Android) :

  • Consomme les services Web fournis par le fournisseur de services.

Exemple d'implémentation utilisant Jersey et JDBC :

<code class="java">@Path("/product")
public class ProductRestService {

    @GET
    @Path("/list")
    @Produces(MediaType.APPLICATION_JSON)
    public List<Product> getProducts() {
        List<Product> productList = new ArrayList<>();
        Connection con = ...; // Database connection
        // Execute JDBC queries and retrieve product data
        return productList;
    }
}</code>

Considérations relatives à la mise en œuvre :

  • Configurez les paramètres de l'application Web à l'aide d'un framework tel que Jersey.
  • Implémentez une architecture en couches avec un classe DAO distincte pour l'accès à la base de données (facultatif mais recommandé).

PHP vs Java :

Les didacticiels PHP peuvent recommander de développer des services en PHP, mais vous pouvez utilisez Java (ou tout autre langage préféré) si vous êtes plus à l'aise avec celui-ci. Les applications Android sont indépendantes de la langue lors de la consommation de services Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn