Articles of xamarin.android

MonoDroid项目在一个包含Windows 7手机项目的解决方案中?

我有一个VS 2010解决方案,里面有一个Windows 7手机项目。 我添加了一个默认的monoandroid项目,当我尝试部署它时(模拟器对话框确实出现) 我收到这个错误 ” (SignAndroidPackage target) (1) -> (_CompileAndroidPackage target) -> monodroid : error 1: Evaluation version requires targeting the shared runtime. [C:\A\B\AndroidApplication1.csproj] 0 Warning(s) 1 Error(s) Time Elapsed 00:00:00.87 如果我卸载Windows 7手机项目,我将失去部署它的能力。 他们目前没有任何共享。 我只想在同一个项目中使用它们。

降级Xamarin.Android

我已经安装了Xamarin(Xamarin工作室,Xamarin.Android)但是构建即使是最简单的项目也存在一些问题(只需创建新项目 – >构建 – >获取错误)。 经过一些谷歌搜索后,我发现我并不是唯一遇到此类问题的人。 我find的唯一解决方案是恢复到早期版本的Xamarin.Android。 但是我该怎么做? 有人可以帮帮忙吗? Xamarin.Android的当前版本是4.8.0 要回滚到的版本是4.6.6

适用于Android的Mono中的OnGlobalLayoutListener

有人可以用C#解释我这个Java代码,因为我使用Mono for Android吗? 例如,我在Mono for Android中找不到OnGlobalLayoutListener。 在Android上它看起来像这样: vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int newWidth, newHeight, oldHeight, oldWidth; //the new width will fit the screen newWidth = metrics.widthPixels; //so we can scale proportionally oldHeight = iv.getDrawable().getIntrinsicHeight(); oldWidth = iv.getDrawable().getIntrinsicWidth(); newHeight = Math.floor((oldHeight * newWidth) / oldWidth); iv.setLayoutParams(new LinearLayout.LayoutParams(newWidth, newHeight)); iv.setScaleType(ImageView.ScaleType.CENTER_CROP); //so this only […]

Xamarin.Formspopup“新版本可用”

我正在研究Xamarin.forms Android Project,我正在搜索为用户显示popup窗口: 新版本可用 当用户尝试打开应用程序并在Play商店中提供新的更新时。

如何在Xamarin.Android/Monodroid中使用Android KitKat EvaluateJavascript并检索结果?

对于Xamarin.iOS / Monotouch ,在评估javascript时检索字符串很简单。 例如 string elementValue = browser.EvaluateJavascript(“document.getElementById(‘Id’).value”); if(elementValue != “”) { DoSomething(); } 任何人都可以提供一个如何为Xamarin做这个的例子。 Android / Monodroid Android kitkat及以上使用Evaluatejavascript()? 具体如何同步使用/设置IValueCallback。

找不到Mono Droid onClick事件

我有以下布局: 这在我的活动中: [Activity(Label = “LayoutTest”, MainLauncher = true, Icon = “@drawable/icon”)] public class Activity1 : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); } public void Foo(View v) { Toast.MakeText(v.Context, “Bar”, ToastLength.Long).Show(); } } 当我在模拟器中调试此应用程序时,当我单击MyButton并在日志中使用以下摘录时,应用程序崩溃: E/AndroidRuntime( 507): FATAL EXCEPTION: main E/AndroidRuntime( 507): java.lang.IllegalStateException: Could not find a method Foo(View) in the activity class […]

如何在Xamarin Android活动回调中使用await

标题可能有点误导,我的问题更多的是为什么它以这种奇怪的方式工作。 所以我有一个具有TextView和ListView的布局的活动。 我有一个长时间运行的异步方法,准备在列表中显示数据。 所以初始代码是这样的: protected async override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.MyView); await SetupData(); } private async Task SetupData(){ Task.Run(async () => { var data = await new SlowDataLoader().LoadDataAsync(); // For simplicity setting data on the adapter is omitted here }); } 从某种意义上说,它可以正确执行。 但是,活动显示为空白屏幕,即使文本视图仅在一定延迟后呈现。 因此看起来任务实际上并非异步运行。 在“await”调用上设置ConfigureAwait(false)没有帮助。 将SetupData()调用移动到OnPostCreate,OnResume和OnPostResume无效。 唯一使TextView立即出现并在以后呈现列表的事情,当数据到达时是这样的: protected override void OnCreate(Bundle savedInstanceState) { […]

无法启动应用程序

我无法让我的应用程序从Visual Studio 2015 / Xamarin运行Android设备。 它无法在设备上启动,给出以下消息: The application could not be started. Ensure that the application has been installed to the target device and has a launchable activity (MainLauncher = true). Additionally, check Build->Configuration Manager to ensure this project is set to Deploy for this configuration. 所以我将装饰器[Activity(MainLauncher = true)]到MainActivity中。 我检查了在Build- Build-> Configuration Manager ,检查了AnyCPU,Build和Deploy。 重新启动,相同的结果,没有在设备上启动并给出相同的消息。 […]

在启用链接器的情况下,将MvvmCross从4.2.3更新到4.4.0后,Android EditText绑定中断

由于MvvmCross从4.2.3更新到4.4.0,之前正在运行的MvvmCross Android应用程序已被破坏 public string Login { get { return _login; } set { SetProperty(ref _login, value); } } LinkerPleaseInclude当然: public void Include(EditText text) { text.Enabled = !text.Enabled; text.TextChanged += (sender, args) => text.Text = “” + text.Text; text.Hint = “” + text.Hint; text.Click += (s, e) => text.Visibility = text.Visibility – 1; } public void […]

JsonSerializationException’无法在Xamarin.Android上find构造函数’

我的代码有一个非常奇怪的问题,这是一个很新的问题,考虑到半年前我没有它。 长话短说,我在Xamarin制作了一个应用程序,大约半年前在所有3家商店(App Store,Google Play和Microsoft Store)上发布了它。 昨天用户报告了Android应用程序的问题,在我修复并重新编译之后,我现在遇到了Json.NET的新错误 例外是 Newtonsoft.Json.JsonSerializationException: Unable to find a constructor to use for type Rowlog.Common.Dtos.CompressedTripData. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute. Path ‘tripCoordinates’, line 1, position 19. 在你问之前,是的Rowlog.Common.Dtos.CompressedTripData确实有一个无参数构造函数(嗯,它根本没有一个,我们都知道它是一样的)。 就像我说的那样,这是我在Android设备上从服务器加载CompressedTripData对象的时候。 在iOS和Windows Phone上加载完全相同的对象可以毫不费力地工作。 我猜它是Json.NET或Xamarin.Android最近的一个变化,这导致了这个问题(其他应用程序大约半年前仍在使用Json.NET库。不确定是否有过任何更新,因为) 有没有其他人遇到类似的问题,如果有的话,你是如何解决它的?