gpt4 book ai didi

android - 适用于 Android 和 Iphone 的相同 Titanium 代码库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:10 24 4
gpt4 key购买 nike

我一直在尝试为中级应用程序为 Iphone 和 Android 创建一个代码库。 (4 个选项卡、多个窗口、 map 等)使用安腾 2.1 API。然而,我发现 Android 平台上的东西不像在 Iphone 上那样顺利或自愿地工作,特别是 tableviews 和 UI elemnts。 Android 上的 UI 响应速度也很慢。厨房水槽示例非常简单。我正在寻找一个企业就绪的应用程序,该应用程序必须至少在接下来的几年内进行维护。有没有人在类似的平台问题上工作过,并成功地从相同的代码库创建了功能齐全的 iOS 和 Android 应用程序?

最佳答案

我使用编译时 CommonJS 机制获得了很多成功,该机制拥有一个 Root View ,然后具有特定于操作系统的功能。

例如,我的独立于操作系统的 View 可能是 ui/MyView.js :

var createAddButton = require("ui/MyView.AddButton");

var MyView = function() {
var self = Ti.UI.createWindow();
createAddButton(self, function() { alert('ADD!'); });
return self;
};

module.exports = MyView;

然后,我创建特定于操作系统的函数来处理它:

iphone/ui/MyView.AddButton.js

module.exports = function(view, addHandler) {
var addButton = Titanium.UI.createButton({
systemButton: Titanium.UI.iPhone.SystemButton.ADD
});

addButton.addEventListener("click", addHandler);

view.rightNavButton = addButton;
};

android/ui/MyView.AddButton.js

module.exports = function(view, addHandler) {
view.activity.onCreateOptionsMenu = function(e){
var menuItem = e.menu.add({ title: "Add" });
menuItem.addEventListener("click", addHandler);
};
};

他们实现的 CommonJS 系统会选择合适的 MyView.AddButton.js 版本,以便将按钮添加到正确的位置。它允许大多数 View 相同,但特定于操作系统的内容可以正确分开。

关于android - 适用于 Android 和 Iphone 的相同 Titanium 代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com