Я тестировал свое приложение всю неделю на Galaxy Tab 4 без каких-либо проблем, но когда я хотел протестировать свое приложение на Galaxy S7, оно бросало FileNotFoundException
, Сначала я думал, что это связано с разрешениями во время выполнения, но INTERNET
не указан как опасный, так что это не проблема.
У меня есть собственный класс под названием DatabaseTask
который обрабатывает мои задачи базы данных. Этот класс расширяется AsyncTask
Таким образом, эти 3 задачи будут выполняться в разных потоках. Теперь странно то, что когда я вызываю только свою задачу, которая просто загружает некоторую информацию в мою базу данных, она работает просто отлично, но когда я пытаюсь вызвать 2 задачи, которые должны загрузить изображение в мою базу данных, приложение выдает это исключение на мой S7 (6.0), но не на моей вкладке 4 (4.4.1). Я не получаю никаких ошибок от моих php-скриптов, но кажется, что мой S7 просто не попадает в php-файл загружаемой картинки, в то время как он попадает в мой php-файл с информацией для отправки.
Войдите из моего S7 со всеми 3 заданиями:
04-29 03:51:40.280 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage processPointer 0
04-29 03:51:40.350 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage processPointer 1
04-29 03:51:40.760 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:51:40.760 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:51:41.490 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_1&base64=<omitted>
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: java.io.FileNotFoundException: http://url/script.php //edited out for privacy reasons!
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:242)
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:168)
04-29 03:53:45.220 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:26)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-29 03:53:45.230 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.lang.Thread.run(Thread.java:818)
04-29 03:53:45.230 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin D/AndroidRuntime: Shutting down VM
04-29 03:53:45.230 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin E/AndroidRuntime: FATAL EXCEPTION: main
Process: interfashionadmin.theindiestudio.com.interfashionadmin, PID: 5569
java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at android.util.Log.e(Log.java:334)
at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.onPostExecute(DatabaseTask.java:233)
at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.onPostExecute(DatabaseTask.java:26)
at android.os.AsyncTask.finish(AsyncTask.java:651)
at android.os.AsyncTask.access$500(AsyncTask.java:180)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
04-29 03:53:45.730 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:53:45.730 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:53:46.440 5569-5579/interfashionadmin.theindiestudio.com.interfashionadmin W/art: Suspending all threads took: 17.722ms
04-29 03:53:46.440 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_2&base64=<omitted>
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: java.io.FileNotFoundException: http://url/script.php //edited out for privacy reasons!
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:242)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:168)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at interfashionadmin.theindiestudio.com.interfashionadmin.DatabaseTask.doInBackground(DatabaseTask.java:26)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin W/System.err: at java.lang.Thread.run(Thread.java:818)
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:55:50.840 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 03:55:50.940 5569-5636/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: type=various&item=6&brand=brand&price=100&dscr=descr
04-29 03:58:45.400 5569-5569/interfashionadmin.theindiestudio.com.interfashionadmin I/Process: Sending signal. PID: 5569 SIG: 9
Войдите из моей вкладки 4 со всеми 3 заданиями:
04-29 04:14:59.346 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
04-29 04:14:59.946 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:14:59.956 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: KnoxVpnUidStorageknoxVpnSupported API value returned is false
04-29 04:15:00.936 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_1&base64=<omitted>
04-29 04:15:03.216 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&various_6_1 has been uploaded
04-29 04:15:03.606 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:15:04.296 21663-21678/interfashionadmin.theindiestudio.com.interfashionadmin I/art: Background sticky concurrent mark sweep GC freed 138344(3MB) AllocSpace objects, 23(2MB) LOS objects, 15% free, 29MB/35MB, paused 5.675ms total 39.248ms
04-29 04:15:04.336 21663-21762/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: imagename=various_6_2&base64=<omitted>
04-29 04:15:05.166 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&various_6_2 has been uploaded
04-29 04:15:05.176 21663-21880/interfashionadmin.theindiestudio.com.interfashionadmin I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
04-29 04:15:05.216 21663-21880/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: type=various&item=6&brand=brans&price=100&dscr=descr
04-29 04:15:05.346 21663-21663/interfashionadmin.theindiestudio.com.interfashionadmin E/DatabaseTask: succes&item added!
Спасибо!
просто сообщаю тебе, что я нашел проблему. Оказалось, что это никак не связано с соединением, но, думаю, время истекло, когда он пытался закодировать мои растровые изображения в строку Base64. Для этого я использовал следующую строку: bitmap.compress (Bitmap.CompressFormat.JPEG, 100, Stream) ;. Я предполагаю, что снимки, сделанные моим S7, слишком большие, чтобы справиться с качеством, установленным на 100, но когда я опустил его до 25, все это работает как шарм. Это также объясняет, почему работала только передняя камера (более низкого качества) моей вкладки 4. Я думал, что это как-то связано с путями изображения.
Других решений пока нет …