Anonymous
ребят, кто-то работал с SharedPreferences?
Gerc
java.lang.NullPointerException: Attempt to invoke virtual method 'char[] java.lang.String.toCharArray()' on a null object reference at java.io.File.fixSlashes(File.java:183) at java.io.File.<init>(File.java:130) как чинить? везде норм uri.getPath присылает. На зенфоне падает. Так главное этого fixSlashes не во всех версиях есть
Sergey Mitrofanov
Кто-нибудь пишет на андроид из под Intellij? Почему может возникать такая ошибка при сборке на девайс? 16:52 Failed to finalize session : INSTALL_FAILED_TEST_ONLY: installPackageLI
Sergey Mitrofanov
ребят, кто-то работал с SharedPreferences?
Чат про iOS в другом месте
Anonymous
нет
Anonymous
лел
Oleg
Как это первый раз, а где вы настройки храните?
Oleg
в базе что ли?
Рома
это андроид
да все работали. Зайди на девелоперс гугл ком
Anonymous
после перезагрузки девайса
Oleg
или в файлике текстовом?)
Anonymous
они сбрасываются
Oleg
они бэкапируются!
Oleg
андроид ж сам бекапирует настройки приложения
KMI
привет с ретрофтом загружаю на сервер файл с ProgressRequestBody он мне дважды до 100% считывает. Первый раз по быстрому до 100 (даже большой файл). второй раз нормально. public class ProgressRequestBody extends RequestBody { private File mFile; private String mPath; private UploadCallbacks mListener; private static final int DEFAULT_BUFFER_SIZE = 2048; public interface UploadCallbacks { void onProgressUpdate(int percentage); void onError(); void onFinish(); } public ProgressRequestBody(final File file, final UploadCallbacks listener) { mFile = file; mListener = listener; } @Override public MediaType contentType() { // i want to upload only images return MediaType.parse("image/*"); } @Override public long contentLength() throws IOException { return mFile.length(); } @Override public void writeTo(BufferedSink sink) throws IOException { long fileLength = mFile.length(); byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; FileInputStream in = new FileInputStream(mFile); long uploaded = 0; try { int read; Handler handler = new Handler(Looper.getMainLooper()); while ((read = in.read(buffer)) != -1) { // update progress on UI thread handler.post(new ProgressUpdater(uploaded, fileLength)); uploaded += read; sink.write(buffer, 0, read); } } finally { in.close(); } } private class ProgressUpdater implements Runnable { private long mUploaded; private long mTotal; public ProgressUpdater(long uploaded, long total) { mUploaded = uploaded; mTotal = total; } @Override public void run() { mListener.onProgressUpdate((int)(100 * mUploaded / mTotal)); } } }
кто нибудь ответьте на мой вопрос
Anonymous
apply
Anonymous
делал
Sergey Mitrofanov
кто нибудь ответьте на мой вопрос
Зачем велосипед пишешь? Ретрофит же и так умеет файлы на сервер слать. Используй @Multipart и @Body (или как там его)
Alexander
они сбрасываются
Задай конкретный вопрос с кусками кода, того, где сохраняешь, и того, где читаешь.
Sergey Mitrofanov
мне нужно прогресбаре показать процент загрузки файла
Ну тогда, может, проще okHttp напрямую использовать? Мы как-то не пытались для этих целей ретрофит препарировать, зачем? Он же и так все через тот же okHttp делает )
KMI
с окнттр тоже такая ошибка
Alexey
с окнттр тоже такая ошибка
А длину файла правильно считаете?
Алексей
Почему в котлине нет краша на "java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0"
Alexey
привет с ретрофтом загружаю на сервер файл с ProgressRequestBody он мне дважды до 100% считывает. Первый раз по быстрому до 100 (даже большой файл). второй раз нормально. public class ProgressRequestBody extends RequestBody { private File mFile; private String mPath; private UploadCallbacks mListener; private static final int DEFAULT_BUFFER_SIZE = 2048; public interface UploadCallbacks { void onProgressUpdate(int percentage); void onError(); void onFinish(); } public ProgressRequestBody(final File file, final UploadCallbacks listener) { mFile = file; mListener = listener; } @Override public MediaType contentType() { // i want to upload only images return MediaType.parse("image/*"); } @Override public long contentLength() throws IOException { return mFile.length(); } @Override public void writeTo(BufferedSink sink) throws IOException { long fileLength = mFile.length(); byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; FileInputStream in = new FileInputStream(mFile); long uploaded = 0; try { int read; Handler handler = new Handler(Looper.getMainLooper()); while ((read = in.read(buffer)) != -1) { // update progress on UI thread handler.post(new ProgressUpdater(uploaded, fileLength)); uploaded += read; sink.write(buffer, 0, read); } } finally { in.close(); } } private class ProgressUpdater implements Runnable { private long mUploaded; private long mTotal; public ProgressUpdater(long uploaded, long total) { mUploaded = uploaded; mTotal = total; } @Override public void run() { mListener.onProgressUpdate((int)(100 * mUploaded / mTotal)); } } }
Чето дичь какая-то
KMI
А длину файла правильно считаете?
@Override public long contentLength() throws IOException { return mFile.length(); }
Sergey Mitrofanov
Кто-нибудь пишет на андроид из под Intellij? Почему может возникать такая ошибка при сборке на девайс? 16:52 Failed to finalize session : INSTALL_FAILED_TEST_ONLY: installPackageLI
Так, нашел в чем проблема: Intellij выполняет adb install без флага -t, а Android Studio с этим фалгом. Теперь вопрос другой: Кто знает где в настройках это доступно для правки?
Denis
@Override public long contentLength() throws IOException { return mFile.length(); }
https://github.com/hongyangAndroid/okhttputils/blob/master/okhttputils/src/main/java/com/zhy/http/okhttp/request/CountingRequestBody.java
Sergey Mitrofanov
Я плюнул и студией пользуюсь, там дальше при любом обновлении сюрпризы могут вылезать
Мне просто понадобилось сейчас вести 2 проекта: чисто на Java и на андроиде. И как-то держать почти идентичные ИДЕ рядом друг с другом желания ваще нету.
KMI
все нашел спасибо. проблема оказывается в логировании окнттр у меня уровен логировании стоял BODY по этому он перед запросом прочитал файл и сработал этот public void writeTo(BufferedSink sink) throws IOException {
Sergey Mitrofanov
Denis
кстати можно логировать джейсоны но не логировать большие файлы в окхттп в консоль студии?
Osip
Сейчас у меня 3.0.0-rc2
Вот, это из-за него всё нормально не работает. У меня он сломал Spek, поэтому я жду релиза.
Sergey Mitrofanov
кстати можно логировать джейсоны но не логировать большие файлы в окхттп в консоль студии?
На вскидку - если для загрузки файлов на сервак создашь отдельный окхттп клиент, только без перехватчика логов, то почему бы и нет? )
Denis
круто спасибо
Sergey Mitrofanov
То есть я знаю даже, почему он не устанавливает дебаг сборку, но не могу найти, где этот параметр дописать...
Osip
Ну в студии-то 3-ей нормально работает )
С флагом же там. Добавьте флаг
Sergey Mitrofanov
С флагом же там. Добавьте флаг
В этом-то и вопрос - где? )
Sergey Mitrofanov
Не ручками же установку запускать каждый раз 😉
Osip
Shift + Shift > Run configurations
Sergey Mitrofanov
А, все понял где, спс )
Sergey Mitrofanov
Shift + Shift > Run configurations
Не, там что-то не сработало ( Но примерно понял где копать
Osip
К сожалению, я с телефона, а так бы мог скрин дать
Ярослав
кто в курсе, система учитывает время действия сертификата при установке приложения? что будет, когда срок действия сертификата истечёт?
Alex
Ребят, подскажите, есть ли в природе либы бесплатные или платные, которые могут парсить и отображать ppt и pptx внтури приложения? Ну и вообще кто-нибудь решал проблему показа PPT в приложении? Google Doc Viewer + WebView - не предлагать:)
Artem
SlideShare?
Aнтонина
Хэй ребят, кто разбирается в Ретрофит2?
Aнтонина
вопрос то в чем?
Не могу разобраться как отправить изображение.
Donna
Не могу разобраться как отправить изображение.
https://stackoverflow.com/questions/39953457/how-to-upload-image-file-in-retrofit-2
Alexey 🇪🇸
Ребят кто знает что может быть за фигня? У меня ImageView match_parent и ширина и высота. Вставляю ей картинку 1440х860 и оно по ширине почему-то не во весь экран? белые отступы остаются.
Alexey 🇪🇸
Alexey 🇪🇸
scaleType: fitXY
мне не надо ее как-то сжимать
A
мне не надо ее как-то сжимать
Растянет в твоем случае
Alexey 🇪🇸
а если scaleType не указывать какой там по умолчанию?
A
Подскажите пожалуйста, я уже ничего не понимаю вообще. Что уже только не пробовал. Glide не хочет не в какую отображать картинку. Причем, загрузка успешна, никаких error'ов.
A
Во вьюпейджере в первом фрагменте загружает ок - во втором - загружает но не отображает
A
Что это за фигня?
A
Одна и та же картинка
A
Причем абсолютно любая
A
а если scaleType не указывать какой там по умолчанию?
https://stackoverflow.com/questions/2951923/whats-the-default-scaletype-of-imageview
Alexey 🇪🇸
https://stackoverflow.com/questions/2951923/whats-the-default-scaletype-of-imageview
ок, спасибо что погуглил за меня))
Osip
Существует какой-нибудь getSoftInputMode? В доках вроде вижу его, а использовать не могу. Мне надо изменить SoftInputMode для одного фрагмента, а потом вернуть его на прошлое значение.
ivn
Господа, может кто знает каким софтом можно запилить анимации с интерфейса приложения, типа как запись видео и скриншоты в студии?
ivn
как вариант, оке гуглю подобный софт
Serg
Записать можно через Mobizen
Sergey Mitrofanov
Да и вообще можно не конвертить в анимацию, а просто медиплеером воспроизвести )
ivn
Записать видео а потом сконвертировать он лайн сервисом. Нагугли получить гиф
та не писать проще студией, а вот конвертить думаю imagemagik, годный софт, там можно будет гифки клеить в ряд, тапа таблица + фичи типа фильтров, скругления углов итд