Android опубликовать объект JSON
Я хотел бы опубликовать JSON в моей базе данных (RDF), мой JSON правильный, но я не могу отправить его, это мой код:
Я хотел бы опубликовать этот JSON в моей базе данных помощи плз ////////
HttpPost httppost=new HttpPost("http://www.hds.utc.fr/memorae/pr/api/swars/note");
try {
// JSON data:
jsonA.put("index", "datjsonArray");//datjsonArray
jsonA.put("sharingspace","datjsonArray1" );//datjsonArray1
jsonA.put("content", "test");
jsonA.put("title", "test");
jsonA.put("aurhor", "amc2:userAPIConcept53a07a9a1758d");
jsonA.put("distributor","datjsonArray2 ");//datjsonArray2
jsonA.put("date", "dat");
jsonA.put("type", "note");
String json = jsonA.toString();
StringEntity se = new StringEntity(json);
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
Log.i("se", ""+se);
httppost.setEntity(se);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
if(response!=null){
InputStream in = response.getEntity().getContent();
}
} catch(Exception e) {
e.printStackTrace();
Log.i("Error", "Cannot Estabilish Connection");
}
ошибка
07-05 02:10:06.410: E/NomDeMaClasse(2012): Erreur à tel endroit 07-05 02:10:06.410: E/NomDeMaClasse(2012): android.os.NetworkOnMainThreadException 07-05 02:10:06.410: E/NomDeMaClasse(2012): на android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на java.net.InetAddress.lookupHostByName(.java:385) 07-05 02:10:06.410: E/NomDeMaClasse(2012): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 07-05 02:10:06.410: E/NomDeMaClasse(2012). Java:137) 07-05 02:10:06.410: E/NomDeMaClasse(2012): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 07-05 02:10:06.410: E/NomDeMaClasse(2012): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 07-05 02:10:06.410: E/NomDeMaClasse(2012): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в org.apache.hp.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в org.apache.http.impl.client.AbstractHttpClient.execute: AbstractH 465) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на com.example.test.MainActivity$1.onClick(MainActivity.java:116) 07-05 02:10:06.410: E/NomDeMaClasse(2012)): at android.view.View.performClick(View.java:4438) 07-05 02:10:06.410: E/NomDeMaClasse(2012): at android.view.View$PerformClick.run(View.java:18422) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на android.os.Handler.handleCallback(Handler.java:733) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на android.os.Handler.dispatchMessage(Handler.java:95) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на android.os.Looper.loop(Looper.java:136) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в android.app.ActivityThread.main(ActivityThread.java:5017) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в java.lang.reflect.Method.invokeNative(собственный метод) 07-05 02: 10: 06.410: E / NomDeMaClasse (2012): на java.lang.reflect.Method.invoke(Method.java:515) 07-05 02:10:06.410: E/NomDeMaClasse(2012): на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 07-05 02:10:06.410: E/NomDeMaClasse(2012): в dalvik.system.NativeStart.main(собственный метод)
3 ответа
Поменяйте две строки
json1.put("index", "datjsonArray");//datjsonArray
jsonA.put("aurhor", "amc2:userAPIConcept53a07a9a1758d");
в
jsonA.put("index", "datjsonArray");//datjsonArray
jsonA.put("author", "amc2:userAPIConcept53a07a9a1758d");
Вы больше не будете получать сообщения об ошибках от php. Только много сообщений об ошибках синтаксиса odbc. Возможная причина: "datjsonArray"
должно быть datjsonArray
,
Но... чтобы увидеть сообщения, которые вы должны получить от эхо-скрипта, прочитав их из InputStream in
,
У тебя серьезное исключение
NetworkOnMainThreadExeption
Поместите свой код в AsyncTask или поток. AsyncTask является самым простым. Вы можете найти много примеров на этом сайте.
Если бы вы только разместили logcat ранее...
У меня есть эта ошибка: у меня есть эта ошибка также:07-05 23:10:06.290: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/Effect_Tick.ogg 07-05 23:10:06.300: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/Effect_Tick.ogg 07-05 23:10:06.300: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/Effect_Tick.ogg 07-05 23:10:06.300: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/Effect_Tick.ogg 07-05 23:10:06.340: E/SoundPool(383): ошибка загрузки / система /media/audio/ui/Effect_Tick.ogg 07-05 23:10:06.410: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/KeypressStandard.ogg 07-05 23:10:06.460: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/KeypressSpacebar.ogg 07-05 23:10:06.460: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/KeypressDelete.ogg 07-05 23:10:06.500: E/SoundPool(383): ошибка загрузки /system/media/audio/ui/KeypressReturn.ogg 07-05 23:10:06.530: E/SoundPool(383): ошибка загрузки / система /media/audio/ui/KeypressInvalid.ogg