Articles of C#

如何使用OneSignal发送推送通知时发送一些其他数据?

我正在开发一个Android应用程序以及为它编写C#Web Api。 现在我可以使用下面的代码发送推送通知。 但我必须发送一个json对象,其中包含一个图像的URL,以便当用户点击通知时,应用程序中的活动打开并使用该URL使用Picasso加载图像。 我该怎么办? private void SendPushNotifications(int userId) { string appId = “myAppId”; var request = WebRequest.Create(“https://onesignal.com/api/v1/notifications”) as HttpWebRequest; var user = db.Users.FirstOrDefault(x => x.Id == userId); if (user != null) { string message = “This job is posted by: \n” + user.Name + “\n” + user.Contact + “\n” +user.City; if (request != null) […]

Xamarin表示图像大小不匹配

我正在使用Xamarin Forms实现一个跨平台的应用程序,我正在努力解决一个奇怪的错误:我正在尝试创建一个带有文本的按钮。 为了实现它,我正在使用AbsoluteLayout 。 我为iOS项目添加了一个图像,用于每种iOS分辨率types(.png,@ 2x.png,@ 3x.png)。 使用标准的标签,一切正常。 但是,当以绝对布局包装图像时 – 图像会失去其分辨率比例,并导致边框。 上面的代码: 产生以下内容: 在iPhone 6 + / 6s + / 7 +上(模拟器是iPhone 7 Plus): 这是预期的行为。 在iPhone 6 / 6s / 7上(模拟器是iPhone 7): 请注意图像上的蓝色小边框,在AbsoluteLayout上设置为背景 在5SE / 5s及以下: 注意大蓝色边框。 为了调试这个,我把相同的图像放两次 – 首先在AbsoluteLayout中,然后作为StackLayout中的标准项。 绝对布局中的图像具有比例错误,而没有它的图像则没有。 我有点迷失在这里。 有没有办法破解我们的方式? 我试图创造。 手动分配图像大小的自定义渲染器,但似乎UIImage提供了Xamarin使用的不同大小单位,并且它无法解决Android上的问题。 任何建议将非常感谢! 编辑(3/5/2017):只是为了让您更新 – 似乎这是Xamarin Forms中的一般错误。 我发布的解决方案是一种解决方法,我一遍又一遍地坚持这个问题。 例如,我尝试创建此GUI: 我已经创建了以下代码: 一切都很好,直到我添加图像,这导致以下输出: 如果有人想出如何破解它,我真的很感激他或她是否可以在这里发布解决方案! […]

ListView Creator调用但没有其他方法

