【问题标题】:Consulting on j2objc with a practical case用一个实际案例咨询j2objc
【发布时间】:2015-02-01 03:16:13
【问题描述】:

我打算将一个 android 应用程序移植到 IOS(ipad 等...),在 google 研究期间我发现了 j2objc。有很多关于 j2objc 的讨论,我不知道它是如何工作的以及什么是可能的。 (我知道,最好从头开始移植一个应用程序,然后相信一个神奇的转换器,它可以完成这项工作。但我也想看看这个:-))

我想在展示中了解它是如何工作的。 (抽象级别)

转换器对以下情况有帮助/工作吗?

我有访问 SQLite 数据库并将数据加载到 ArrayList JavaClass 实例 (Tasks.java) 中的 javacode: - 过程加载数据(); (loader.java)

ArrayList<Task> alTask=new ArrayList<Task>();
Cursor c = sqlitedatabase.rawQuery(sSQL, null);
c.moveToFirst();

while (!c.isAfterLast()) {
    Task t=new Task();
    t.setname(c.getString(0));
    ..
    ..
    alTask.add(t);
}

return alTask;
  • 类任务(Task.java)

    课堂任务{ 字符串 sName=""; .. .. ArrayList alSubtasks; }

如果我想在 IOS 应用程序列表中显示任务,我可以转换我的 java 类,以某种方式将它们绑定到我的 IOS 应用程序中,然后使用转换后的 loaddata() 来使用新的 Array(IOS 语法) 在 IOS UI-List 中显示它? (我将在 IOS 中从头开始编写 UI 列表。)

【问题讨论】:

    标签: java ios j2objc


    【解决方案1】:

    您的总体思路是对的,但不幸的是,SQLite 是一个糟糕的示例,因为您使用的是不可移植的 android.database API。

    有一个request for a portable SQLite library,尚未实现。如果您希望在可用时收到通知,请单击星形图标。

    问题在于,一个功能齐全的库需要大量的原生代码,但在实践中,大多数应用只使用少数几种方法。 Here's an email thread on a way for a developer to implement just the necessary SQLite support methods.

    【讨论】:

    • 非常感谢。这有帮助
    【解决方案2】:

    最简单的方法是使用一些可在 Android 和 iOS 平台之间移植的 SQLite 实现。 j2objc 开箱即用的工具\库集不支持它。

    所以当我遇到这个问题时,我为此开发了一些解决方案:https://github.com/vals-productions/sqlighter

    可以用java编码并转换成objective c,或者进行“并行”编码,这在两种语言中看起来非常相似。自述文件包含一些示例。

    我还没有太多的制作时间,但足够简单,到目前为止对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2017-02-17
      • 2018-01-08
      • 2017-10-17
      • 2011-02-01
      • 1970-01-01
      相关资源
      最近更新 更多