Articles of C#

找不到Xamarin Android资源文件

我正在Visual Studio中构建一个Android应用程序。 当我尝试在Resources文件夹中构建应用程序引用项时,我得到两个错误之一。 如果我使用我的项目的命名空间前缀“Resource.Layout。[Id]”或“Resource.Id。[Id]”,我收到此错误: 名称空间'[app namespace]’中不存在types或命名空间名称’Resource’(您是否缺少程序集引用?) 如果我没有在我的命名空间前面调用Resource,它会尝试访问默认的Android.Resource类,我收到此错误: ‘Android.Resource.Layout’不包含'[axml file]’的定义 有没有人遇到过这个错误? 我一直在寻找一段时间,但却无法想出任何看似错误的东西。 Resource.Designer文件存在。 我删除了它,让它重新生成。 Ids位于Resource文件中,项目根本无法识别资源类是否存在。 最初,此应用程序的命名空间以“Android”结尾。 考虑到可能是问题的一部分,我已将其更改为“_Android”和“AndroidApp”,包括更改项目属性中的默认命名空间以及更改每个文件中的命名空间声明。 但是,每次更改都会出现此错误。

任何人都可以解释OAuth吗?

我在http://oauth.net/上读过一些关于它的内容,显然是“发布受保护数据和与受保护数据交互的一种简单方法”。 我认为这正是我需要通过REST Web服务提供从android / iphone应用程序访问数据的安全方式,但我无法确切地知道它是什么。 所以,简单地说,它究竟做了什么,是否有任何(真的)简单的例子,我可以遵循它,最好在c#中实现可以从智能手机应用程序访问的东西?

为什么显示一些标签时Xamarin.Forms这么慢(特别是在Android上)?

我们正在尝试使用Xamarin.Forms发布一些高效的应用程序,但我们的主要问题之一是按钮按下和显示内容之间的总体缓慢。 经过一些实验,我们发现即使是一个包含40个标签的简单ContentPage需要超过100毫秒才能显示出来: public static class App { public static DateTime StartTime; public static Page GetMainPage() { return new NavigationPage(new StartPage()); } } public class StartPage : ContentPage { public StartPage() { Content = new Button { Text = “Start”, Command = new Command(o => { App.StartTime = DateTime.Now; Navigation.PushAsync(new StopPage()); }), }; } } public […]

在Android设备上开发C#/。NET

我想在我的HTC Magic上运行C#程序,我可以在Android市场上find单声道应用程序,但我不知道如何运行C#。 代码只是为了好玩,我不想要官方支持等。 在Windows Mobile上编写Visual Basic代码之后,我真的想在Android上编写C#代码,无论是直接使用某种编辑器(如果存在),还是在PC上编译然后在Android上安装它。 如果有人知道这样做的方法,请告诉我。 谢谢

三星6S上的C#.NET 4.5.1 MVC 5.2.2中的MP3流媒体

我必须使用ReadSpeaker的TTS(文本说话)SaaS,以便为我正在开发的应用程序添加音频。 现在我们当前使用的基本SCAPI帐户有一个基本设置,您只需设置一个URL并获取我们需要输出的MP3流。 由于服务密钥位于URL中,因此我们无法在前端使用它,因此我们需要通过服务器传输文件。 在我测试Samsung 6S上的开发代码之前,一切正常。 它根本没有播放,但服务自己的链接工作,即这工作: Your browser does not support the audio element. 虽然完全相同的代码通过我们的服务器不在三星6S上与控制器中的流源相同的链接。 我已经通过几种不同的方式在服务器上流式传输文件,但每次都在三星6S(全新的开箱即用的无模块)中完全不同。 这是我用过的代码。 无效控制器: string url = “http://tts.readspeaker.com/a/speak?key=[ServiceKey]&lang=en_uk&voice=Female01&audioformat=mp3&volume=200&text=test text 2”; HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)HttpWRequest.GetResponse(); Stream stream = response.GetResponseStream(); MemoryStream ms = new MemoryStream(); stream.CopyTo(ms); Response.AddHeader(“Content-Type”, response.ContentType); Response.AddHeader(“Content-Length”, response.ContentLength.ToString()); Response.AddHeader(“Access-Control-Allow-Origin”, “*”); Response.AddHeader(“Connection”, “close”); Response.Flush(); audioData = ms.ToArray(); Response.BinaryWrite(audioData); […]

