6

मैं एक बहु-प्लेटफार्म प्रोजेक्ट बनाने के लिए एक्समरिन के साथ वीएस2015 का उपयोग कर रहा हूं जो स्प्लैशस्क्रीन दिखा सकता है और फिर वेबव्यू में वेबपृष्ठ लोड कर सकता है। यहां मेरी परियोजना संरचना है।एक्समरिन फॉर्म मुख्य एक्टिविटी ऑनक्रेट लोड एप्लीकेशन सिस्टम। नल रिफरेंस अपवाद: ऑब्जेक्ट रेफरेंस ऑब्जेक्ट के उदाहरण पर सेट नहीं है

enter image description here

TheApp (पोर्टेबल)

-WebPageHoster.Xaml  //Contains a WebView control 
    -WebPageHoster.Xaml.cs //sets the WebView controls source property to load a webpage 
    -App.Xaml 
    -App.Xaml.cs 

TheApp.Droid

/Resources/drawable/splashlogo.png 
/Resources/drawable/icon3.png 
/Resources/values/Styles.xml 
-MainActivity.cs 
-SplashActivity.cs  

TheApp.iOS

: मैं एक पीसीएल परियोजना के रूप में नीचे टाइप उपयोग कर रहा हूँ

TheApp.WindowsPhone (विंडोज फोन 8,1)

यह Styles.xml

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="Theme.Splash" parent="android:Theme"> 
     <item name="android:windowBackground">@drawable/splashlogo</item> 
     <item name="android:windowNoTitle">true</item> 
    </style> 
</resources> 

SplashActivity.cs में कोड है

[Activity(MainLauncher = true, NoHistory = true, Theme = "@style/Theme.Splash", Icon = "@drawable/icon3")] 
public class SplashActivity : AppCompatActivity 
{ 
    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 
     var intent = new Intent(this, typeof(MainActivity)); 
     StartActivity(intent); 
     Finish(); 
    } 
} 

MainActivity.cs

[Activity(Label = "Splash App", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 
     global::Xamarin.Forms.Forms.Init(this, bundle); 
     LoadApplication(new App()); // << Problem here 
    } 

OnCreate विधि में LoadApplication विधि कॉल ऊपर App.Xaml.cs वर्ग जो निम्नलिखित कोड

सार्वजनिक अनुप्रयोग() { InitializeComponent() चलाता है के एप्लिकेशन निर्माता लोड करता है; मेनपेज = नया नेविगेशन पेज (नया वेबपेजहोस्टर() {शीर्षक = "लोड वेब पेज"}); }

यह स्प्लैश स्क्रीन दिखाता है और सेट करने के बाद WebView के यूआरएल वापस OnCreate विधि करने के लिए पहुंचता है और इस त्रुटि

System.NullReferenceException: Object reference not set to an instance of an object 

देता है कि मैं क्या इस त्रुटि उत्पन्न कर रहा है खोजने में असमर्थ हूँ। एंड्रॉइड मैनिफेस्ट फ़ाइल यहां दी गई है।

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="TheApp.TheApp" android:installLocation="auto" android:versionCode="1"> 
    <uses-sdk android:minSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <application android:icon="@drawable/icon3" android:theme="@style/Theme.AppCompat" android:label="Splash Web Host"></application> 
</manifest> 
+0

शेयर स्रोत है। आपको प्रश्न में बहुत अधिक कोड पेस्ट नहीं करना चाहिए। – jzeferino

+0

FormsAplicationActivity से FormsAppCompatActivity में बदल गया और एक नई समस्या मिली। कोड ड्रॉपबॉक्स पर अपलोड किया गया https://www.dropbox.com/s/p2snfvsyhhwopgn/STM-full.zip?डीएल = 0 – user20358

उत्तर

12

मैं अपने स्रोत कोड का परीक्षण किया और अपने MainActivityFormsAppCompatActivity से निकला है। उस स्थिति में आपको एक विषय प्रदान करना होगा जो AppCompat का उपयोग करता है।

हल करने के लिए है कि, मैं अपनी शैली के लिए एक AppCompat थीम कहा:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowActionModeOverlay">true</item> 
</style> 

और फिर अपने MainActivity पर यह प्रयोग किया है:

[Activity(Label = "Southern Travel", Theme = "@style/AppTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
+0

धन्यवाद। धन्यवाद। इस के साथ पागल हो रहा था। मैं ज़ैमरिन फॉर्म के आसपास वास्तविक दस्तावेज कहां प्राप्त कर सकता हूं? ऐसा लगता है कि जहां भी मैं किसी विशेष लक्ष्य प्लेटफ़ॉर्म के लिए विशिष्ट कुछ दिखता हूं। यहां तक ​​कि इस आधिकारिक दस्तावेज़ीकरण [https://developer.xamarin.com/samples/monodroid/SplashScreen/] Xamarin साइट पर यह उदाहरण पीसीएल फॉर्म में यह उदाहरण नहीं करता है: – user20358

+0

@ user20358, स्पैल्सशस्क्रीन सेट करना आईओएस और एंड्रॉइड के बीच अलग है , यह पोस्ट एंड्रॉइड https://forums.xamarin.com/discussion/comment/91914/#Comment_91914 – Bonelol

+0

के लिए मदद कर सकता है एंड्रॉइड और आईओएस के लिए इस पर एक अच्छा ट्यूटोरियल है: http://codeworks.it/blog/? पी = 2 9 4 – jzeferino

संबंधित मुद्दे

 संबंधित मुद्दे