首页 > 数据库 >关于安卓开发远程连接mysql数据库2

关于安卓开发远程连接mysql数据库2

时间:2024-03-07 16:11:53浏览次数:34  
标签:retrofit2 doctortest 安卓 public mysql Retrofit import com 数据库

安卓开发远程连接数据库方式2:通过发送请求到web中间层实现对数据库的增删改查操作。

第一步需要给安卓程序添加上网络权限,在安卓项目中的配置文件中加上代码<uses-permission android:name="android.permission.INTERNET" />语句用于获得访问网络的权限

第二步添加Retrofit+GSON依赖

implementation("com.squareup.okhttp3:okhttp:4.9.3")
implementation 'com.google.code.gson:gson:2.9.0'

implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
第三步使用Retrofit框架进行网络请求,并使用工具类进行拦截,创建一个类文件

package com.hncum.doctortest;

import android.util.Log;

import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class RetrofitUtils {

public static Retrofit getRetrofit(String url) {
//日志显示级别
HttpLoggingInterceptor.Level level= HttpLoggingInterceptor.Level.BODY;
//新建log拦截器
HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.d("RetrofitMessage","OkHttp====Message:"+message);
}
});
loggingInterceptor.setLevel(level);
//定制OkHttp
OkHttpClient.Builder httpClientBuilder = new OkHttpClient
.Builder();
//OkHttp进行添加拦截器loggingInterceptor
httpClientBuilder.addInterceptor(loggingInterceptor);

Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client( httpClientBuilder.build())
.build();

return retrofit;
}

}

第四步编写接口文件


package com.hncum.doctortest.dao;


import com.hncum.doctortest.entity.DoctorTest;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

//测试 医生端 接口集合
public interface API {


//医生端登录接口
@FormUrlEncoded
@POST("doctortest/findDoctoByNumber")
Call<Boolean> getDoctor(@Field("doctorPhone") String doctorPhone, @Field("doctorPassword") String doctorPassword);


}其中有关接口地址和参数需要根据实际情况进行改动

第五步定义主机端口,创建一个java类,编写如下代码

package com.hncum.doctortest;



public class AppDataConfig {


//使用公网 IP地址 处于统一局域网中
public static String localhost = " 公共网络IP地址 ";

//9000 端口号
public static String getURL(){
return "http://"+localhost+":9000/";
}
}其中公共网络ip地址和端口号都需要根据实际情况编写,端口号就是创建的web中间层的端口号

第六步调用接口进行数据请求

package com.hncum.doctortest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.hncum.doctortest.dao.API;
import com.hncum.doctortest.entity.DoctorTest;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class MainActivity extends AppCompatActivity {
/**
* 进行逻辑处理
* 使用Retrofit框架进行处理: Retrofit进行接口封装 OkHttp进行网络请求
*/

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

/**
* AppDataConfig.getURL()) 网络请求网址
*/
API api = RetrofitUtils.getRetrofit(AppDataConfig.getURL()).create(API.class);
//Boolean 返回值类型

api.getDoctor("12345","1212").enqueue(new Callback<Boolean>() {
//请求成功
@Override
public void onResponse(Call<Boolean> call, Response<Boolean> response) {
System.out.println("已成功请求");
System.out.println(response.body()+"请求成功");
}

//请求失败后
@Override
public void onFailure(Call<Boolean> call, Throwable t) {
System.out.println("请求失败");
//返回错误信息
System.out.println(t.getMessage());
}
});

}
}上面的演示代码仅供参考,需要根据具体项目的逻辑进行相应的改动。

代码参考网址Android+IDEA后台+MySQL数据库数据交互实战案例(A电脑:Android B电脑:IDEA后台)_安卓app后端开发框架 mysql数据库-CSDN博客

标签:retrofit2,doctortest,安卓,public,mysql,Retrofit,import,com,数据库
From: https://www.cnblogs.com/czfznb/p/18059105

相关文章

  • burpsuit app 抓包 安卓7.0以上证书制作
    burpsuitapp抓包以及安卓7.0以上证书制作前言:今天在使用某校园跑脚本时需要上传token,只能抓包获取,但发现安卓7.0以上的证书不能直接导入,故记录一下制作以及导入方式。首先我们要从burpsuite的客户端或者官方网页获得证书,将证书放在kali中或其他带有openssl的linux系统中,对其......
  • 使用VS Code 连线MySQL使用
    使用vscode操作mysql,要添加dll1.使用vscode创建MVC项目,在*****.csproj文件里添加ItemGroup点击查看代码<ProjectSdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net5.0</TargetFramework></PropertyGroup><Item......
  • 数据库第1章 绪论
    数据库知识总结第1章绪论课本知识:1.数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。2.数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。3.数据库领域中主要的逻辑数据模型:层次模型、网状......
  • 记录一个使用mysql查询表单,多个参数.
    publicDataTableQueryData(SearchViewModelmodel){DataTabledt=newDataTable();/把'删除掉,在编写文档时,不加个',MySqlParameter显示不出来/List<'MySqlParameter>param=newList<'MySqlParameter>();model.inputMonths=model.inputMonth......
  • mysql测试环境和生产环境在同一台服务器上数据迁移避坑
    mysql测试环境和生产环境在同一台服务器上数据迁移要注意:生产库dacs ,测试库dacs_test 1、从生产导出数据:mysqldump-uroot-p --databases dacs >/tmp/dacs.sql如果此时无脑导入就会把生产覆盖了。source /tmp/dacs.sql ;因为t阿玛2、将导出数据的库替......
  • Python中怎么使用Spark的spark.read.format()函数读取MySQL数据库中的数据
    1.准备工作:安装pyspark库(pipinstallpyspark)2.代码:#导入模块frompyspark.sqlimportSparkSession#创建Spark会话对象spark=SparkSession.builder\.appName("ReadMySQL")\.getOrCreate()#或者写成一行spark=SparkSession.builder.appName("ReadMySQL&qu......
  • sqlserver和mysql区别
    1.数据库管理系统SQLServer是由微软公司开发的关系型数据库管理系统,适用于Windows操作系统。而MySQL则是由瑞典MySQL公司开发的,后来被Oracle公司收购,适用于多个操作系统,包括Windows、Linux和UNIX。2.许可证和成本SQLServer是商业产品,需要购买许可证才能使用。它的价格相对......
  • Mysql和Oracle自定义函数区别
    1.Mysql自定义函数dropfunctionifexistsget_date;createfunctionget_date(v_datetimedatetime,v_timevarchar(50))returnsvarchar(50)begin declarev_datevarchar(50); declarecDatevarchar(50); declarebeginDatevarchar(50); setcDate=date_format(......
  • MySQL explain
    简介mysqlexplain(或desc)用于分析SQL语句的执行计划,多用于测试查询性能。语法:explainsql...注意explain执行DML语句,数据不发生变化。explain执行的结果可以有多条数据,一条数据对应一个表,如果涉及union,MySQL内部会产生一个临时表,就会导致结果多一行数据。unionall不会创建......
  • 开源.NET8.0小项目伪微服务框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)
    1、前言为什么说是伪微服务框架,常见微服务框架可能还包括服务容错、服务间的通信、服务追踪和监控、服务注册和发现等等,而我这里为了在使用中的更简单,将很多东西进行了简化或者省略了。年前到现在在开发一个新的小项目,刚好项目最初的很多功能是比较通用的,所以就想着将这些功能抽......