#Xamarin.Forms

背景

这篇博客会介绍如何自定义用Xamarin开发的Android以及iOS的navigation bar的返回的图标和文字。

之所以会需要以博客的形式记录这个知识点是由于本身如果Xamarin.Forms来做一个最基本的控件的custom renderer,思路会是这样的:首先要了解我们要自定义的控件是Xamarin.Forms中的哪个控件,然后在.NET Standard的项目中定义一个类去继承自Xamarin.Forms下的这个控件的类。之后就是在Xamarin的platform specific的项目中,各自定义两个新的renderer的类,加上一定的属性来表明这两个renderer是用在这个我们新定义的控件上的,然后重写这个renderer的OnElementChanged方法,这个方法会在改元素被生成的时候调用。最后,在XAML的页面中使用新的自定义的控件就可以达到效果。

具体的官方教程在这里:Xamarin.Forms Custom Renderers

阅读更多

背景

在最近几年中,越来越多的企业会将自己的网站转换成手机端的应用。这里所谓的转换,其实不是摒弃一个使用另一个,而是共存。所以就会有一个比较普遍的需求就是,很多的企业或者开发者希望使用同一套Web API来同时支持自己的网站和手机应用去操作自己的数据库,并且这个数据库的结构也是一样的。

这篇博客就是在阐述一个一模一样的情况。我的一个客户已经基于.NET Core 2.0的版本开发了一套Web API,并且网站已经在运行中。但是他想要用Xamarin.Forms来开发一个手机应用,并且是想用到Azure Mobile Apps SDK来使用离线同步(Offline Sync)功能。

当然,他希望使用同一套Web API和同一个数据库数据结构。

什么是离线同步?

如果是中文,就真的非常好理解。在使用手机的过程中,我们无法保证手机的网络信号永远是畅通的。再假设你现在在乘飞机,手机开启了飞行模式。这时候你需要在你的app中添加一些记录,比如是todoList,你当然希望一旦关闭飞行模式恢复网络之后,这些数据会被同步到数据库。这就是离线同步的意义。

看下面的微软官方解释:

Offline sync allows users to interact with a mobile application, viewing, adding, or modifying data, even where there isn’t a network connection. Changes are stored in a local database, and once the device is online, the changes can be synced with the Azure Mobile Apps instance. This article explains how to add offline sync functionality to a Xamarin.Forms application.

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×