安卓连接sql服务器 第一讲准备篇

本文介绍了如何在Android应用中安全地连接到SQL Server。首先,对比了直接连接和通过API连接的优缺点,推荐使用API连接以提高安全性。然后,详细说明了准备工作,包括安装必要的开发工具,创建数据库和表,以及设置网络权限。强调了主线程中不能执行网络操作,需使用Handler或广播来更新UI,并提供了等待对话框的使用建议。

众所周知,安卓自带sqlite数据库,但在实际中我们往往要需要连接网络上的数据库。这里我就讲一下如何sql server。安卓连接sql server的方法有两种,一种是直接连接,这种方法代码简单,查询速度快,但我们知道安卓容易被反编译,这样数据库就暴露了,即使做了安全加固,服务器也往往为了安全禁止或限制外部连接,所以一般不建议使用直接连接,另一种是通过api连接,我这里使用asp.net作为api。
  在实现代码前我们要以做好各项准备工作,首先是开发工具,它们是Sql Server(本例中为 sql 2008)、Android Studio(本例中为 Anroid Studio 4.1),如果用asp.net作为api连接,还需要Visual Studio(本例中为 Visual Studio),必须保证它们安装且能正常运行。
  安装上述软件,我们来建立一个数据库,数据库建一张表,简单起见仅三个字段,如图1。取名为Product。然后写好相应的存储过程(代码略),当然也可在后面代码中直接用sql语句调用。
  接下来,我们要建立一个局域网,用你的开发电脑作为服务器并准备一个安卓手机或平板,当然如果条件不够,我们也可以使用Android Studio自带的avd模拟器来运行测试的安卓app,如果使用avd模拟器要注意要将ip地址localhost或127.0.0.1改为10.0.2.2,localhost或127.0.0.1avd模拟器会把其当成本身地址。
  现在讲一下安卓端两种方法都需要的步骤和注意事项。首先打开AndroidManifest.xml,添加网络权限,代码如下,这里有两点要注意,一是早在安卓2.3时就操作默认已禁止在主线程中运行诸如网络操作等耗时,所以我们只能在分线程中来实现,另外因为分线程可以并行运行,所以安卓又禁止在分线程中写入UI。所以我们只能通过Handler或广播来通知主线程更新UI,最后,又因为网络操作属耗时操作,所以我们还应该在“耗时操作”时,弹出一个等待对话框,既告诉用户需要等待,又防止用户在等待期间进行其它操作(可以使对话框外区域也不能关闭对话框),直到操作完成,由代码关闭对话框,这里我已经将等待对话框封装成了aar文件(如何导入模块、jar、aar,请参见https://blog.csd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值