JDBC dan Remote MySQL Connectivity dalam Android
Menyambung ke pangkalan data MySQL jauh menggunakan JDBC API dalam aplikasi Android secara teorinya boleh dilaksanakan. Walau bagaimanapun, pendekatan ini amat tidak digalakkan kerana kebimbangan keselamatan dan prestasi.
Risiko Keselamatan
Aplikasi Android terdedah kepada penyahkompilasi, mendedahkan kelayakan log masuk kepada pengguna yang berniat jahat. Bukti kelayakan ini boleh dieksploitasi untuk menjejaskan pangkalan data dan melakukan tindakan yang tidak dibenarkan.
Pertimbangan Prestasi
Membuka sambungan pangkalan data fizikal melalui rangkaian memakan masa, terutamanya apabila sambungan berasal dari lokasi yang jauh. Isu ini menjadi penting bagi pelanggan yang diedarkan secara global, memberi kesan negatif kepada prestasi.
Penyelesaian Berasaskan Perkhidmatan Web
Alternatif yang lebih selamat dan cekap ialah menggunakan seni bina berorientasikan perkhidmatan. Ini melibatkan penciptaan perkhidmatan web, sebaik-baiknya RESTful, yang berfungsi sebagai perantara antara apl Android dan pangkalan data jauh.
Perkhidmatan web, biasanya aplikasi Java, boleh dibangunkan bersama objek Java lama biasa (POJO ) yang merangkumi fungsi JDBC. Reka bentuk ini melindungi bukti kelayakan dan mengasingkan akses pangkalan data daripada interaksi pengguna.
Kod Contoh
Berikut ialah contoh kelas ProductRestService menggunakan Jersey, Jackson dan 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; } }
Nota: Permohonan anda hendaklah mengikut ini corak reka bentuk berorientasikan perkhidmatan untuk memastikan keselamatan dan prestasi optimum. PHP, Python atau bahasa lain juga boleh digunakan untuk mencipta perkhidmatan web, tetapi ia harus menyediakan fungsi yang serupa dengan contoh Java.
Atas ialah kandungan terperinci Patutkah Apl Android Menggunakan JDBC untuk Pangkalan Data MySQL Jauh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!