这个问题与推荐的架构和人们以前分别使用C#,Monotouch和Monodroid开发的跨平台WP7,iOS,Android应用程序的体验有关.我在这里,这里和这里都研究过以前的问题.他们提供了很好的答案,但不是我想要的.我也发现这个优秀的问题确实涉及成本效益,因此存在一些重叠.
我需要为健康和健身公司开发一个跨平台的iPhone/iPad,WP7和Android应用程序,它将与他们的网站集成.当网络可用时,该应用程序需要少量本地数据存储用于离线模式和与网站同步.我是一个Windows(C#/ C++)开发人员,并且不想真正想要沿着三个Objective C,Java和C#应用程序的路线走下去,尽管我会这样做.我还将担任技术主管,并为该项目的团队开展一些工作.
我想知道是否有人在使用Monotouch,Monodroid和WP7进行跨平台开发方面的经验,并分享他们在应用程序架构方面的经验,以尽可能多地重用代码.我正在考虑的架构如下:

我的问题如下:
最好的祝福,
在Xamarin Android中 - 如何重新生成Resource.designer.cs
我试图将所有XML文件的Build Action标记为"AndroidResource",并且仍然不会使用新值更新Resource.designer.cs.
什么事件触发生成此文件?
我正在构建一个Android应用程序,它使用在此处找到的自定义构建的TwoDScrollView:
http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/
可以在其他几个网站上找到同一个类,Stack Overflow上的其他人也提出了有关它的问题.我在以前使用Java/Eclipse构建的Android应用程序中使用它,并且我取得了成功.
在我目前的应用程序中,我想使用C#和MonoDroid.我决定用C#重写整个TwoDScrollView类.在重写它,然后在一些布局XML中使用它之后,我在尝试运行我的代码时遇到以下异常:
抛出了System.NotSupportedException.无法从本机句柄44f4d310激活MyProject.TwoDScrollView类型的实例.
System.Exception:找不到MyProject.TwoDScrollView ::.ctor(System.IntPtr,Android.Runtime.JniHandleOwnership)......的构造函数......后面有更多文本....
我的布局XML如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<myproject.TwoDScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</myproject.TwoDScrollView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
根据以下链接中有关在MonoDroid中使用布局XML中的自定义视图的说明:http://docs.xamarin.com/android/advanced_topics/using_custom_views_in_a_layout
TwoDScrollView类的构造函数如下所示:
public TwoDScrollView(Context context)
: base(context)
{
initTwoDScrollView();
}
public TwoDScrollView(Context context, IAttributeSet attrs)
: base(context, attrs)
{
initTwoDScrollView();
}
public TwoDScrollView(Context context, IAttributeSet attrs, int defStyle)
: base(context, attrs, defStyle)
{
initTwoDScrollView();
}
Run Code Online (Sandbox Code Playgroud)
C#版本中存在与Java版本相同的构造函数(可以在上面的链接中找到).什么可能出错?如果有人想看,我可以发布我的TwoDScrollView的完整C#代码.除了用C#重写之外,它基本上与位的Java代码位相同.
谢谢你的帮助!
android scrollview android-custom-view android-layout xamarin.android
我想同时运行多个Xamarin Studio副本.一旦运行一个副本,双击Xamarin Studio图标/Applications或单击当前正在运行的Dock图标只会将当前的图标带到前台.
macos xamarin.ios xamarin.android xamarin.mac xamarin-studio
基本上我是超级新手,并开始在IT公司实习.我用Xamarin安装了VS. 我面临的问题非常令人沮丧.所以即使我创建空项目我也无法编译它并得到如下错误:
严重级代码说明项目文件行抑制状态警告主要版本52比51更新,这是此编译器支持的最高主要版本.
我搜索了整个谷歌并问了这么多人,仍然没有解决我的问题.如果有人可以通过skype或teamwiever帮助我,我会非常感激.我的Skype:toniterdal,随时加我.
我想知道是否可以在Ubuntu上运行Xamarin.我不喜欢java,所以我想用C#制作Android应用程序.
是Ubuntu的一个包,因为到目前为止我还没有见过一个?
要么...
我可以使用Wine在Ubuntu上运行Xamarin吗?
要么...
是否有在Ubuntu上运行的替代软件(具有相同的功能)?
我正在尝试在我的Xamarin.Android项目中使用Proguard,但编译失败并出现错误 Unsupported class version number [52.0] (maximum 51.0, Java 1.7)
我从这两个 问题中看到,它可能与Java 7和Java 8不匹配,更确切地说,某些版本的proguard不支持Java 8.但是在Xamarin首选项 - > SDK位置中,Java SDK指向JDK 7:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
是否有更精确配置proguard的地方?还有其他想法吗?
这是失败日志:
java.io.IOException:无法读取[/Library/Frameworks/Xamarin.Android.framework/Versions/7.0.0-18/lib/xbuild-frameworks/MonoAndroid/v7.0/mono.android.jar](可以在proguard.InputReader.readInput中的proguard.InputReader.readInput(InputReader.java:230)处理类[android/app/ActivityTracker.class](不支持的类版本号[52.0](最大51.0,Java 1.7))) InputReader.java:200)在proguard.InputReader.readInput(InputReader.java:178)的proguard.InputReader.exe执行(InputReader.java:78)proguard.ProGuard.readInput(ProGuard.java:196)proguard.ProGuard.执行(ProGuard.java:78)在proguard.ProGuard.main(ProGuard.java:492)引起:java.io.IOException:无法处理类[android/app/ActivityTracker.class](不支持的类版本号[ 52.0](最大51.0,Java 1.7))proguard.io.ClassReader.read(ClassReader.java:112)位于proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)的proguard.io.JarReader.read(JarReader) .java:65)在proguard.io.Director progPard.readFiles(DirectoryPump.java:65)中的progPard.EndoryPump.pumpDataEntries(DirectoryPump.java:53)中的yPump.readFiles(DirectoryPump.java:65)... 6更多引起者:java.lang. UnsupportedOperationException:proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:88)中proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140)中不支持的类版本号[52.0](最大51.0,Java 1.7)在proguard.classfile.ProgramClass.accept(ProgramClass.java:346)的proguard.io.ClassReader.read(ClassReader.java:91)... 11更多
9警告1错误
我整理了一个相当简单的Mono for Android应用程序,它只是在后台服务中播放"AndroidResource"MP3(复制自Greg Shackles最新的Visual Studio Magazine关于MfA中后台服务的文章).我把代码放在一起,使用我自己的自定义MP3文件,并尝试构建它,只是为了得到这个可爱的错误.
"aapt.exe" exited with code 1
Run Code Online (Sandbox Code Playgroud)
这是错误列表和构建输出日志中的唯一信息.
我正在为Android和iOS开发xamarin表单应用程序.我正在使用Parse SDK实现PushNotifications.我在.iOS项目的参考文献中引用了.Droid项目和Parse.iOS dll中添加了Parse.Android dll.我的问题有时在Android上我无法检索DeviceToken.解析安装类中没有DeviceToken和pushtype的条目.它的值是"未定义的".下面是我的代码以及清单.
public async void RegisterForPushNotifications ()
{
try {
if (Utility.isNetworkConnected ()) {
await ParsePush.SubscribeAsync ("");
var installation = ParseInstallation.CurrentInstallation;
// I'm saving the DeviceToken in App.regId for future uses
App.regId = System.String.IsNullOrWhiteSpace (installation.DeviceToken) ? "" : installation.DeviceToken;
ParsePush.ParsePushNotificationReceived += PushNotificationReceived;
}
} catch (ParseException e) {
System.Diagnostics.Debug.WriteLine (e.StackTrace);
} catch (Java.Lang.Exception e) {
e.PrintStackTrace ();
}
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.nirvaniclabs">
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" />
<application android:label="RxLifetime" android:icon="@drawable/icon" android:largeHeap="true">
<receiver android:name="parse.ParsePushBroadcastReceiver" …Run Code Online (Sandbox Code Playgroud) 我已经开始使用Visual Studio的Xamarin插件来创建一个Android应用程序.
我有一个本地SQL数据库,我想调用它来显示数据.我不明白我怎么做到这一点.可能吗?
xamarin.android ×10
android ×5
c# ×4
xamarin ×4
xamarin.ios ×2
aapt ×1
macos ×1
mobile ×1
mono ×1
scrollview ×1
sqlite ×1
xamarin.mac ×1