关于b4a ,b4x 的 许多 不解

acj200301

Member
用了 一段 时间 b4a 了 , 也 写 了 几个 工程 , 但是 , 因为 英文 水平 一般 ,及 对 java 的 不 了解 ,

现在 对 B4A仍 有 很多 迷惑 和 不清楚 的 地方 , 现举 出 几处 ,望 能 得到 论坛 中 朋友 的 解答 ,

我 写 的 几个 工程 ,都 是 b4a , 不涉及 b4i 等 , 感觉 说明书 里 说 的 ,要想 让 苹果系统 和 安卓 都能 用 ,就得 写 b4x 工程 , b4a 工程 是 不能 被 苹果 手机 用 的 ,我 这个 理解 对吗 ?

论坛 里 贴 出 的 许多 代码 ,【其 左上角 都 标注 着 b4x 这个 字符 】, 是否 这样 的 代码 都是 在 b4x 工程 里 写 的 ?所以 或许 b4a 能用 这样 的 代码 ,或许 b4a 不能用 这样 的 代码 ?

论坛 里 的 一些 代码 ,比如 ,
#AdditionalJar: alipaysdk-15.8.03.210428205839.aar ' 应用 aar 等 其他 类库 ,
#AdditionalJar: classes.jar
'import anywheresoftware.b4a.BA.DependsOn
@DependsOn(values={"alipaysdk-15.8.03.210428205839.aar"})

似乎 只能在 b4x 工程 里 才 能 用 , 似乎 在 b4a 工程 里 不能 用 这样 的 代码 ?

综上所述 , 【似乎 我 应该 把 我 已经 写 好 的 几个 b4a 工程 改为 b4x 工程 ??? 这样 才能 让 我 的 工程 能 有 更多 的 功能 】,

感觉 教程 里 b4x 包括 b4a ,看 论坛 里 的 代码 时 ,感觉 b4x 和 b4a 却 是 不同 的 东西 ,

论坛 中 很多 朋友 使用 b4a 的时间 更 久 ,特别 是 aeric 先生 ,更 是 中文 方面 的 专家 ,一定 比 我们 理解 的 更 多 。
 

aeric

Expert
Licensed User
Longtime User
传统上,我们使用 B4A 进行开发,然后将部分代码复制到 B4i。 有时某些代码仅适用于 B4A 而不适用于 B4i。

现在,我们可以选择使用 XUI View 控件和一个名为 B4XPages 的新框架。 正如 Erel 所说,使用 B4XPages 开发跨平台应用程序要容易得多。

起初,如果您一直只为 B4A 编写代码,那么理解 B4XPages 概念有点困难。 尝试下载示例工程并运行它。 概念是只写 1 个由 3 个平台共享的 BAS 文件。

[B4X] 标签意味着它不仅限于 1 个平台。 这意味着该工程适用于 B4A,并且还支持 1 个以上的其他平台。
B4X = B4A + B4i
或者
B4X = B4A + B4i + B4J
或者
B4X = B4A + B4i + B4J + B4R
或者 ...

没有 B4X 工程。 我们需要使用相应的IDE分别开发各个平台。 但是正如我上面提到的,我们使用一个通用模块在不同平台之间共享代码。B4A编译成apk和B4J编译成jar都是Java代码存档。我们可以使用 JavaObject 库并编写 "inline Java" 来添加到我们的 B4A 和 B4J 工程中。在 B4i 中,我们不能添加 "inline Java",但我们可以使用 NativeObject 库来包含等效的 Objective-C 代码。但是,有时第三方 .jar 或 .aar 不能直接在 B4A 或 B4J 中使用。 我们需要先包装这些jar库。

你指的是什么功能?