这是我第一次使用ListView,我遇到了一些麻烦。 我确信我的技术实现不正确。 然而,经过大量搜索互联网和观看列表视图的教程后,我还没有想出来。 然而,这有时会显示,大部分时间它都没有启动。 当它显示时,它是在屏幕关闭时我运行应用程序并打开设备屏幕并显示列表。 尽管如此,这非常受欢迎。 每次都会调用构造函数,但之后,从不调用Count和GetView。 似乎所有内容都显示在我的main.axml文件中 在我的主要活动中,我追踪了一切,一切都被调用了。 为了给你一些背景知识,我是如何创建我发送到我正在使用的自定义适配器的列表。 我有一个名为RootObject的自定义对象,它包含一个Items列表 var list = JsonConvert.DeserializeObject(response); ListView myItems = FindViewById(Resource.Id.itemView); PIAdapter itemViewAdapter = new PIAdapter(this, list); myItems.Adapter = itemViewAdapter; 这一切似乎都有效 我的适配器构造函数甚至被调用,我可以确认我的列表中有2个项目。 但是,当我在Count和GetView中包含Console.WriteLine时,99%的时间都不会调用它们。 然而,我可以调用构造函数中的所有字段并确认我已填入值,并且在某些条件下它会正确显示。 public class PIAdapter : BaseAdapter { RootObject list = new RootObject(); Activity context; public PIAdapter(Activity context, RootObject list) { this.list = list; this.context […]

使用Xamarin.Forms时,Xamarin.Droid在Visual Studio 2015中导致生成错误

最近,我开始学习使用Xamarin.Forms开发移动应用程序。 我创建了一个应用程序“Hello”,它有六个项目,一个Portable Shared Library项目,一个Android,一个iOS和三个Windows(两个用于Windows 8和Windows 8 Phone,一个用于Windows 10 UWP)。 我正在获取NuGet包更新,我的问题从那里开始。 第一个问题: 更新主要是Android支持库,但其中一个是Xamarin.Forms。 所有这些都得到了更新,除了这个。 我的所有Android支持库包都更新到v23.2.1。 尝试更新Xamarin.Forms时出现以下错误: 所以我决定不更新,然后继续构建项目(我做的唯一修改是在App.cs中,将XAlign更改为HorizontalTextAlign因为我在错误列表中收到警告要执行此操作,所有代码都存在已经是这样),这是我的second problem : 我从Hello.Droid获得了119个错误,Hello.iOS发出了2个警告,Hello.WinPhone发出1个警告,Hello.Windows发出1个警告,Hello发出1个警告(Hello是我的App名称)。 以下是截图: 屏幕截图中不可见的错误具有代码CS0117并且具有以下开头的描述:“’Resource.Stylable’不包含……等等” 我不明白造成这些错误的原因是什么,以及它们的解决方案是什么。 在这里发布我的问题的唯一原因是我无法在互联网上find我的问题的解决方案。 我搜索了很多。 帮助将不胜感激。 PS我已经知道Xamarin专家正试图帮助这个网站的开发人员,所以我请他们试着帮助我。 如果需要更多信息,请告诉我,我会提供。 提前致谢。 编辑:这些是Android支持包: 编辑2:新错误的屏幕截图: 这个问题在这里继续: 第2部分

Java与.Net中的对象生命周期

我正在阅读“通过C#CLR”,似乎在这个例子中,最初分配给’obj’的对象在执行第1行后不符合第2行之后的垃圾收集条件。 void Foo() { Object obj = new Object(); obj = null; } 这是因为局部variables寿命不是由定义它的范围定义的,而是在上次读取它时定义的。 所以我的问题是:Java怎么样? 我编写了这个程序来检查这种行为,它看起来像对象保持活着。 我不认为JVM可以在解释字节码时限制variables生命周期,因此我尝试使用’java -Xcomp’来运行程序以强制进行方法编译,但是无论如何都不会调用’finalize’。 看起来对Java来说不是这样,但我希望我能在这里得到更准确的答案。 另外,Android的Dalvik VM怎么样? class TestProgram { public static void main(String[] args) { TestProgram ref = new TestProgram(); System.gc(); } @Override protected void finalize() { System.out.println(“finalized”); } } 补充:Jeffrey Richter在“CLR via C#”中给出了代码示例,如下所示: public static void Main (string[] args) […]

Xamarin.Android:如何捕获OnClick XML属性中定义的Button事件?

我在RelativeLayout中有这个Button,它包含在自定义ListView行Layout的一部分中。 当用户单击Button时,我希望Button调用此函数: public void myClickHandler(View v) { Console.WriteLine ((v as Button).Text); } 但是,我收到了这个错误 java.lang.IllegalStateException: Could not find a method myClickHandler(View) in the activity class Test_Project.MyActivity for onClick handler on view class android.widget.Button with id ‘editButton’ 我试图区分我在ListView中的不同按钮。 此外,每行有多个按钮。 编辑: 不要在按钮中使用标签,它可能会导致ListView滚动期间性能下降。 以下解决方案是更好的选择。

在Xamarin Android中启用Multi-Dex后出错

在创建Xamarin Android应用程序时,在添加对Infragistics Chart控件和Google Play服务的引用后,我们必须启用’Enable Multi-Dex’属性为true (因为应用程序达到dex方法限制为65K)。 我们收到了一个错误 ..\CREATEMULTIDEXMAINDEXCLASSLIST: Error: Expecting class path separator ‘;’ before ‘\Android\android-sdk\build-tools\21.1.1\lib\shrinkedAndroid.jar’ in argument number 8 我正在使用Xamarin Studio版本5.9(版本431)Xamarin.Android版本:5.1.0 请帮助解决Xamarin中的这个问题。

在Visual Studio 2015中调试本机Android库时,断点不起作用

在全新安装的Visual Studio 2015中,我创建了一个Android应用程序和Android本机库。 通过DllImport指令在应用程序代码中引用本机库中的函数。 当我为主应用程序选择“Xamarin调试器”并开始调试时,我能够在C#代码中停止断点,但调试器不会进入本机函数调用。 当我选择“Microsoft调试器”断点时根本不起作用。 在调试会话期间,所有断点都标记为已禁用,当我指向它们时,会出现以下消息: The breakpoint will not currently be hit. Module containing this breakpoint has not yet loaded. 在VS2015中调试原生Android库需要做什么?

asp.net:如何检测iOS / Android?

我最近推出了一个用C#/。net 4.0编写的Web应用程序,广泛使用jQuery和jQuery UI来提供最佳的用户体验。 但是,有些用户在通过iPhone或Android设备使用本网站时报告了问题。 检测iOS和Android的最佳方法是什么? 这样我就可以调整每个浏览器的UI。

Android上的Xamarin.Forms ListView OutOfMemoryErrorexception

有没有人尝试使用包含图像视图的ItemTemplate的A Xamarin.Forms Listview? 现在,当ListView包含大约20行或更多行时会发生什么? 至于我,我有一个大约4K大小的.png文件加载到图像视图中。 在使用OutOfMemoryError崩溃应用程序之前,最多显示9到12行。 在Android Manifest中请求一个大堆之后,应用程序在60-70行之后崩溃。 我知道Xamarin正在推广使用BitmapFactory类来缩小位图,但这不适用于Xamarin Forms Image View(开箱即用)。 我试图摆弄ImageRenderer的Sub Class,看看我是否可以添加一个BitmapFactory.Options属性,如果这样可以解决问题。 此外,我可能需要检查Xamarin.Forms是否在ViewCell滚动屏幕后处理(回收)包含的位图。 在开始这个旅程之前,我非常希望得到任何可以使这个更简单或更简单的解决方案的评论,认为这个过程是不必要的。 期待…