<?php
header('Content-Type: application/json; charset=utf-8');
$data = array(
'username' => '楊鑄',
'password' => '123456', // 實務切勿回傳密碼,此處僅示範
'user_id' => 1
);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
private void startUrlCheck(String username, String password) {
HttpClient client = new DefaultHttpClient();
StringBuilder builder = new StringBuilder();
// 10.0.2.2 為 Android 模擬器訪問宿主機 localhost 的特殊 IP
HttpGet myget = new HttpGet("https://10.0.2.2/Android/index.php");
try {
HttpResponse response = client.execute(myget);
BufferedReader reader = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
JSONObject jsonObject = new JSONObject(builder.toString());
String re_username = jsonObject.getString("username");
String re_password = jsonObject.getString("password");
int re_user_id = jsonObject.getInt("user_id");
setTitle("用戶ID: " + re_user_id);
Log.v("url response", "username=" + re_username);
Log.v("url response", "password=" + re_password);
} catch (Exception e) {
Log.v("url response", "false");
e.printStackTrace();
}
}
若出現 java.net.SocketException: Permission denied,請在 </manifest> 前加入:
<uses-permission android:name="android.permission.INTERNET" />
HttpURLConnection、OkHttp 或 Retrofit。// OkHttp + Coroutines (Kotlin)
suspend fun fetchUser(): User? = withContext(Dispatchers.IO) {
val request = Request.Builder()
.url("https://api.example.com/user")
.build()
client.newCall(request).execute().use { response ->
if (response.isSuccessful) {
val json = response.body?.string() ?: return@withContext null
Json.decodeFromString(User.serializer(), json)
} else null
}
}