2013-04-11 15 views
2

我在這行代碼中遇到問題。想要在設備上創建sqlite數據庫。當前上下文中不存在名稱'資產'

string dbPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + "\\test.db"; 
     if (!System.IO.File.Exists(dbPath)) 

      using (System.IO.Stream sr = ***Assets***.Open("test.db")) 
      { 
       using (System.IO.Stream srTo = System.IO.File.Create(dbPath)) 
       { 
        sr.CopyTo(srTo); 
       } 
      } 

此消息給出了: 名稱「資產」不存在當前上下文

有一個類似的項目存在,但比大更全面。沒有錯誤。他們的資產我在以下定義中定義了一個c驅動器中的cs文件,它提供了對Android.Content.ContextWrapper的引用。 不在該項目的路徑上。 [如何添加文件的應用程序?

+0

你的代碼在哪裏?這是一項活動嗎? – snowCrabs 2013-04-11 14:23:49

+0

是的,它在裏面活動 – user2270625 2013-04-11 15:22:08

回答

2

如果您在活動中沒有這樣做,則需要參考活動/環境。你需要將它傳遞給構造函數中的助手類。

public yourClass(Activity context.......){ 

     context.Assets.Open("your.db"); 
} 
+0

憐憫。你已經完成了更改,但仍然是同樣的問題。 – user2270625 2013-04-11 14:34:58

+0

我剛剛在我的機器上運行了一個示例。資產應該在那裏,只要你持有活動參考。它應該編譯。 Assets是AssetManager的一個C#屬性,它只適用於不是全局的Activity。 – snowCrabs 2013-04-11 14:40:57

+0

有一個類似的項目,但比大的更全面。沒有錯誤。他們的資產我在以下定義中定義了一個c驅動器中的cs文件,以引用Android.Content.ContextWrapper。不在該項目的路徑上。 [如何添加文件的應用程序? – user2270625 2013-04-11 15:00:18

相關問題