Articles of mono

Xamarin共享项目与便携式类库

我想弄清楚哪个是更适合我们项目的方式。 Xamarin的PCL图书馆或共享项目。 在这里的Xamarin文档链接中,它说经验法则是在我们不共享库时选择共享项目。 共享项目可以用#if编写,以确保它适用于多个平台 – 这也会导致重构#ifs无效的一些问题。 然而,我有一种直觉,认为将此代码放入共享类是不对的。 如果Windows,Android和IOS移动平台可用的代码使用共享项目而不是PCL – 这意味着我们在共享项目中使用#ifs而不是在特定于平台的项目中编写特定于平台的代码。 这是试图通过#ifs支持非PCL项目,并使共享代码更复杂,更难维护。 难道这不是Xamarin要改进.NET PCL代码库的工作吗? 而这也意味着我们将平台特定function放在共享项目而不是平台特定项目中 – 即从平台项目本身隐藏特定平台的复杂性 – 这在架构方面感觉不对。 我是对的(在这种情况下,我与Xamarin文档相冲突)还是我错过了什么?

如何从System.Diagnostics.Process停止进程并最终获取统计信息

我正在使用此代码但是当我停止进程时它不会获得ping统计信息: System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = “ping”; p.StartInfo.Arguments = “-c ” + count + ” -i ” + interval + ” -s ” + buffer + ” -W ” + timeout + ” ” + address; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; string readData = “”; DateTime dt = DateTime.Now.AddSeconds(5); if (p.Start()) { […]

Xamarin iOS和Android如何运作?

我试着了解Xamarin.iOS(MonoTouch)和Xamarin.Android(Android的Mono)是如何工作的。 我写了一个小应用程序并查看了.app和.apk文件。 .app文件(iOS)内部有许多.dll文件。 但为什么? 在我阅读的每一页和post上,他们都会说:App是原生的,没有任何解释。 有人可以向我解释一下xamarin开发人员对“原生”的意思吗? .apk文件内部不是单个.dll文件..

Mono for Android如何运作?

我对Android(由Novell)的Mono如何工作感兴趣。 我最大的问题是使用的实际运行时。 MfA是否提供了一个Mono运行时,它包装并调用Dalvik运行时,或者在此操作中是否完全绕过了Dalvik? 这完全是另类吗? 我很好奇,因为我听说Mono运行时在移动设备上有更好的性能(不是我相信我在互联网上读到的任何内容……),而且我只是想了解整个事情。 关于比较和对比Mono / Dalvik运行时主题的任何其他一般知识将不胜感激。 谢谢!

应用程序立即崩溃,无一例外地或日志(看起来像xamarin /单声道错误)

这是一个奇怪的情况在这里:),我已经在我的片段中实现了这个代码,以扫描multithread environment TCP Ports ,它crash when debugging ,有时crash in release mode也与消息: E/art (12972): Nested signal detected – original signal being reported F/art (12972): art/runtime/fault_handler.cc:117] Check failed: !initialized_ 试图设置目标Android to 23不起作用。 试过运行adb shell setprop debug.mono.env MONO_DEBUG=soft-breakpoints没有工作的adb shell setprop debug.mono.env MONO_DEBUG=soft-breakpoints 。 试图使用不同的Android API's Versions进行编译 任何想法为什么这是发生? 这是我的代码: public void start() { for (int i = 0; i […]

在Android上使用MvvmCross通知

我想要创build一个插件来实现类似通知服务的东西。 所以我现在正在做的是这样的: var activity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity; var builder = new NotificationCompat.Builder(activity.ApplicationContext) .SetContentTitle(title) .SetSmallIcon(Resource.Drawable.Icon) .SetContentText(message); var notificationManager = (NotificationManager)activity.ApplicationContext.GetSystemService(Context.NotificationService); notificationManager.Notify(0, builder.Build()); 这工作正常,并显示通知,因为它应该显示。 下一步是,我想从通知导航到我的活动。 这意味着在MvvmCross我想导航到我的ViewModel。 但是,我现在如何将ShowViewModel <…>() – Command打包到这个通知中呢? 这甚至有可能吗? 在原生android我会创build一个PendingIntent指向我想要显示的活动。 任何想法? 暗示? 小费? 🙂

Android的单声道 – 支持的架构 – 降x86?

我们有一个近乎完整的应用程序,并试图挤在Google Play的50MB下载限制之下。 当检查我们的APK试图find方法来放弃我们的文件大小时,我注意到这里描述的lib\x86 , lib\armeabi和lib\armeabi-v7a目录。 它们对应于Mono for Android项目的项目选项中的“Supported architecture”选项。 如果我删除x86,我们的APK大小保存在1.1 MB左右。 (这几乎足以让我们低于50MB) 删除x86有什么缺点? 我的APK是否仍能在x86设备上运行? Google Play for x86设备上是否有大量的市场份额? 如果它不能在x86上运行,Google Play会阻止我的APK安装在x86设备上吗?

Xamarin.Android – 本地代码编译使逆向工程更难?

我们正在考虑将我们的C#.NET应用程序移植到Android,并开始阅读关于Xamarin.Android和Mono框架。 我刚刚开始与Android开发。 我注意到在主要的http://xamarin.com/android页面上说: 本机代码 高性能的编译代码,可以完全访问所有本地API。 这是否意味着生成的代码将是更难以反向工程的本地代码? 除此之外,我们还想创build一个包含我们关键algorithm的类库,如果我们可以将其编译为本地代码来阻止逆向工程,那么我们就不会担心移植。 我已经阅读了几个关于Android代码的其他文章,比使用ProGuard的混淆的.net程序集更难于反编译。 是本地代码编译这些职位后最近的function? 感谢您的任何build议!

xamarin中的“布局渲染器失败”错误

我有一个示例Android项目,运行良好(可以build立和安装在手机上)。 但是,无论何时双击xamarin环境中的Layout文件夹中的任何文件以查看devise模式下的布局,都会显示以下消息。 (我的xamarin版本是4.0.13) 我看到这个问题,但没有提供答案。 任何帮助将不胜感激。

Resource.designer.cs不在Mono(Xamarin Studio)中重新生成

我目前正在开发Mono应用程序,最近更新到Xamarin Studio 4.0.8,并且在devise元素没有被添加到解决scheme时遇到问题。 我试图手动编辑designer.cs,后来我删除它,希望程序将再次重新生成,随着布局的变化。 我努力了: 重build它 清洁和重build 通过文件浏览器擦除文件 它仍然不能正确地重新生成,Xamarin创buildResource.designer.cs但是它是空的,编译时它返回这个: Error CS0103: The name 'Resource' doesn't exist in the current context (CS0103) 请帮助…