Модераторы: javastic

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диалоги открытия/сохранения файла, Open/Save file dialogs 
V
    Опции темы
spyswamp
Дата 13.7.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



Кто-нибудь знает готовые решения с открытым кодом, реализующие указанные в сабже диалоги? Как-то пока не сильно хочется заморачиваться над такой "мелочью", как стандартные (но не для android sdk, к сожалению) диалоги загрузки/сохранения файла - ну че там, лист с иконками накидать и эдит с кнопкой добавить.

Заранее спасибо.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
CaptainNemo
Дата 14.7.2011, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 5.6.2008
Где: White Russia, Min sk

Репутация: 3
Всего: 9



spyswamp, 

Цитата

Кто-нибудь знает готовые решения с открытым кодом, реализующие указанные в сабже диалоги?


я обычно подсматриваю исходники на code.google.com или нахожу из этого списка. По вашему сабжу подходит Text Edit . Там реализованы диалоги открытия и сохранения ... Правда, очень мудрогелисто, но всё же.. 

Это сообщение отредактировал(а) CaptainNemo - 14.7.2011, 02:43
PM MAIL WWW ICQ Skype GTalk   Вверх
ivanovpv
Дата 14.7.2011, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Сходи на проект OpenIntents - там лежат готовые компоненты open/save собранные в виде интентов (то есть они вызываются в виде внешних интентов) - не всегда удобно, конечно, но использовать можно.

Добавлено через 6 минут и 1 секунду
Могу поделиться своими исходниками open/save - в обмен на твои. Есть что предложить?


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
spyswamp
Дата 14.7.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



ivanovpv, твои исходники o/s в обмен на мои исходники o/s? Если да, то у меня таковых нет пока, а если и напишу все же сам (поборю вселенскую программерскую лень), то выложу сюда просто так потом.

За ссылки спасибо, вечером изучу что там есть.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Noziga
Дата 14.7.2011, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Такая же проблема
PM MAIL WWW   Вверх
spyswamp
Дата 14.7.2011, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



Я решил эту проблему: ваяю потихоньку сам. Че-то меня не радуют вещи, которые на данный момент нашел в этих ваших интернетах - либо сырые неюзабельные экзамплы, либо слишком сложная и ненужная фигня.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
spyswamp
Дата 16.7.2011, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



В общем, первый рабочий вариант диалога открытия файла (с иконками и т.п.) есть. Почитать/посмотреть картинки/забрать можно тут: http://slavikkk.livejournal.com/147718.html


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
spyswamp
Дата 17.7.2011, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



Пацан сказал - пацан сделал. Дописал и SaveFileDialog. Вместе с улучшенным OpenFileDialog'ом можно забрать здесь: http://slavikkk.livejournal.com/148080.html


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
ivanovpv
Дата 19.7.2011, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Цитата(spyswamp @  17.7.2011,  23:09 Найти цитируемый пост)
Пацан сказал - пацан сделал.


Молодец только иконки MIME типов походу не отрабатываются... Сие не есть гуд.


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
spyswamp
Дата 19.7.2011, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



ivanovpv, поподробнее, пожалуйста. У меня и на эмуляторе, и на аппарате иконки прорисовываются нормально. Их там всего две: для сущностей "директория" и "файл".


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
ivanovpv
Дата 20.7.2011, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Цитата(spyswamp @  19.7.2011,  11:51 Найти цитируемый пост)
 Их там всего две: для сущностей "директория" и "файл". 


Это неправильно... по хорошему нужно для каждого расширения использовать свою иконку


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
spyswamp
Дата 20.7.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



ivanovpv, а, над этим не заморачивался, да. Но не думаю, что это будет так уж сложно. Кстати, в *nix-way не такого понятия, как "расширение". Это все ваши виндовые задумки. smile Да и то зависит от настроек пользователя. Можно хоть маленькие члены на всех иконках нарисовать. Если это потребует каких-то дополнительных увеличений ресурсов картанками - то вообще откажусь. В ОС имеется всего 2 сущности: файл и файл типа директория. Соответственно, правильно различать их именно по этому типу. Все остальное - рюшки, которые необязательны. ;)

Это сообщение отредактировал(а) spyswamp - 20.7.2011, 16:29


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
ivanovpv
Дата 20.7.2011, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Цитата(spyswamp @  20.7.2011,  17:25 Найти цитируемый пост)
Все остальное - рюшки, которые необязательны. ;)

Ух круто... Дело в том, что надо учитывать пожелания юзеров. Юзеру начхать на юникс не юникс, винда не винда - ему подай так чтобы было удобно. А удобно когда он видит, что это Экселевский файл, а вот это вот PDF или ZIP. Прогер может думать все что угодно, но пожелание юзера - это для него должно быть законом. 

Тем более что сделать это не так и сложно:

Код

//mimeType строка типа "image/bmp"
public Drawable getDrawableForFile(Context context, File file, String mimeType)
{
        PackageManager pm = context.getPackageManager();
        Uri data = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(data, mimeType);
        final List<ResolveInfo> lri = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        if (lri != null && lri.size() > 0) //mimeType известен в системе
        {
            int index = lri.size() - 1;
            //смотрим последний элемент списка, который соотвествует последнему установленному приложению, который "признает" данный mime тип
            final ResolveInfo ri = lri.get(index);
            return ri.loadIcon(pm);
        }
        // если неизвестный mime тип грузим картинку по умолчанию
        return  context.getResources().getDrawable(R.drawable.default);
}





Это сообщение отредактировал(а) ivanovpv - 21.7.2011, 16:30


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
spyswamp
Дата 20.7.2011, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



ivanovpv, зерно истины в этом есть, определенно. smile Хотя, для юзеров я буду улучшать эти диалоги немного и в другую сторону (как минимум, в отдельную либу). Они еще кривоватые, мне кажется. Пока что "обкатаю" их на приложении, которое чисто для себя пишу. Да и хз вообще буду ли я когда либо продакшеном под Андроид заниматься, я спец. на других языках и платформах.

За пример спасибо, он конечно немного "новичковский" по стилю кодирования, но попилить, и отлично получится. smile

В любом случае, думаю, у нас получилась отличная тема с примерами и т.п., которая, очень надеюсь, поможет кому-нибудь.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
ivanovpv
Дата 21.7.2011, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Цитата(spyswamp @  20.7.2011,  21:06 Найти цитируемый пост)
За пример спасибо, он конечно немного "новичковский" по стилю кодирования, но попилить, и отлично получится


Сильно сказано. А я другой стиль и не приемлю... - хотя вроде далеко не новичок, более того совсем не новичок. Ну да ладно- на вкус и цвет как гриться...


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.3423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.