Android APP连接电脑数据库(以SQL Server为例)

Android APP 连接电脑SQL Server数据库

1. 原理
首先要使APP连接到电脑的数据库就要明白为什么能连接以及该怎么连接。Android为什么一直说自己是一个平台呢,因为它没有自己的内核,不是一个完整的OS,它最开始是“借用”Linux实现的,然后就借用至今。这样看来手机就可以理解为一个微型电脑,所以电脑连接另一台电脑的数据库,肯定是可以实现的。说到这里肯定很多人还是不懂为啥能连接,嗯嗯其实我自己也不太懂反正我成功了,嘻嘻。
相信大家都听过一些连接数据库的接口,比如什么odbc、jdbc等等。这里我就使用的是在jdbc基础上封装的jtds,它的具体内容大家可以百度。
2.具体实现
首先在网上下载jtds的压缩包,我用的版本是jtds-1.2.7。下载好了后在自己新建的工程下新建一个文件夹命名为libs ,大致的位置是在app文件夹下。然后把下载的压缩包放入到新建的libs文件夹中。好了准备好了之后我们就可以开始尝试连接了。
Android APP连接电脑数据库(以SQL Server为例)_第1张图片我们首先封装一个getSQLConnection(String ip, String user, String pwd, String db)类型的函数,用于获取Connection对象。第一个参数ip是你的电脑当前连接的网络的ip地址(可以通过打开cmd然后输入ipconfig查看)。因为是远程连接数据库,所以要使用ip,不同于连接本地数据库。第二个参数user是你的数据库的用户名称,一般SQL Server默认的是sa,第三个参数则是你的登录数据库的密码,第四个是你要连接到的自己建立的数据库名称。详细代码如下:

public static Connection getSQLConnection(String ip, String user, String pwd, String db)
    {
        Connection con = null;
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            //int t=1;
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";useunicode=true;characterEncoding=UTF-8", user, pwd);
            //加上 useunicode=true;characterEncoding=UTF-8 防止中文乱码
            //int j=0;
        } catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
        return con;
    }

现在我们就可以写一个testSQL()函数来测试是否可以连接。代码如下:

public static String testSQL()
    {
        String result = "字段1  -  字段2\n";
        try
        {
            Connection conn = getSQLConnection("你的ip", "数据库登录名", "数据库登录密码", "数据库名");//远程连接的端口一定要查看电脑的,而不是手机的
            String sql = "select * from 数据库中的表名";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next())
            {
                // ResultSet

此时我们可以写一个main函数来看看是否可以连接成功。

public static void main(String[] args)
    {
        String result = testSQL();
        System.out.println(result);
    }

可以看到输出结果为:
Android APP连接电脑数据库(以SQL Server为例)_第2张图片
与数据库中存储的信息一致。这里只是一个查询相关的示例,如果大家要执行插入、删除的操作可以在网上查查,这种有很多教程。
今天就写这么多,下一篇是加载百度地图实现定位。

你可能感兴趣的:(Android,开发学习系列)