Лучший способ создать приложение «Хранилище фотографий»

#iphone #security #ios4 #photo

#iPhone #Безопасность #ios4 #фотография

Вопрос:

Я действительно хотел попробовать создать приложение, которое хранит фотографии и защищено паролем, как и другие существующие приложения. IE. Только для моих глаз и т.д. Я не прошу никого здесь давать мне пошаговые инструкции о том, как его создать (хотя было бы неплохо;). Я спрашиваю, с чего мне вообще начать? Я хотел бы использовать контроллер split view, и я пытался заставить его работать. Заранее спасибо,

Тейт

Ответ №1:

с высокого уровня.. вот некоторые пункты, о которых я бы подумал…

где вы будете хранить изображения? Сервер локальный? если локальное, где вы будете хранить изображения? Библиотека фотографий IOS или каталог вашего приложения?

далее, как вы будете отображать изображения? в iPhone нет готового средства просмотра эскизов фотографий с несколькими столбцами и несколькими строками (о котором я знаю).. следовательно, вам нужно будет создать собственное приложение на основе UIScrollView

Я бы также хотел иметь возможность переходить от изображения к изображению в полноэкранном режиме, это тоже можно было бы сделать с помощью UIScrollView с включенной подкачкой, каждая страница содержит другой UIScrollView (для масштабирования и панорамирования), который содержит imageview.

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

далее следует проблема захвата изображения .. вашим контроллером там будет UIImagePickerController.

далее следует проблема с паролем. Если вы полусерьезно относитесь к его защите .. сохранение его в связке ключей — ваш выбор. Если это всего лишь простой PIN-код, и кого действительно волнует, взломан ли он.. затем просто сохраните его в NSUserDefaults.

вот код для чтения изображения из вашего каталога doc

                 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
                NSString *docDir = [paths objectAtIndex:0];
                NSString *path = [[NSString alloc]initWithFormat: @"%@/%@",docDir,name];

                NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:path];

                if(data)
                {
                    image = [UIImage imageWithData:data];   
                }

                [data release];
                [path release];
  

и отсюда, я уверен, вы могли бы сделать гораздо больше .. но это, по крайней мере, хорошая отправная точка.

Комментарии:

1. Спасибо! Это просто мое личное приложение, и я хочу иметь возможность просматривать изображения без подключения к Интернету, поэтому я буду хранить их локально, используя nsuserdefaults в качестве пароля. Что касается их отображения, я надеялся, что контроллер разделенного просмотра с контроллером корневого просмотра сможет отображать список всех изображений, когда я нажимаю на название изображения, оно показывает изображение в подробном виде. Единственная проблема заключается в их импорте. Я хочу иметь возможность импортировать фотографии из приложения «Фотографии». Хотя я не знаю, как к этому подойти.

2. Массовый импорт или выбирать по одному за раз?

3. Что ж, на данный момент я хотел бы сделать то, что проще всего, но предпочтительнее массовый импорт.

4. Для массового использования требуется немного больше кода, который я могу получить через несколько часов. Но чтобы получать по одному изображению за раз, вы будете использовать UIImagePickerController и устанавливать его исходный код в библиотеку изображений.

5. Если бы вы могли достать мне код для массового импорта, это было бы потрясающе! Однако существует проблема с хранением фотографий. Должен ли я использовать базу данных или что-то подобное?

Ответ №2:

Как и в любом крупном проекте, я бы посоветовал вам начать с небольших примеров, а затем доработать. Например, попробуйте создавать небольшие приложения, которые:

  • Для доступа (или для возврата, если пользователь переключится обратно на приложение или время ожидания экрана истечет!) требуется пароль безопасности!)
  • Хранить фотографии
  • Разрешить пользователям настраивать разные категории
  • Отображайте фотографии в удобном виде, например, миниатюры, масштабирование, слайд-шоу
  • исследуйте контроллеры с разделенным просмотром

После того, как вы опробуете все эти идеи в мини-приложениях, у вас будет гораздо лучшее представление о том, как создать свое более крупное [pr0n-хранение;)] приложение для обработки изображений…