Как на эмулятор Windows Phone 8 закачать картинки/фотографии с компьютера (не из своей программы)?
Ответ
Создайте папку TestImages в проекте и добавьте туда изображения.
Установите значение Build action в Content на файлы в свойствах Visual Studio
Измените .csproj (правый клик на проекте, 'Unload Project' потом правый клик,
'edit .csproj')
Добавьте условие настройки в строки, которые включают файлы в проекте, как этот:
namespace MyPhotoApp {
public static class EmulatorHelper {
const string flagName = "__emulatorTestImagesAdded";
public static void AddDebugImages() {
bool alreadyAdded = CheckAlreadyAdded();
if (!alreadyAdded) {
AddImages();
SetAddedFlag();
}
}
private static bool CheckAlreadyAdded() {
IsolatedStorageSettings userSettings = IsolatedStorageSettings.ApplicationSettings;
try {
bool alreadyAdded = (bool)userSettings[flagName];
return alreadyAdded;
} catch (KeyNotFoundException) {
return false;
} catch (ArgumentException) {
return false;
}
}
private static void SetAddedFlag() {
IsolatedStorageSettings userSettings = IsolatedStorageSettings.ApplicationSettings;
userSettings.Add(flagName, true);
userSettings.Save();
}
private static void AddImages() {
string[] fileNames = { "img1", "img2", "img3", "img4", "img5" };
foreach (var fileName in fileNames) {
MediaLibrary myMediaLibrary = new MediaLibrary();
Uri myUri = new Uri(String.Format(@"TestImages/{0}.jpg", fileName), UriKind.Relative);
System.IO.Stream photoStream = App.GetResourceStream(myUri).Stream;
byte[] buffer = new byte[photoStream.Length];
photoStream.Read(buffer, 0, Convert.ToInt32(photoStream.Length));
myMediaLibrary.SavePicture(String.Format("{0}.jpg", fileName), buffer);
photoStream.Close();
}
}
}
}
Теперь у Вас есть проект, который автоматически добавляет тестовые изображения в фотогалерею, при условии, что:
build Configuration установлена в 'Debug'
приложение запущено в эмуляторе
изображения еще не были добавлены
Преимущество в том, что это не влияет на Release XAP по производительности
или размеру.
Источник
Комментариев нет:
Отправить комментарий