2012-03-18 10 views
-1

私はWAMPサーバー上でアンドロイドとデータベースとの間の接続を試みています。アプリケーションを実行すると例外が発生するのはなぜですか?どのように私はそれを解決することができますか? city.PHP私はネット上で多くのことを検索し、私は、コードを見直し回以上、私はPHPスクリプトを実行すると、それが正常に動作し、データを返しますが、例外がまだMYSQLにアンドロイドを接続する際にクラスを解決できない例外がありますか?

存在し、これは私のコード

です

<?php 
mysql_connect("localhost","username","pass"); 
mysql_select_db("Deal"); 
$sql=mysql_query("select * from City where Name like 'R%' "); 
while($row=mysql_fetch_assoc($sql)) 
$output[]=$row; 
print(json_encode($output)); 
mysql_close(); 
?> 

City.java

public class City extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    parseJSON(); 

} 


void parseJSON() 
{ 
    String result = ""; 
    String x = ""; 
    InputStream is=null; 
//http post 
try{ 
ArrayList nameValuePairs = new ArrayList(); 
HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://localhost/city.php"); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 
is = entity.getContent(); 
}catch(Exception e){ 
Log.e("log_tag", "Error in http connection "+e.toString()); 
} 
//convert response to string 
try{ 
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) { 
sb.append(line + "\n"); 
} 
is.close(); 
result=sb.toString(); 
}catch(Exception e){ 
Log.e("log_tag", "Error converting result "+e.toString()); 
} 
//parse json data 
try{ 
JSONArray jArray = new JSONArray(result); 
JSONObject json_data=null; 
for(int i=0;i<jArray.length();i++) 
{ 
    json_data = jArray.getJSONObject(i); 
    Log.i("log_tag","id: "+json_data.getString("City_ID")+", name: "+json_data.getString("Name")); 
} 
} 
catch(JSONException e){ 
Log.e("log_tag", "Error parsing data "+e.toString()); 
} 
} 
} 

logcat

 
03-18 22:12:21.553: W/dalvikvm(491): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-18 22:12:21.583: E/AndroidRuntime(491): FATAL EXCEPTION: main 
03-18 22:12:21.583: E/AndroidRuntime(491): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.JSON/com.JSON.JSONexActivity}: java.lang.ClassNotFoundException: com.JSON.JSONexActivity in loader dalvik.system.PathClassLoader[/data/app/com.JSON-2.apk] 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1739) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread.access$500(ActivityThread.java:122) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.os.Looper.loop(Looper.java:132) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread.main(ActivityThread.java:4123) 
03-18 22:12:21.583: E/AndroidRuntime(491): at java.lang.reflect.Method.invokeNative(Native Method) 
03-18 22:12:21.583: E/AndroidRuntime(491): at java.lang.reflect.Method.invoke(Method.java:491) 
03-18 22:12:21.583: E/AndroidRuntime(491): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-18 22:12:21.583: E/AndroidRuntime(491): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-18 22:12:21.583: E/AndroidRuntime(491): at dalvik.system.NativeStart.main(Native Method) 
03-18 22:12:21.583: E/AndroidRuntime(491): Caused by: java.lang.ClassNotFoundException: com.JSON.JSONexActivity in loader dalvik.system.PathClassLoader[/data/app/com.JSON-2.apk] 
03-18 22:12:21.583: E/AndroidRuntime(491): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:251) 
03-18 22:12:21.583: E/AndroidRuntime(491): at java.lang.ClassLoader.loadClass(ClassLoader.java:540) 
03-18 22:12:21.583: E/AndroidRuntime(491): at java.lang.ClassLoader.loadClass(ClassLoader.java:500) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.Instrumentation.newActivity(Instrumentation.java:1022) 
03-18 22:12:21.583: E/AndroidRuntime(491): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730) 
03-18 22:12:21.583: E/AndroidRuntime(491): ... 11 more 
+0

例外が表示されていますか? – BenOfTheNorth

+0

Eclipseで 'adb logcat'、DDMS、またはLogCatビューを使ってLogCatを検査し、例外に関連するスタックトレースを調べます。 – CommonsWare

+0

クラスが見つかりません例外、あなたがログ猫を投稿することができます – user

答えて

1

あなたは明らかに、あなたのプロジェクトでcom.JSON.JSONexActivityという名前のクラスを持っていない、と何かがその活動を開始しようとしています。

+0

このクラスは何もありません。 – user

+0

@ user1134612:マニフェストをチェックして、 'com.JSON.JSONexActivity'を参照する' '要素があるかどうか確認してください。存在する場合は、実際に "持っているか作成した"活動を指すように修正するか、 ""要素を完全に取り除いてください。 – CommonsWare

+0

解決済み、ありがたいですが残念なことに別の例外が発生します03-18 22:48:07.053:E/log_tag(619):http接続でエラーが発生しましたjava.lang.IllegalArgumentException:インデックス15の権限に不正な文字が含まれています: /10.0.2.2 /city.php 03-18 22:48:07.053:E/log_tag(619):エラー変換結果のエラーjava.lang.NullPointerException 03-18 22:48:07.053:E/log_tag(619):データの解析中にエラーが発生しました。org.json.JSONException:文字0の入力の終わり – user