android app数据电脑,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文件夹中。好了准备好了之后我们就可以开始尝试连接了。

06bde40b204349710ae82c6e4a3790a4.png我们首先封装一个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);

}

可以看到输出结果为:

03187dbb1fa258c45534e35b6f02be55.png

与数据库中存储的信息一致。这里只是一个查询相关的示例,如果大家要执行插入、删除的操作可以在网上查查,这种有很多教程。

今天就写这么多,下一篇是加载百度地图实现定位。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值