我建立一個應用程序中,用戶可以選擇他/她的性別,喜歡的食物,他們的憤怒,最喜歡的顏色,他們的年齡等..通過HTTP GET將數據發送到PHP服務器
我通過這些數據到我的最終活動與意圖。 現在我試圖將答案發送到一個PHP服務器(工作正常)並得到一個答案(哪個城市最適合你)
這是我的代碼,我不知道它是什麼問題(我已經添加到連接到互聯網) 當我運行的應用程序,直到被點擊的最後一項活動,它工作正常的權限,那麼它強制關閉應用程序
public class result extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
TextView result = (TextView)findViewById(R.id.result);
final String gender;
Intent a = getIntent();
gender = a.getStringExtra("gender");
final String anger;
Intent b = getIntent();
anger = b.getStringExtra("hate");
final String food;
Intent c = getIntent();
food = c.getStringExtra("food");
final String gettowork;
Intent d = getIntent();
gettowork = d.getStringExtra("gotowork");
final String settelment;
Intent ee = getIntent();
settelment = ee.getStringExtra("house");
final String actor;
Intent f = getIntent();
actor = f.getStringExtra("star");
final String weather;
Intent g = getIntent();
weather = g.getStringExtra("weather");
final String weekend;
Intent h = getIntent();
weekend = h.getStringExtra("weekend");
final String color;
Intent j = getIntent();
color = j.getStringExtra("color");
final String age;
Intent i10 = getIntent();
age = i10.getStringExtra("age");
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://test123.com/games/whichcity/app/check-form.php?gender=" + gender + "&anger=" + anger + "&food=" + food + "&gettowork=" + gettowork + "&settlement=" + settelment + "&actor=" + actor + "&weather=" + weather + "&weekend=" + weekend + "&color=" + color + "&age=" + age);
HttpResponse response = null;
try {
response = httpclient.execute(httpget);
} catch (IOException e) {
e.printStackTrace();
}
HttpEntity entity = response.getEntity();
try {
InputStream webs = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(webs,"iso-8859-1"),8);
result.setText(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
}}}
的Android清單文件
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".splash_screen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"></activity>
<activity android:name=".firstquestion"></activity>
<activity android:name=".secondquestion"></activity>
<activity android:name=".thirdquestion"></activity>
<activity android:name=".fourthquestion"></activity>
<activity android:name=".fifthquestion"></activity>
<activity android:name=".sixthquestion"></activity>
<activity android:name=".seventhquestion"></activity>
<activity android:name=".eighthquestion"></activity>
<activity android:name=".ninethquestion"></activity>
<activity android:name=".result"></activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
和我的logcat的錯誤:
E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{org.vaya_group.charactertest/org.vaya_group.charactertest.result}: android.os.NetworkOnMainThreadException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2071)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:4787)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1126)
at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:141)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at org.vaya_group.charactertest.result.onCreate(result.java:86)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:4787)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
你能發佈你收到的錯誤嗎? – tpk
我們看到出了什麼問題。你也可以看到它。而你沒有告訴你的應用真的發生了什麼。那麼,如果你看看LogCat,你就會知道出了什麼問題。張貼相關的行。 – greenapps
執行此代碼後有什麼問題?發佈logcat的相關行。 –