类别 | 名称/版本 | 说明 |
---|---|---|
开发工具 | Android Studio (最新稳定版) | 用于开发安卓应用 |
数据库客户端 | MySQL Workbench / Navicat | 管理服务器上的MySQL数据库 |
依赖库 | Retrofit2、Gson、OkHttp | 网络请求与JSON解析 |
后端框架 | Node.js + Express / Java Spring Boot | 可选:用于构建中间层API(推荐) |
bind-address
为0.0.0
,并开放对应端口)。// 依赖:mysql-connector-java(需添加至项目) String url = "jdbc:mysql://服务器IP:3306/数据库名"; String user = "用户名"; String password = "密码"; Connection conn = DriverManager.getConnection(url, user, password);
风险:直接暴露数据库地址和端口,易被攻击;需处理SSL加密、权限验证等问题。
示例API设计:
| 方法 | URL | 功能 |
|——–|———————-|———————-|
| POST | /api/login
| 用户登录验证 |
| GET | /api/users
| 获取用户列表 |
| POST | /api/add_user
| 新增用户 |
在build.gradle
中添加:
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
public interface ApiService { @GET("api/users") Call<List<User>> getUsers(); @POST("api/add_user") Call<ResponseBody> addUser(@Body User user); }
Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://服务器IP:端口/") // API基础路径 .addConverterFactory(GsonConverterFactory.create()) .build(); ApiService apiService = retrofit.create(ApiService.class);
// 获取用户列表 Call<List<User>> call = apiService.getUsers(); call.enqueue(new Callback<List<User>>() { @Override public void onResponse(Call<List<User>> call, Response<List<User>> response) { if (response.isSuccessful()) { List<User> users = response.body(); // 处理数据 } } @Override public void onFailure(Call<List<User>> call, Throwable t) { // 处理错误 } });
问题 | 解决方案 |
---|---|
安全性 | 避免直接连接数据库,通过API中转;使用HTTPS加密通信;API需校验Token或密钥 |
跨网访问 | 服务器需配置公网IP或域名;若在内网需穿透(如Ngrok、内网穿透工具) |
并发限制 | 服务器端API需限制请求频率,防止DDoS攻击 |
数据格式 | 建议统一使用JSON格式传输数据 |
解答:
解答: