151127 uwp study
151127 uwp study
황현동 노트북
uwp
study
오늘의 uwp 스터디.
윈도우 스토어에 올려볼만한 좋은 유틸리티 아이디어가 생각났다.
그 준비과정…
윈도우 스토어에 올려볼만한 좋은 유틸리티 아이디어가 생각났다.
그 준비과정…
File I/O
http://www.kunal-chowdhury.com/2012/11/win8dev-tutorial-windows-store-files-folders.html
샌드박스 내부의 디렉토리 즉 설치디렉토리 (
샌드박스 내부의 디렉토리 즉 설치디렉토리 (
Package.Current.InstalledLocation
) 에서만 경로로 직접접근이 가능하고 그 외부라면 FilePicker를 사용해야 하는 것 같다. (아직 깊게 조사는 안해봤음.)StorageFolder folder = Package.Current.InstalledLocation;
// ways to create new folder
folder.CreateFolderAsync("Demo Folder", CreationCollisionOption.FailIfExists);
folder.CreateFolderAsync("Demo Folder", CreationCollisionOption.GenerateUniqueName);
folder.CreateFolderAsync("Demo Folder", CreationCollisionOption.OpenIfExists);
folder.CreateFolderAsync("Demo Folder", CreationCollisionOption.ReplaceExisting);
// ways to get folder
folder.GetFolderAsync("Demo Folder");
// ways to create new file
folder.CreateFileAsync("Demo File.txt", CreationCollisionOption.OpenIfExists);
folder.CreateFileAsync("Demo File.txt", CreationCollisionOption.GenerateUniqueName);
folder.CreateFileAsync("Demo File.txt", CreationCollisionOption.OpenIfExists);
folder.CreateFileAsync("Demo File.txt", CreationCollisionOption.ReplaceExisting);
// ways to get file
folder.GetFileAsync("Demo File.txt");
// ways to get all files by search queries
folder.GetFilesAsync(CommonFileQuery.DefaultQuery);
folder.GetFilesAsync(CommonFileQuery.OrderByDate);
folder.GetFilesAsync(CommonFileQuery.OrderByMusicProperties);
folder.GetFilesAsync(CommonFileQuery.OrderByName);
folder.GetFilesAsync(CommonFileQuery.OrderBySearchRank);
folder.GetFilesAsync(CommonFileQuery.OrderByTitle);
// ways to delete a folder instance
folder.DeleteAsync(StorageDeleteOption.Default);
folder.DeleteAsync(StorageDeleteOption.PermanentDelete);
앱 수명주기
함수 | 시점 | 할일 |
---|---|---|
OnLaunched | 앱시작 | 초기 데이타 로딩 |
OnSuspending | 앱종료, 앱비활성화 | 데이타 저장 |
OnLaunched 에서 초기데이타 로딩은 하던대로 하고,
OnSuspending 에서 데이타 저장하는 앞뒤로 앱 종료를 지연시키면서 저장시간을 벌어주는 녀석이 있는데 이 규칙을 잘 지켜야 한다.
OnSuspending 에서 데이타 저장하는 앞뒤로 앱 종료를 지연시키면서 저장시간을 벌어주는 녀석이 있는데 이 규칙을 잘 지켜야 한다.
deferral.Complete();
을 빼먹으면 저장하다말고 앱종료 될수도 있다.private async void OnSuspending(object sender, SuspendingEventArgs e){
var deferral = e.SuspendingOperation.GetDeferral();
Debug.WriteLine("1");
//TODO: 응용 프로그램 상태를 저장하고 백그라운드 작업을 모두 중지합니다.
await Task.Delay(10 * 1000);
Debug.WriteLine("2");
deferral.Complete();
Debug.WriteLine("3");
}
이 글은 Evernote에서 작성되었습니다. Evernote는 하나의 업무 공간입니다. Evernote를 다운로드하세요. |
댓글
댓글 쓰기