[Android Client] <--HTTP/JSON--> [Web Server (JSP/PHP/Node...)] <--JDBC/ORM--> [MySQL Database]
HttpClient,支持 GET/POST、參數、文件上傳、超時重試。推薦技術棧(因懂 Java,學習成本最低):
核心接口設計:
POST /api/auth/login // 登錄,返回 JWT Token
POST /api/auth/register // 註冊
GET /api/contacts // 獲取聯系人列表 (需 Token)
POST /api/messages // 發送消息
GET /api/messages/history // 歷史消息分頁
WS /ws/chat // WebSocket 實時通訊
OkHttp WebSocket 或 Netty 服務端,心跳重連、斷線重發。
// 1. Android 發起 HTTP 請求
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.example.com/api/contacts")
.header("Authorization", "Bearer " + token)
.build();
client.newCall(request).enqueue(new Callback() {
@Override onResponse(Call call, Response response) {
String json = response.body().string();
List list = new Gson().fromJson(json, new TypeToken>(){}.getType());
// 更新 UI (需切主線程)
}
});
@RestController
@RequestMapping("/api/contacts")
public class ContactController {
@Autowired ContactService service;
@GetMapping
public Result> list(@RequestHeader("Authorization") String token) {
Long userId = JwtUtil.parseToken(token);
return Result.success(service.findByUserId(userId));
}
}
| 領域 | 推薦資源 |
|---|---|
| Spring Boot | 官方文檔 getting-started、慕課網「Spring Boot 企業級開發」 |
| MyBatis | 官方文檔、B 站「尚硅谷 MyBatis」 |
| OkHttp | GitHub Wiki、掘金「OkHttp 深度解析」 |
| WebSocket | Netty 官方指南、書籍《Netty 實戰》 |
| Linux/Docker | 《鳥哥的 Linux 私房菜》、Docker 官方教程 |
從「不知如何連接服務器」到構建完整聊天系統,核心路徑是:Android 網絡庫 → Spring Boot REST API → MySQL/JPA → WebSocket 實時 → 部署運維。建議先跑通「註冊登錄 → 列表展示」最小閉環,再逐步擴展實時、推送、優化。持續練習、查閱官方文檔、閱讀優秀開源項目(如 Telegram Android、Spring PetClinic)是成長最快捷徑。