【问题标题】:C# equivalent of Java snippet for Xamarin.AndroidC# 等效于 Xamarin.Android 的 Java 代码段
【发布时间】:2017-10-26 12:47:10
【问题描述】:

我正在尝试将使用 ORMLite 的 Android 代码库转换为使用 SQLite-net PCL nuget 包的 Xamarin.Android 的 C# 等效代码。

Java:

public abstract class DTAbstractEntity {


}

import entities.DTAbstractEntity;
import com.j256.ormlite.field.DatabaseField;

public abstract class DTAbstractModelEntity<T extends DTAbstractEntity> extends DTAbstractEntity {

    public final static String ID_FIELD_NAME = "uuid";

    @DatabaseField(id = true, canBeNull = false, columnName = ID_FIELD_NAME)
    protected String uuid;

    @DatabaseField
    protected String name;

    @DatabaseField
    protected String path;

    @DatabaseField
    protected boolean completeResponse;

    /* GETTERS */
    public String getUuid() { return uuid; }

    public String getName() {
        return name;
    }

    public String getPath() {
        return path;
    }

    public boolean isCompleteResponse() {
        return completeResponse;
    }
}

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable
public class DTProfile extends DTAbstractModelEntity {

    @DatabaseField
    private int unreadCount;

    @DatabaseField
    private boolean linkedInAuthorised;

    @DatabaseField
    private boolean hasSubscriptions;

    @DatabaseField(foreign=true, foreignAutoCreate = true, foreignAutoRefresh = true)
    private DTLocale localePreference;

    @DatabaseField
    private String loginType;  //email or social login provider ie twitter, google, facebook etc

    /* CONSTRUCTOR */
    public DTProfile() {
        //constructor stub - needed by ORMLite
    }

     /* GETTERS */

    public int getUnreadCount() {
        return unreadCount;
    }

    public boolean isLinkedInAuthorised() {
        return linkedInAuthorised;
    }

    public boolean isHasSubscriptions() {
        return hasSubscriptions;
    }

    public DTLocale getLocalePreference() {
        return localePreference;
    }

    public String getLoginType() { return loginType; }

}

任何人都可以在这里提供他们的指导,以将 Java 代码迁移到其 C# 等效项

【问题讨论】:

    标签: android xamarin.android ormlite sqlite-net


    【解决方案1】:

    我检查了你的最后一个问题:What is the equivalent package of ORMLite used in case of Xamarin.Android application,那里的答案建议使用SQLite 而不是OrmLite,但你没有标记那个答案,所以我猜你不想替换这个@ 987654332@包。

    然后,您可以使用 Xamarin 的 Binding Library 从 Android .JAR 文件为 Xamarin.Android 创建 Xamarin.Android Java 绑定库。

    我测试下载OrmLite android 5.0 jar package 并按照official guide 这里创建一个dll,工作正常。

    如果您想知道如何使用SQLite-net PCL,可以查看:Create a Database with SQLite,您的代码看起来仅用于在数据库中创建表,该文档还提供了创建、连接数据库和插入、获取数据的示例从数据库。这是sample code

    【讨论】:

    • 非常感谢您的回答。我接受了上一个问题的答案:在 Xamarin.Android 应用程序中使用的 ORMLite 等效包是什么 :)
    • @santoshkumarpatro,好的,那么您检查过我在SQLite-net PCL 的答案末尾提供的文档和样本,这没有帮助吗?
    • 我正在尝试那个样本。感谢您的链接:)
    猜你喜欢
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2013-03-20
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多