0

在 Xamarin.Android 应用程序中,我需要显示来自 http 远程服务器的初始屏幕图像。

所以,我需要在 MainLauncher Activity 显示之前执行一些代码(WebClient ...)(我的 MainLauncher 活动基本上是一个 ImageView 和一个 ProgressBar)。

如果我在 MainLauncher 活动的 OnCreate 中添加我的 WebClient 代码,那么在下载过程中会显示一个黑屏。所以我想在显示主启动器之前执行我的 WebClient 代码。

或者任何一种技巧都可以!

希望清楚...

4

2 回答 2

1

您可以创建一个扩展 Android.App.Application 的类并将您的代码添加到它的 OnCreate 方法中。它将在应用程序启动时的 MainLauncher 活动之前调用。正如此处所指出的,仅在首次加载应用程序时才调用此代码。

例如,将 Application.cs(您可以使用 Xamarin Studio 的 Android Activity 新文件模板)添加到项目的顶层,内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;    
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using MyApp.Core;

namespace MyApp.Droid
{
    public class Application : Android.App.Application
    {
        public Application(IntPtr javaReference, JniHandleOwnership transfer)
        : base(javaReference, transfer)
        {
        }

        public override void OnCreate()
        {
            base.OnCreate();

            // PUT SETUP CODE HERE
        }
    }
}
于 2014-09-12T13:55:58.010 回答
0

您可能还需要一项活动。立即启动启动画面,并在那里进行加载;加载完成后,重定向到您的主要活动。

于 2013-10-12T04:54:24.560 回答