安卓通过Monodroid开箱即用的安全存储设备是什么?

像许多人一样 – 我正在开发一个带有共享代码库的应用程序(Windows Store + Android + MonoTouch + [稍后] WP8)。 此外,与许多应用程序一样,我有本地状态,我需要坚持这个应用程序。 我存储的一条信息是登录用户的身份validation令牌。 在Windowsapp store平台上,我已经使用漫游设置( ApplicationData.Current.RoamingSettings )混合了令牌的辅助数据(用户名和发布日期)以及实际令牌值的PasswordVault来实现存储。 因此,令牌受到OS级内省的保护,因为它是由OS加密的。 现在我正在为我的MonoDroid构建实现相同的界面,我无法看到平台提供的任何方式来存储只能由我的应用程序解密的数据 – 就像可以使用密码库一样对于商店应用。 因此,目前,我只是通过Application.Context.GetSharedPreferences方法使用Android.Content.ISharedPreferences接口来读取和写入这些值。 所以我认为平台(MonoDroid或Android)没有提供安全存储OOB是正确的吗? 是否是在应用程序中实现加密的唯一选择 – 这当然需要将加密密钥烘焙到代码中? 或者我可以获取用于签署应用程序的证书并将其用作密钥吗? 最终,如果我无法对这些数据进行加密,那么这不是世界末日,因为无论如何,令牌都是有时间限制的 – 但如果我能够真正做到这一点,那就太好了!

usb设备android,c#Xamarin

我最近开始写Xamarin,编写代码来查看连接到主机的设备时遇到了一些问题。 我已经阅读了SDK文档,所有文档都是用java编写的。 我正在尝试将java更改为C#,我将其编码为查找附加的设备: UsbManager manager = (UsbManager)GetSystemService (Context.UsbService); display.Text += ” /n inizializzo il manager”; display.Text += “numero dispositivi: “; display.Text += manager.DeviceList.Count; 使用“usb manager”应用程序,我可以看到所有usb附加,有3个。但是使用此代码它似乎是0 usb附加。 我不明白为什么。

Android上的.NET Framework

是否有人知道有任何项目将.NET框架的版本移植到Android平台,有点像Mono.Touch ?

如何从Unity应用程序启动Android活动?

我知道这似乎是一个微不足道的问题,但我无法在互联网上的任何地方find任何具体的答案。 我在stackoverflow上看到了这个非常相似的问题: 如何从android活动启动Unity应用程序? 但它与我的问题完全相反。 此外,android活动必须能够从Unity应用程序接收一些输入字符串,就像使用system()调用行参数以在PC上启动另一个程序一样。 以下是我在Android上测试Unity应用程序的测试按钮事件处理程序的代码: private void ExternalAppCallHandler() { if(Application.platform == RuntimePlatform.WindowsEditor) { Process.Start(@”C:\Program Files (x86)\Notepad++\notepad++.exe”); } else if(Application.platform == RuntimePlatform.Android) { Process.Start(“Internet”); } } 当我使用Unity Editor进行测试时,当我单击测试按钮时,应用程序会成功打开Notepad ++。exe。 但是,当我尝试在我的三星Galaxy S2设备上打开“Internet”应用程序时,它失败了。 有谁知道为什么会这样? 使用Process.Start打开另一个Android应用程序的正确字符串应该是什么?

对于Android,Request.Browser.IsMobileDevice = false,为什么?

我有三星galaxy s2,在C#代码中显示Request.Browser.IsMobileDevice = false,但我想在我的应用程序中使用移动版本。 如何能够为Android设备显示我的网站的移动版本? 非常感谢。 谢尔盖。