我有一个小问题(可能真的没什么)。
我有一个像这样开始的小应用程序
namespace Paul.App
{
[Activity(Label = "@string/ApplicationName", MainLauncher = true, Theme = "@android:style/Theme.NoTitleBar",
ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait, Icon = "@drawable/icon")]
public class Paul : Application
{
public static Paul Application;
public Paul(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer)
{
在这个应用程序中,我有
public Database dbm;
数据库是一个做 SQL 事情的类
在这个命名空间中,我还有一个 OnCreate,它调用一个像这样开始的新活动
namespace Paul.App.Splash
{
[Activity(Theme = "@style/Theme.Splash", MainLauncher = true, NoHistory = true)]
public class Splash : Activity
{
protected override void OnCreate(Bundle bundle)
{
这很好,一切都很好。除了一件事。我无法实例化数据库!
如果我放入 OnCreate 或 Paul(IntPtr...) 并在其他活动中使用
dbm = 新的 DBManager();
飞溅开始,但如果我尝试使用 ((Paul)Application).dbm 访问 dbm,它将返回 null。
如果我在 Splash 活动中这样做
((Paul)Application).dbm = new DBManager();
if (((Paul)Application).dbm.SetupDB() != false)
{
Toast.MakeText(this, "Database failed to initialise", ToastLength.Long);
return;
}
调试器告诉我 ((Paul) 未知。
这应该是一件简单的事情——我试图实例化一次 SQLite,然后在整个应用程序中使用它。
这里的任何帮助将不胜感激。
保罗