Android开发之Server

服务的创建与启动:

首先需要创建一个继承于Service的类,然后在AndroidManifest.xml中注册为服务。

接下来需要重写Service类中的三个方法onCreate,onStartComand和onDestroy。

最后通过调用startService方法传入Intent实例参数创建和启动服务。

此时onCreate和onStartComand方法会被调用。


活动操作服务:


首先需要创建一个继承于Binder的类,然后创建这个类实例,以及在onBind方法中返回这个实例。


接下来需要在活动中创建一个onServiceConnected的匿名类,重写里面的onServiceConnected和onServiceDisconnected方法。


最后通过调用binService方法绑定活动与服务,该方法有三个参数

第一个参数为Intent实例

第二个参数为onServiceConnected类

第三个参数为标志位,如“BIND_AUTO_CREATE”就是绑定服务后自动创建服务,即调用onCreate方法


解除绑定为unbindService方法,该方法只需要传入一个onServiceConnected类参数。


服务类

import android.app.Service;
impo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发可以通过jtds直接连接SQL Server进行读写操作。以下是连接SQL Server数据库的步骤: 1.在项目的build.gradle文件中添加以下依赖项: ```gradle implementation 'net.sourceforge.jtds:jtds:1.3.1' ``` 2.在代码中使用以下语句加载jtds驱动程序: ```java Class.forName("net.sourceforge.jtds.jdbc.Driver"); ``` 3.使用以下代码连接到SQL Server数据库: ```java String url = "jdbc:jtds:sqlserver://服务器IP:端口号/数据库名称;instance=实例名"; Connection conn = DriverManager.getConnection(url, "用户名", "密码"); ``` 4.连接成功后,可以使用以下代码执行SQL查询并获取结果: ```java Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM 表名"); while (rs.next()) { // 处理查询结果 } ``` 需要注意的是,网络访问以及特别耗时的操作不能放在主线程进行,需要创建一个子线程或者一个异步任务来执行。可以使用AsyncTask来实现异步任务,以下是一个使用AsyncTask连接SQL Server数据库并执行查询的例子: ```java public class MySQLConnectAsyncTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... voids) { try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); String url = "jdbc:jtds:sqlserver://服务器IP:端口号/数据库名称;instance=实例名"; Connection conn = DriverManager.getConnection(url, "用户名", "密码"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM 表名"); StringBuilder sb = new StringBuilder(); while (rs.next()) { sb.append(rs.getString("列名")).append("\n"); } rs.close(); stmt.close(); conn.close(); return sb.toString(); } catch (Exception e) { e.printStackTrace(); return "连接数据库失败:" + e.getMessage(); } } @Override protected void onPostExecute(String s) { tvContent.setText(s); } } ``` 可以在Activity中调用该异步任务来连接SQL Server数据库并执行查询: ```java new MySQLConnectAsyncTask().execute(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值