到目前为止我的代码如下所示:
1.下载APK文件并将其保存到内部存储中:
使用依赖服务
应用程序.xaml.cs
IDownloader downloader = DependencyService.Get<IDownloader>();
protected override void OnStart(){
downloader.OnFileDownloaded+=OnFileDownloaded;
downloader.DownloadFile("http://localhost:8080/download","folder");
}
private void OnFileDownloaded(object sender,DownloadEventArgs e) {
if(e.FileSaved) {
App.Current.MainPage.DisplayAlert("XF Downloader","File Saved Successfully","Close");
} else {
App.Current.MainPage.DisplayAlert("XF Downloader","Error while saving the file","Close");
}
}
Run Code Online (Sandbox Code Playgroud)
Android:AndroidDownloader.cs
[assembly: Dependency(typeof(NoguianaNucleo.Droid.AndroidDownloader))]
namespace NoguianaNucleo.Droid {
public class AndroidDownloader: IDownloader {
public event EventHandler<DownloadEventArgs> OnFileDownloaded;
public void DownloadFile(string url,string folder) {
string pathToNewFolder = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),folder);
Directory.CreateDirectory(pathToNewFolder);
try {
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted+=new AsyncCompletedEventHandler(Completed);
string pathToNewFile = Path.Combine(pathToNewFolder,"nucleo.apk");
webClient.DownloadFileAsync(new Uri(url),pathToNewFile); …Run Code Online (Sandbox Code Playgroud) Xamarin.Forms 设计视图不显示 .xaml 的预览我该怎么办?我寻找答案,我做了所有社区建议,但没有任何效果。我开始认为 Xamarin.Forms 没有 .xaml 的预览,对吗?或者那些按钮在哪里?我怎么能得到它们?
我想使用 Xamarin.forms 在 Android 上的应用程序中保持沉浸式模式。我读过一些博客和帖子。这个有效,但只有当我按下输入文本框或滚动屏幕时才有效。我想避免这种情况。这个问题争论了我的担忧,但我不明白解决方案。也许它已经过时了。我的 Android 设备是7.1,这是我的.Android MainActivity, ,上的代码void OnCreate:void OnCreate
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity{
protected override void OnCreate(Bundle savedInstanceState){
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
LoadApplication(new App());
ImmersiveMode();
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults){
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
public void ImmersiveMode() {
int uiOptions = (int)(Forms.Context as Activity).Window.DecorView.SystemUiVisibility;
uiOptions |= (int)SystemUiFlags.Fullscreen;
uiOptions |= (int)SystemUiFlags.HideNavigation;
uiOptions |= …Run Code Online (Sandbox Code Playgroud)