当前位置: 首页 > news >正文

网上如何做网站热 动漫-网站正在建设中-手机版6

网上如何做网站,热 动漫-网站正在建设中-手机版6,建设网站对服务器有什么要求吗,网站建设包含的内容编者语#xff1a;Xamarin在国内的推广还需要努力#xff0c;其实这真的是移动端开发的一大福音#xff0c;毕竟用一份代码的时间可以生成iOS/Android/Windows/Linux/macOS/Tizen多个平台#xff0c;而且是原生的性能。Xamarin在Build 2018发布的新功能有Xamarin.Essential… 编者语Xamarin在国内的推广还需要努力其实这真的是移动端开发的一大福音毕竟用一份代码的时间可以生成iOS/Android/Windows/Linux/macOS/Tizen多个平台而且是原生的性能。Xamarin在Build 2018发布的新功能有Xamarin.Essentials(点击查看) , Hyper-V for Xamarin Android Emulator ,还有Xamarin.Forms 3.0。Xamarin.Forms 3.0 和 Xamarin.Essentials 都会是一个质的飞跃。Xamarin.Forms 有全新的布局FlexLayout 更好地和原生控件对接还新增支持GTK/Tizen。而Xamarin.Essentials的发布则大大提升开发的效率把因为平台差异造成的代码不一致的底层接口重新做了归一这样做提升了编码效率。    在Build2018前的两周左右我拿到了Xamarin.Essentials的测试版本(基于nda我只能等到现在才能发布)这是一个为访问一些设备硬件和底层给iOS/Android/UWP三个平台做的统一接口适配了.NET Standard 2.0(当然也包含.NET Standard 1.0 / iOS / Android)。通过Xamarin.Essentails你可以非常快捷地访问不同平台的摄像头地理位置网络检测更能调用如打电话相册通讯录等相当方便实用。如我需要了解设备信息的时候通过Xamarin.Essentails就是一句非常简单的话就可以完成了        运行生成效果           话说回来在Xamarin.Essential之前其实Xamarin也推出了Xamarin.Mobile点击查看和Plugin(点击查看) 。我们先来看看这两位旧人所做的事如果对比代码其实也差不多通过PCL的方式对设备底层API进行访问。(ps : 图一是Xamarin.Mobile , 图二Xamarin.Plugins)               看看上面的代码是比较有趣可以预想到用原生方法写一个摄像头调用你可能需要更多的工作而且这更接近.NET程序员的使用习惯。假若你希望为Xamarin打造一个跨平台的也能针对不同平台底层操作又有一个通用接口的库这三个通用组件的源码就是很好的教程。      在Xamarin中实现跨平台访问方法有几种      1. 通过检测平台的方式最常用的是宏定义        span stylefont-size:12px;#if __IOS__// iOS-specific code#endif#if __TVOS__// tv-specific stuff#endif#if __WATCHOS__// watch-specific stuff#endif#if __ANDROID__// Android-specific code#endif/span  2. 或者通过代码的方式, Xamarin.Forms.Device.Idiom去完成span stylefont-size:12px;                    if (Xamarin.Forms.Device.Idiom TargetIdiom.Phone)            {                MainPage new NavigationPage(new MyPage());            }            else if(Xamarin.Forms.Device.Idiom TargetIdiom.Tablet)            {        // etc            }            else if(Xamarin.Forms.Device.Idiom TargetIdiom.Desktop)            {        // etc            }            else if (Xamarin.Forms.Device.Idiom TargetIdiom.Unsupported)            {                // etc            }            else            {                // etc            }/span 这个方式除了在代码也可以在XAMLspan stylefont-size:12px;   OnIdiom x:TypeArgumentsView      OnIdiom.Phone      Grid          Label TextPhone content view /        /Grid      /OnIdiom.Phone      OnIdiom.Tablet        Grid          Label TextTablet content view /        /Grid      /OnIdiom.Tablet    /OnIdiom/span  3. 用DependencyService在通过公用层生成接口再在不同平台上实现。这是在Xamarin中最常用的方法              回到封装库首先要定下一个目标就是做个.NET Standard的库而不再是做PCL. 还有做这种通用库更应该考虑兼容多平台如iOS/Android/UWP等。以往的做法你可能需要搭建很多的目录然后去继承一个公共接口去完成。现在通过MSBuild.Sdk.Extras(点击查看), 通过MSBuild可以对不同平台进行快速编译,生成跨平台的库。参考Xamarin.Essentials(点击进入)我自己开始编写一个简单的库。先看看实现原理(如图)              在.NET Standard 项目中你可以针对不同平台进行编译利用第三方的MSBuild.Sdk.Extras进行不同平台库的生成工作在这种方法上你不再需要上面提到的宏定义或Dependency Service只需要针对预先设置好的文件进行跨平台编译这大大方便了代码的管理和维护。xx.standard.cs是一个公用的文件相当于为不同平台定义了一个接口而具体实现放到各自平台上如xx.ios.cs , xx.android.cs ..... 最后通过shared封装公共方法暴露给不同项目访问。Project SdkMicrosoft.NET.Sdk ToolsVersion15.0  PropertyGroup    !--Work around so the conditions work below--    TargetFrameworksnetstandard1.0;netstandard2.0;Xamarin.iOS10;MonoAndroid71;/TargetFrameworks    Product$(AssemblyName)($(TargetFramework))/Product    EnableDefaultCompileItemsfalse/EnableDefaultCompileItems    EnableDefaultItemsfalse/EnableDefaultItems    BuildOutputTargetFolder$(TargetFramework)/BuildOutputTargetFolder  /PropertyGroup   PropertyGroup Condition $(Configuration)Debug     DebugTypefull/DebugType    DebugSymbolstrue/DebugSymbols  /PropertyGroup  PropertyGroup Condition $(Configuration)Release     DebugTypepdbonly/DebugType  /PropertyGroup    PropertyGroup Condition $(Configuration)|$(Platform) Debug|AnyCPU     OutputPathbin\Debug\$(TargetFramework)/OutputPath  /PropertyGroup  PropertyGroup Condition $(Configuration)|$(Platform) Release|AnyCPU     OutputPathbin\Release\$(TargetFramework)/OutputPath  /PropertyGroup  ItemGroup    PackageReference IncludeMSBuild.Sdk.Extras Version1.4.0 PrivateAssetsAll /    Compile Include**\*.shared.cs /  /ItemGroup  ItemGroup Condition $(TargetFramework.StartsWith(netstandard))    Reference IncludeSystem.Numerics /    Reference IncludeSystem.Numerics.Vectors /    Compile Include**\*.netstandard.cs /  /ItemGroup  ItemGroup Condition $(TargetFramework.StartsWith(MonoAndroid))    PackageReference IncludeXamarin.Android.Support.CustomTabs Version25.4.0.2 /    PackageReference IncludeXamarin.Android.Support.Core.Utils Version25.4.0.2 /    Reference IncludeMono.Android /    Reference IncludeSystem.Numerics /    Reference IncludeSystem.Numerics.Vectors /    Compile Include**\*.android.cs /  /ItemGroup  ItemGroup Condition $(TargetFramework.StartsWith(Xamarin.iOS))    Reference IncludeSystem.Numerics /    Reference IncludeSystem.Numerics.Vectors /    Compile Include**\*.ios.cs /  /ItemGroup  Import Project$(MSBuildSDKExtrasTargets) ConditionExists($(MSBuildSDKExtrasTargets)) /  Import Project$(MSBuildBinPath)\Microsoft.CSharp.targets //Project 剩下的事情就是针对不同平台作定义了      如Kinfey.ios.csusing System;namespace DNDemo.Lib{    public static partial class Kinfey    {        internal static string Check(){            return iOS;        }    }} 如Kinfey.android.csusing System;namespace DNDemo.Lib{    public static partial class Kinfey    {        internal static string Check()        {            return Android;        }    }}而Kinfey.netstandard.csusing System;namespace DNDemo.Lib{    public static partial class Kinfey    {        internal static string Check() throw new NotImplementedException();    }}最后暴露的接口在Kinfey.shared.csusing System;namespace DNDemo.Lib{    public static partial class Kinfey    {        public static string CheckInfo(){            return Check();        }    }}这样你就可以进行编译了在Windows上你直接用Visual Studio 编译即可在macOS上你需要编译就需要用命令行了请高人指点下我不知道为啥VS for mac不能build跨平台的.NET Stanard......首先你得restore , 接着执行msbuild DNDemo.Lib.csproj /p:ConfigurationDebug这个时候你就会得到四个库.net standard 1.0 / .net standard 2.0 / ios / android 。找个项目调用一下结果如下             赠送源码一份(点击下载)      最后Xamarin的第三方库在国外有不少但国内还是相对较少希望各位爱好者都贡献一下为这个技术落地贡献一份力量。原文地址: https://blog.csdn.net/kinfey/article/details/80218291.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.yutouwan.com/news/311521/

