我正在將我的應用程序之一從WP 8.0遷移到UWP。我有一些JSON內容,我想隱藏常規用戶。在以前的版本我能夠把這些JSON文件的生成操作設置爲「嵌入的資源」,並使用迭代它們:如何讀取UWP中的嵌入式資源?
Application.GetResourceStream(new Uri(path, UriKind.Relative));
但這種方法不可用UWP。
那麼,有沒有辦法在UWP讀取嵌入的資源呢?或者,除了將構建操作設置爲「內容」之外,還有其他方法可以存儲這些文件?
我正在將我的應用程序之一從WP 8.0遷移到UWP。我有一些JSON內容,我想隱藏常規用戶。在以前的版本我能夠把這些JSON文件的生成操作設置爲「嵌入的資源」,並使用迭代它們:如何讀取UWP中的嵌入式資源?
Application.GetResourceStream(new Uri(path, UriKind.Relative));
但這種方法不可用UWP。
那麼,有沒有辦法在UWP讀取嵌入的資源呢?或者,除了將構建操作設置爲「內容」之外,還有其他方法可以存儲這些文件?
您可以通過使用Assembly類的方法可用資源的列表迭代:
var names = someInstance.GetType()
.GetTypeInfo()
.Assembly
.GetManifestResourceNames();
,然後加載資源的全名從上面的列表:
var stream = someAssembly.GetManifestResourceStream(name);
然後做你想做的與流。
你需要讓你嵌入的資源,然後調用GetManifestResourceStream大會。
我有一個命名空間YourProjectNameSpace樣品有MyFolder中包含MyFile.json:
public class EndpointBuilder
{
private static String _filePath = "YourProjectNameSpace.MyFolder.MyFile.json";
public async Task<Endpoint> Build() {
var assembly = this.GetType().GetTypeInfo().Assembly;
var stream = assembly.GetManifestResourceStream(_filePath);
JsonSerializer jsonSerializer = new JsonSerializer();
var serializer = new JsonSerializer();
using (var sr = new StreamReader(stream))
using (var jsonTextReader = new JsonTextReader(sr))
{
Endpoint enpoint = serializer.Deserialize<Endpoint>(jsonTextReader);
return enpoint;
}
}
}