Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
365 views
in Technique[技术] by (71.8m points)

xamarin.ios - Code sharing between MonoTouch and MonoForAndroid

What would be the best practice to share busines logic c# code between MonoTouch and Mono For Android projects?

Edited: Initially, my question was about the physical file sharing:

  1. What do you propose to use: network file sharing or some code version control (git, svn)? In my case I am using two workstations - Mac (MonoDevelop with MonoTouch) and PC (Visual Studio with MonoDroid).
  2. What about Solution/Project folder structure? In "Blog Post: Xamarin Mobile World Congress 2012 Unofficial Conference App Released!" example structure is quite confusing: several solutions in one folder and then different platform projects in one subfolder with different folder and project names. It can not be accomplished nativly with IDE. Are they editing content of solution files and folder names manualy outside of IDE environment?
  3. And for projects of common code what kind of profile (template) to use? Monotouch has several: Empty Project, MonoTouch Library Project and MonoTouch Binding Projects? In Android i supose - Android class library?
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This is a very general question, but here are a few resources that may help you get started:

  1. Video: Cross-platform Mobile Development
  2. Blog Post: Shared Libraries For Windows Phone 7, MonoDroid and Beyond
  3. Book: Mobile Development with C#
  4. Blog Post: Xamarin Mobile World Congress 2012 Unofficial Conference App Released!

Edit (to answer your new questions)

  1. The idea behind linking files across projects is that there is only one actual copy of the file, rather than having to manage multiple copies and keep them in sync yourself. The file will actually exist in just one project and be linked into the others, but when the projects are compiled it treats the file as if it were actually there.

  2. I can't speak to exactly how they created their folder structure, but I know there have been many cases where I would manually edit project or solution files to get the folder structure I want, because there was no way to get what I wanted through the IDE alone. This really boils down to personal preference on how you want your folders to be structured.

  3. In the end, what you need is a class library project for every platform you want to target. When going with the linked file approach, it's totally up to you where you put the physical files. One approach I use often is to actually create a standard .NET 4.0 class library, put the files in there, and then link them into my Mono for Android and MonoTouch class libraries. If all you care about is targeting iOS and Android, that may be more trouble than it's worth, and you can just let the files live in one project and link them into the other.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...