Android App Connect Remote Database

Android Uygulamalarında Uzak Veritabanına Bağlanma

Android uygulamaları, verileri depolamak ve yönetmek için genellikle yerel veritabanlarını kullanır. Ancak, bazı durumlarda uzak bir veritabanına bağlanmak gerekebilir. Bu, verilerin birden fazla cihaz veya kullanıcı tarafından erişilmesi gerektiğinde veya verilerin güvenli bir şekilde saklanması gerektiğinde yararlı olabilir.

Uzak bir veritabanına bağlanmak için, öncelikle bir veritabanı sunucusuna ihtiyacınız vardır. Bu, veritabanını barındıran ve uygulamanıza erişim sağlayan bir bilgisayardır. Veritabanı sunucusu, MySQL, PostgreSQL veya Oracle gibi çeşitli veritabanı yönetim sistemleri (DBMS) tarafından çalıştırılabilir.

Veritabanı sunucusunu kurduktan sonra, uygulamanızın veritabanına bağlanması gerekir. Bu, java.sql paketini kullanarak yapılabilir. java.sql paketi, JDBC (Java Veritabanı Bağlantısı) API’sini içerir. JDBC, Java uygulamalarının veritabanlarına bağlanmasını sağlayan bir standarttır.

JDBC kullanarak veritabanına bağlanmak için, öncelikle bir bağlantı nesnesi oluşturmanız gerekir. Bağlantı nesnesi, veritabanı sunucusunun adresini, bağlantı portunu, veritabanı adını, kullanıcı adını ve şifreyi içerir. Bağlantı nesnesi oluşturulduktan sonra, veritabanına sorgular göndermek ve verileri almak için kullanılabilir.

Aşağıdaki kod örneği, MySQL veritabanına nasıl bağlanılacağını göstermektedir:

“`java
import java.sql.*;

public class DatabaseConnection {

public static void main(String[] args) {
    // Veritabanı sunucusunun adresi
    String host = "localhost";

    // Veritabanı bağlantı portu
    int port = 3306;

    // Veritabanı adı
    String dbName = "test";

    // Kullanıcı adı
    String user = "root";

    // Şifre
    String password = "";

    // Bağlantı nesnesi
    Connection connection = null;

    try {
        // JDBC sürücüsünü yükleyin
        Class.forName("com.mysql.jdbc.Driver");

        // Bağlantı nesnesi oluşturun
        connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + dbName, user, password);

        // Bağlantı başarılıysa mesaj yazdırın
        System.out.println("Veritabanına bağlantı başarılı!");

    } catch (ClassNotFoundException e) {
        // JDBC sürücüsü bulunamadıysa hata mesajı yazdırın
        System.out.println("JDBC sürücüsü bulunamadı!");

    } catch (SQLException e) {
        // Veritabanına bağlantı kurulamadıysa hata mesajı yazdırın
        System.out.println("Veritabanına bağlantı kurulamadı!");

    } finally {
        // Bağlantı nesnesini kapatın
        if (connection != null) {
            connection.close();
        }
    }
}

}
“`

Bu kod örneğinde, Class.forName() metodu JDBC sürücüsünü yükler. DriverManager.getConnection() metodu ise bağlantı nesnesini oluşturur. Bağlantı nesnesi oluşturulduktan sonra, System.out.println() metodu kullanılarak bağlantının başarılı olduğu mesajı yazdırılır.

Uzak bir veritabanına bağlandıktan sonra, veritabanına sorgular göndermek ve verileri almak için Statement ve ResultSet nesneleri kullanılabilir. Statement nesnesi, veritabanına sorgular göndermek için kullanılır. ResultSet nesnesi ise, sorgunun sonucunda dönen verileri içerir.

Aşağıdaki kod örneği, MySQL veritabanına bir sorgu göndererek verileri nasıl alınacağını göstermektedir:

“`java
import java.sql.*;

public class DatabaseQuery {

public static void main(String[] args) {
    // Veritabanı sunucusunun adresi
    String host = "localhost";

    // Veritabanı bağlantı portu
    int port = 3306;

    // Veritabanı adı
    String dbName = "test";

    // Kullanıcı adı
    String user = "root";

    // Şifre
    String password = "";

    // Bağlantı nesnesi
    Connection connection = null;

    // Sorgu nesnesi
    Statement statement = null;

    // Sonuç kümesi nesnesi
    ResultSet resultSet = null;

    try {
        // JDBC sürücüsünü yükleyin
        Class.forName("com.mysql.jdbc.Driver");

        // Bağlantı nesnesi oluşturun
        connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + dbName, user, password);

        // Sorgu nesnesi oluşturun
        statement = connection.createStatement();

        // Sorguyu çalıştırın
        resultSet = statement.executeQuery("SELECT * FROM users");

        // Sonuç kümesindeki verileri yazdırın
        while (resultSet.next()) {
            System.out.println(resultSet.getString("name"));
        }

    } catch (ClassNotFoundException e) {
        // JDBC sürücüsü bulunamadıysa hata mesajı yazdırın
        System.out.println("JDBC sürücüsü bulunamadı!");

    } catch (SQLException e) {
        // Veritabanına bağlantı kurulamadıysa hata mesajı yazdırın
        System.out.println("Veritabanına bağlantı kurulamadı!");

    } finally {
        // Bağlantı nesnesini kapatın
        if (connection != null) {
            connection.close();
        }

        // Sorgu nesnesini kapatın
        if (statement != null) {
            statement.close();
        }

        // Sonuç kümesi nesnesini kapatın
        if (resultSet != null) {
            resultSet.close();
        }
    }
}

}
“`

Bu kod örneğinde, Class.forName() metodu JDBC sürücüsünü yükler. DriverManager.getConnection() metodu bağlantı nesnesini oluşturur. createStatement() metodu sorgu nesnesini oluşturur. executeQuery() metodu ise sorguyu çalıştırır ve sonuç kümesi nesnesini döndürür. Sonuç kümesi nesnesi, next() metodu kullanılarak gezilebilir ve veriler getString() metodu kullanılarak alınabilir.

Faydalı Siteler ve Dosyalar


Yayımlandı