// Constructor public MainPage() { InitializeComponent(); this.webHybrid = new WebHybrid(this.webView, new JsonSerializer()); SaveFilesInHTMLFolderToIsoStore(); this.webView.Navigate(new Uri("HTML/home.html", UriKind.Relative)); //var fi = new FileInfo(@"./Assets/home.html"); //using (var streamReader = new StreamReader(fi.FullName)) //{ // this.webView.NavigateToString(streamReader.ReadToEnd()); //} this.webHybrid.RegisterCallback("test", s => { System.Diagnostics.Debug.WriteLine(s); var serializer = new JsonSerializer(); var m = serializer.Deserialize <ChartViewModel>(s); System.Diagnostics.Debug.WriteLine(m); }); this.webHybrid.RegisterCallback("dataCallback", s => System.Diagnostics.Debug.WriteLine(s)); }
public override void ViewDidLoad() { base.ViewDidLoad(); var webHybrid = new WebHybrid(this.webView, new SimplyMobile.Text.ServiceStack.JsonSerializer()); string homePageUrl = NSBundle.MainBundle.BundlePath + "/Content/ButtonClicks.html"; this.webView.LoadRequest(new NSUrlRequest(new NSUrl(homePageUrl, false))); this.model = new NavigationViewModel( Resolver.GetService <INavigationController> (), webHybrid); // webHybrid.RegisterCallback ("openNativeView", idString => // { // int id; // if (int.TryParse(idString, out id)) // { // var newViewController = new NewViewController(id); // this.NavigationController.PushViewController(newViewController, true); // } // else // { // // notify something here // } // }); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); DependencyResolver.Current.RegisterService <INavigationController, SampleNavigationController> (); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); var webView = FindViewById <WebView> (Resource.Id.webView1); var webHybrid = new WebHybrid(webView, new SimplyMobile.Text.RuntimeSerializer.JsonSerializer()); webView.LoadUrl("file:///android_asset/Content/ButtonClicks.html"); this.model = new NavigationViewModel( Resolver.GetService <INavigationController> (), webHybrid); // this.webHybrid.LoadFromFile("/android_asset/Content/ButtonClicks.html"); // this.webHybrid.RegisterCallback ( // "openNativeView", // idString => // { // int id; // if (int.TryParse(idString, out id)) // { // var intent = new Intent(this, typeof(NewViewActivity)); // intent.PutExtra("id", id); // this.StartActivity(intent); // } // else // { // // notify something here // } // // }); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it button = FindViewById <Button> (Resource.Id.myButton); var serializer = new SimplyMobile.Text.ServiceStack.JsonSerializer(); var webView = FindViewById <WebView> (Resource.Id.webView1); this.webHybrid = new WebHybrid(webView, serializer); this.webHybrid.RegisterCallback("dataCallback", Console.WriteLine); webView.LoadUrl("file:///android_asset/Content/home.html"); button.Click += delegate { var data = new Data() { Name = "Sami", Count = 99 }; this.webHybrid.InjectJavaScript(string.Format("Native(\"test\", {0})", serializer.Serialize(data))); this.webHybrid.CallJsFunction("Native", "test", data); this.webHybrid.CallJsFunction("alert", "test"); }; }
public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. string homePageUrl = NSBundle.MainBundle.BundlePath + "/Content/home.html"; var serializer = new JsonSerializer(); this.webHybrid = new WebHybrid(this.webView, serializer); this.webHybrid.RegisterCallback("test", Console.WriteLine); this.buttonSendScript.TouchUpInside += (object sender, EventArgs e) => { //this.webHybrid.InjectJavaScript("RunMyItem();"); //this.webHybrid.CallJsFunction("alert", "test"); }; // this.buttonSendScript.OnClick ((s, e) => { // // // this.webHybrid.CallJsFunction ("onViewModelData", model); // // // }); this.webView.LoadRequest(new NSUrlRequest(new NSUrl(homePageUrl, false))); var model = ChartViewModel.Dummy; var dataSource = new ObservableDataSource <DataPoint> () { Data = model.DataPoints }; dataSource.Bind(this.datapointTable); foreach (var point in model.DataPoints) { point.PropertyChanged += (s, e) => this.webHybrid.CallJsFunction("onViewModelData", model); } // if (this.canvasView != null) // { // var canvas = new CanvasView (this.canvasView, serializer); // canvas.Load (); // // var model = new ColumnModel () { // theme = "theme2", // title = new Title() // { // text = "Canvas Demo" // }, // data = new ColumnData() // { // dataPoints = new ObservableCollection<DataPoint>( // new[] {new DataPoint() { label = "Banana", y = 10 }} // ) // } // }; // // canvas.SetModel (model); // } }