PDA

View Full Version : مشکل در کار با وب سرویس - خواندن اطلاعات



Sir-Programmer
سه شنبه 20 مرداد 1394, 12:59 عصر
سلام من اینجا (http://barnamenevis.org/showthread.php?457283-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF) آموزش رو کامل خوندم تو امولاتور هم آی پی رو میزنم تو براوزر اسکریپت پی اچ پی اجرا میشه و اطلاعات رو بالا میاره اینم کد


new Handler().postDelayed(new Runnable() {
public void run() {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://192.168.56.1/android/");
try {
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
Log.i("Status Code", code + "");
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 100);

نمیدونم مشکل کجاست اینم لاگ برنامه ممنون میشم کمک کنید


08-11 05:01:10.880: E/AndroidRuntime(3206): FATAL EXCEPTION: main
08-11 05:01:10.880: E/AndroidRuntime(3206): Process: com.example.webservice, PID: 3206
08-11 05:01:10.880: E/AndroidRuntime(3206): android.os.NetworkOnMainThreadException
08-11 05:01:10.880: E/AndroidRuntime(3206): at android.os.StrictMode$AndroidBlockGuardPolicy.onNe twork(StrictMode.java:1145)
08-11 05:01:10.880: E/AndroidRuntime(3206): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java: 84)
08-11 05:01:10.880: E/AndroidRuntime(3206): at libcore.io.IoBridge.connectErrno(IoBridge.java:127 )
08-11 05:01:10.880: E/AndroidRuntime(3206): at libcore.io.IoBridge.connect(IoBridge.java:112)
08-11 05:01:10.880: E/AndroidRuntime(3206): at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:192)
08-11 05:01:10.880: E/AndroidRuntime(3206): at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:459)
08-11 05:01:10.880: E/AndroidRuntime(3206): at java.net.Socket.connect(Socket.java:843)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.conn.scheme.PlainSocketFactory.con nectSocket(PlainSocketFactory.java:119)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.conn.DefaultClientConnectionO perator.openConnection(DefaultClientConnectionOper ator.java:144)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.conn.AbstractPoolEntry.open(A bstractPoolEntry.java:164)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.conn.AbstractPooledConnAdapte r.open(AbstractPooledConnAdapter.java:119)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.client.DefaultRequestDirector .execute(DefaultRequestDirector.java:360)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.client.AbstractHttpClient.exe cute(AbstractHttpClient.java:555)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.client.AbstractHttpClient.exe cute(AbstractHttpClient.java:487)
08-11 05:01:10.880: E/AndroidRuntime(3206): at org.apache.http.impl.client.AbstractHttpClient.exe cute(AbstractHttpClient.java:465)
08-11 05:01:10.880: E/AndroidRuntime(3206): at com.example.webservice.Main$1.run(Main.java:33)
08-11 05:01:10.880: E/AndroidRuntime(3206): at android.os.Handler.handleCallback(Handler.java:733 )
08-11 05:01:10.880: E/AndroidRuntime(3206): at android.os.Handler.dispatchMessage(Handler.java:95 )
08-11 05:01:10.880: E/AndroidRuntime(3206): at android.os.Looper.loop(Looper.java:136)
08-11 05:01:10.880: E/AndroidRuntime(3206): at android.app.ActivityThread.main(ActivityThread.jav a:5001)
08-11 05:01:10.880: E/AndroidRuntime(3206): at java.lang.reflect.Method.invokeNative(Native Method)
08-11 05:01:10.880: E/AndroidRuntime(3206): at java.lang.reflect.Method.invoke(Method.java:515)
08-11 05:01:10.880: E/AndroidRuntime(3206): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:785)
08-11 05:01:10.880: E/AndroidRuntime(3206): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:601)
08-11 05:01:10.880: E/AndroidRuntime(3206): at dalvik.system.NativeStart.main(Native Method)

saeed_g21
سه شنبه 20 مرداد 1394, 13:50 عصر
شما خطای NetworkOnMainThreadException دریافت نموده اید
درموردش جستجو نمایید به راه حل میرسین

Sir-Programmer
سه شنبه 20 مرداد 1394, 15:00 عصر
ممنون از راهنماییتون مشکلم حل شد الان تو برنامه استرینگ هارو میگیره فقط به اسن شکله :
[{"id":"2","name":"ee","family":"mm"}]
میخوام فقط نام و فامیلی رو نمایش بدم یعنی
ee , mm
از کد زیر استفاده میکنم جواب نمیده >


public String getData() {

final StringBuilder sb = new StringBuilder();
try {
JSONArray array = new JSONArray(result);
for (int i = 0 ; i < array.length() ; i++){
JSONObject object = array.getJSONObject(i);
sb.append(object.getLong("id"));
sb.append(object.getString("name"));
sb.append(object.getString("family"));


}
return sb.toString();

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return null;

}

TextView txt =(TextView) findViewById(R.id.txt1);
txt.setText(getData());
اینم لاگ


08-11 07:17:10.732: E/OpenGLRenderer(4867): Getting MAX_TEXTURE_SIZE from GradienCache
08-11 07:17:10.740: E/OpenGLRenderer(4867): MAX_TEXTURE_SIZE: 8192
08-11 07:17:10.768: E/OpenGLRenderer(4867): Getting MAX_TEXTURE_SIZE from Caches::initConstraints()
08-11 07:17:10.772: E/OpenGLRenderer(4867): MAX_TEXTURE_SIZE: 8192

[younes]
سه شنبه 20 مرداد 1394, 16:16 عصر
برای highlight کردن کدت از بلاک جاوا استفاده کن نه html خوندنش خیلی سخته چشمم درد گرفت.