android - MonoTouch+MonoDroid : Common business objects with Images

标签 android ios mono xamarin.ios xamarin.android

我正在构建一个项目,该项目同时具有 AndroidiOS 客户端以及 MonoTouchMonoDroid。公共(public)业务层项目包含公共(public)域实体。

其中一个需要存储图像、姓名和年龄。图片未下载。

是否可以创建一个通用对象来保存 PNG 或 JPG 的实际数据,但它在 iOSAndroid 中都可行?

///Simplified customer
class Customer {
   public Image???;
   public string Name;
   public Int Age;
}

最佳答案

选项:

  1. 将 Image 表示为 byte[] 或 MemoryStream/Stream
  2. 使用原生平台特定代码需要部分类和链接 Customer.cs 中的通用类 - 通过项目链接我将这种方法称为 split-n-link 或链接拆分

    公共(public)部分类客户{ 公共(public)字符串名称; 公共(public)诠释年龄;

monotuch 项目中 monotuch 的 delta 类

public partial class Customer {
    public UIImage;
}

m4a 项目中 android 单声道的增量类

public partial class Customer {
    public ImageView;
}

因此,每个项目都将包含 Customer.cs 一个原始/来源和其他链接,如果处理 Windows Phone,哪个取决于偏好或共同特征分母(目前它具有最小的特征集 - 更好的是更严格)。 除了主/原始/源 Customer.cs 文件外,还有 2 个(如果是 WP,则为 3 个)平台增量 具体的东西。请记住,部分类是“可加的”,这意味着您可以在不同的 cs 文件中添加属性并且它们适用,因此在此增量类中,您可以添加特定于平台的属性,并在需要时启用诸如绑定(bind) iOS 广告/或 Android 之类的东西。从 Holisticware 经验(Visual Studio 中心 80% 以上,Mac 上 20% 或更少)源项目是 Android 的 Mono,但它可能是相反的...

使用 link-n-spilt 基本上可以得到 POCO + delta,这个 POCO 可用于定位桌面平台(WF、WPF),在这种平台上一切都更容易:调试、单元测试等。

每个项目都是使用该平台的配置编译/构建的优势 - 所以来自 Xamarin 的 ig 家伙提出了一些其他构建的好主意,比如大小优化,这不应该影响项目 - 重新编译并开始!

HTH 梅尔

关于android - MonoTouch+MonoDroid : Common business objects with Images,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712556/

相关文章:

ios - 如何使用 SwiftyJSON 解析字符串数组?

c# - 单体机器人 : Intermittent failure when reading a large json string from web service

c# - 如何将 ClusterRouterPool 从 C# 转换为 HOCON 配置?

android - SensorEvent.timestamp 到绝对(UTC)时间戳?

ios - 使用 SwiftyJSON 解析 JSON - 更新 UI 时遇到问题

iphone - NSFetchedResultsController 和 executeFetchRequest 之间是否应该存在 UITableView 性能差异?

macos - MRE和MDK安装程序之间的差异

java - 从一个类在 webview 中打开 url?

java - 通过 json 对象、Android 和 google map api 从自动完成搜索功能获取位置信息

java - 如何使用带有 json 的 Map 从数据库设置 map latlng 值?