感觉 教程 里 b4x 包括 b4a ,看 论坛 里 的 代码 时 ,感觉 b4x 和 b4a 却 是 不同 的 东西 ,
也许 B4X 的定义存在混淆。
B4X 是 B4A、B4i、B4J 和 B4R IDE 使用的一种编程语言
B4A、B4i、B4J 和 B4R 是集成开发环境 (IDE) 软件
B4X 还意味着它支持多个平台,即那些工程或库可以使用在 B4A IDE 进行编译时作为 Android 和 B4i 作为 iOS app。
实际上,我们可以使用两种方法开发 Android 和 IOS 应用程序。 在每个 IDE 中创建 Default 工程或使用一个 IDE(推荐使用 B4J)为 3 个平台创建 B4XPages 工程。

事实上,我不是中文专家。 我仍在使用谷歌翻译来阅读您的消息。 我尽量尝试把我的英文信息翻译成中文,希望没有离开原本的意识太远。
 

aeric

Expert
Licensed User
Longtime User
我举个例子。 我使用 B4J 开发的“Web API”服务器项目,在里面我附加了一个“Web API Client”项目。 我可以将项目视为 B4X,因为在内部我有 3 个不同平台的项目。 我使用“B4XPages”和“XUI Views”来创建所有应用程序。 布局的设计 (Layout Design) 可以从一个平台复制到另一个平台,然后做一些微调。


GitHub:
 

acj200301

Member
aeric 先生 的 解答 解决了 我 对 b4x 和 b4a 的 混淆 ,我 基本 确定 了 ,我 需 使用 XUI View 控件和 B4XPages 新框架 来 改造 我 已经 写好 的 工程 ,当然 ,这 需 重新 开始 学习 XUI View 控件和 B4XPages 。

并且 ,解决 了 【 论坛 里 贴 出 的 许多 代码 ,其 左上角 都 标注 着 b4x 这个 字符 】的 困惑 ,

对于 ,
#AdditionalJar: classes.jar
'import anywheresoftware.b4a.BA.DependsOn
@DependsOn(values={"alipaysdk-15.8.03.210428205839.aar"})

这样 的 句子 ,在 使用 .aar 类库 方面 的 作用 , 只有 ,待 我 学习 B4XPages 后 ,才能 进一步 了解 ,

若 使用 JavaObject 库 处理 .aar , 更是 需要 学习 更多 的 东西 后 才 能 掌握 ,

我 指 的 让 我 的 工程 增加 更 多 的 功能 ,就 是 ,指 ,增加 能够 使用 .aar 类库 的 功能 ,这样 ,才能 使用 外部 的 .aar 类库 ,处理 一些 事情 ,比如 中国内 的 公司 的 支付模块 等 ,

我 指 的 让 我 的 工程 增加 更 多 的 功能 ,也 包括 让 我的 工程 不仅 能 用于 安卓 手机 ,也能 用于 苹果 手机 ,

现在 的 难点 ,就 是 ,.aar 类库 的 使用 , 下载 了 阿里 公司 的 支付模块 ,sdk ,它 是 .arr 后缀 的 文件 , 查看 了 论坛 里 关于 .aar 的 帖子 , 帖子 提到 JavaObject 库 处理 .aar ,但是 我 的 代码基础 比较 差 ,【 目前 依然 无法 入手 试验 吧 】,

虽然 ,aeric 先生 说 他 不是 中文 方面 的 专家 ,但是 ,当 我 看到 这个 回复 文章 , 我 的 第 一 感觉 是 ,aeric 先生 的 中文 真好 ,这篇 文章 的 中文 表达 比 他 以前 写 的 中文 文章 还要 好 , 我 觉得 ,这篇 回复 里 中文 表达 的 效果 和 水平 和 我们 国内 网友 的 中文 表达 完全 没有 区别 ,
甚至 比 我 的 中文 表达 还 要 好 ,

如果 ,是 用 谷歌 翻译 的 ,那么 ,现在 这 谷歌 的 翻译 水平 也 太 好 了 (谷歌 翻译 的 水平 进步 很 多 ),

最后 ,多谢 aeric 先生 的 解答 ,论坛 里 有 您 这样 的 专家 ,真是 论坛 的 幸运 ,
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…