Android 프로젝트를 수행하려면 데이터를 검색하기 위해 서버로 이동하지 않고는 할 수 없습니다. 일반적인 예는 Android가 json 데이터를 검색하기 위해 PHP에 액세스하는 것입니다. 인터넷에 비슷한 예가 많이 있는데, 코드가 다 똑같네요. 올려주신 코드가 불완전한 것 아닌가?
이 프로젝트를 수행하려면 Apache에서 제공하는 종속성 패키지(jar 패키지)를 사용해야 합니다. ①httpclient ②httpcore ③http-mimi ④apache-mime4j
국제 연습: 먼저 DEMO로 이동하고, 다운로드 주소: Android는 php에 액세스하여 json 데이터를 검색합니다
먼저 php의 json 데이터 형식에 대해 알아봅시다
예:
$tnnowu = array( 'username' => '灬抹茶灬', 'password' => '666', 'user_id' => 1 ); echo json_encode($tnnowu);
MainActivity.java
package com.cnwuth.getjson; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONObject; import java.io.BufferedReader; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } private void startURLCheck(String username,String password) { HttpClient httpClient = new DefaultHttpClient(); StringBuilder stringBuilder = new StringBuilder(); HttpGet httpGet = new HttpGet("xxx.xxx.php"); try { HttpResponse httpResponse = httpClient.execute(httpGet); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader( httpResponse.getEntity().getContent() )); for (String s = bufferedReader.readLine();s!=null;s=bufferedReader.readLine()) { stringBuilder.append(s); } JSONObject jsonObject = new JSONObject(stringBuilder.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" , "true=" + re_username); Log.v("url response" , "true=" + re_password); } catch (Exception e) { Log.v("url response" , "false"); e.printStackTrace(); } } }
AndroidMainifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cnwuth.getjson"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
위 내용은 관련 내용을 포함하여 Android가 PHP에 액세스하여 json 데이터를 검색하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.