#android #web-services
#Android #веб-сервисы
Вопрос:
Кто-нибудь может сказать мне, для чего требуется этот лог-cat? Прямо сейчас я пытаюсь использовать один веб-сервис (который выполняется в dot-net) в Android. Между тем, этот веб-сервис возвращает огромный ответ на данные. Когда я вызываю этот веб-сервис, он возвращает несколько ответов и получает сбой (к сожалению, приложение остановлено) и отображает проблемы, подобные приведенному ниже журналу. cat.
Предложение, пожалуйста
Спасибо за ваше драгоценное время !.
LOGCAT
06-19 11:07:14.080: E/JavaBinder(2141): !!! FAILED BINDER TRANSACTION !!!
06-19 11:07:14.085: E/ActivityManager(2141): Second failure launching org.twinkletech.postcourier/.MainActivity, giving up
06-19 11:07:14.085: E/ActivityManager(2141): android.os.TransactionTooLargeException
06-19 11:07:14.085: E/ActivityManager(2141): at android.os.BinderProxy.transact(Native Method)
06-19 11:07:14.085: E/ActivityManager(2141): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:742)
06-19 11:07:14.085: E/ActivityManager(2141): at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:842)
06-19 11:07:14.085: E/ActivityManager(2141): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:4535)
06-19 11:07:14.085: E/ActivityManager(2141): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:4613)
06-19 11:07:14.085: E/ActivityManager(2141): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:375)
06-19 11:07:14.085: E/ActivityManager(2141): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1752)
06-19 11:07:14.085: E/ActivityManager(2141): at android.os.Binder.execTransact(Binder.java:367)
06-19 11:07:14.085: E/ActivityManager(2141): at dalvik.system.NativeStart.run(Native Method)
06-19 11:07:14.155: E/Launcher(2659): Error finding setting, default accessibility to not found: accessibility_enabled
Ответ №1:
Похоже, вам нужно переосмыслить свои клиент-серверные коммуникации. Эта ссылка объясняет, что происходит: http://developer.android.com/reference/android/os/TransactionTooLargeException.html
Комментарии:
1. Согласно вашему предложению, я понял, что концепция сервиса — это способ решить эту проблему, верно ?..
2. Не могли бы вы прислать мне хотя бы один пример использования веб-сервиса с помощью service
3. Я не думаю, что использование сервиса имеет какое-либо значение. Вам нужно переосмыслить объем данных, которые вы отправляете из своего веб-сервиса сразу. Что это за данные. Можно ли разбить эти данные на более мелкие фрагменты?
4. Я получаю данные ответа в виде строки Json
5. ОК. Это большой список элементов? В таком случае вам следует подумать о некоторых методах разбивки на страницы, чтобы отправлять только части этого списка за раз и получать запрос клиента на дополнительные страницы.