相关文章:

  • 优秀网络广告案例分析wordpress优化检测
  • 石家庄信息门户网站定制费用跨平台 移动网站开发
  • 国内买机票最便宜网站建设本地访问wordpress
  • 网站网站建设的原则有哪些旅游公网站如何做
  • 东道设计公司待遇如何百度推广seo是什么意思
  • 做预算的网站域名最新通知
  • 给房地产公司做网站的公司网站建设中长出现的问题
  • 平台网站怎么做的好大学生html网页设计作业
  • 17网一起做网站友情链接交换系统
  • 安阳市建设工程领域网站Asp.net 手机网站制作
  • 干果坚果网站建设南宁百度seo推广
  • wordpress后台编辑主题时提示:抱歉_该文件无法被编辑软件优化
  • 励志故事网站源码电子商务网站建设影响因素
  • 郑州浩方网站建设智联招聘简易制作网站
  • 网站搜索功能怎么做如何查注册商标是别人注册过的
  • 极速彩票网站建设阿图什网站
  • 网站模板psd大兴网站建设多少钱
  • 西乡网站的建设福田我要做网站优化比较好
  • seo专员是什么意思上海网站seo优化
  • 网站建设需要购买服务器么网站建设用什么系统
  • 5星做号宿水软件的网站长沙第三方网站建设公司
  • 洛阳网站建设 恒凯科技判断网站cms
  • jsp做门户网站网站如何申请微信支付接口
  • 徐汇区网站建设公司分析一个网页设计
  • 做网站要开发嘛创新型的网站建设
  • asp 手机网站互联网公司上海
  • 安徽干部学校建设网站怎么在备案号添加网站
  • 湖南网站建设 系统wordpress 悬浮广告
  • 网站icp 备案查询木渎网站制作
  • 做服装网站要那些照片网站首页素材