Questions tagged «application-development»

为Ubuntu(包括Ubuntu Touch)编写应用程序,以及有关向Ubuntu Software Center提交应用程序的问题。这涵盖了开源和商业应用程序。

3
可以在Ubuntu SDK中使用Python吗?
David Planella在他对我发布的问题的回答中写道: ... 为Ubuntu开发应用程序的推荐方法是Ubuntu SDK。 所以我安装了它,但是看起来支持的编程语言是C ++。这是否意味着我需要了解C ++才能为Ubuntu开发新的应用程序?现在,C ++是Ubuntu应用程序的推荐编程语言吗? 那么Python,我开始学习它,希望为Ubuntu开发应用程序。

4
如何编写在Ubuntu和其他发行版中将显示的状态图标?
有问题的应用程序会执行某些操作(此处将音频连接到网络流),并且如果这些操作成功,则运行最少。因此,需要一个状态图标来显示连接状态(例如CONNECTED / DISCONNECTED)。仅当单击该图标时,应用程序窗口才会打开以提供对其他选项的访问。 使用python 2.6和pyGtk我通过使用gtk_status_icon方便地实现了这一点。我特意编写了该应用程序,使其能够在尽可能多的发行版(包括各种Ubuntu版本)上运行。只有在用户安装了依赖项后,我才注意使用它们。 但是,现在我听说将来的Ubuntu版本将不再支持gtk_status_icon。要求开发人员改用应用程序指示器。那么什么是最佳实践来确保: 应用程序的本地图标显示正确 该应用程序仍将运行,并在未来的Ubuntu版本中显示其图标。 该应用程序将同时运行,并在其他环境中显示它的图标指示的小程序,libappindicator和蟒蛇,appindicator不提供。 如果指标小程序未运行,则gtk_status_icon的应用程序指标回退机制将不起作用。如果没有要导入的appindicator模块,Python解释器将不会运行。我是否需要针对不同的发行版开发不同的版本,还是有更好的方法来解决此问题? 除了Ubuntu Wiki中给出的示例外,在哪里可以找到有关如何使用ApplicationIndicator的文档?提供了哪些命令来检查indicator-applet是否正在运行,从而避免为Ubuntu发行版和非Ubuntu发行版编程不同的源代码?


5
我应该学习什么编程语言才能成为Ubuntu开发人员?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 尽管我曾经将NetBeans用于一个项目,但要成为一名成熟的Ubuntu开发人员,我需要学习哪些语言? 我在NetBeans(仅Java)中的项目是设计一个计算器(相对容易)。此外,我们如何学习制作图像查看器,浏览器等? 另外,对于某些应用程序,最佳的语言是什么?

2
在某些程序中,黑色标题小部件是什么?
在某些ubuntu程序(ubuntu控制面板,系统设置)中,而在女妖等中则没有,窗口的顶部包含深色元素(带有“氛围”主题)。但是我找不到自动执行此操作的标准小部件。 这些颜色都是手工设置的吗(而不是标准的小部件和主题)?并且,如果手动设置它们,它们在主题中来自哪里(gtk_widget_modify_bg(widget,GTK_STATE_NORMAL,&color)中的参数是什么)? 编辑:它似乎不是一个简单的Gtk.Toolbar。如果我运行以下代码: from gi.repository import Gtk window = Gtk.Window() window.set_default_size(200, -1) window.connect("destroy", lambda q: Gtk.main_quit()) toolbar = Gtk.Toolbar() window.add(toolbar) toolbutton = Gtk.ToolButton(stock_id=Gtk.STOCK_NEW) toolbar.add(toolbutton) window.show_all() Gtk.main() 我得到一个这样的窗口: 工具栏没有暗色调。 EDIT2:尽管在大多数程序中j-johan-edwards的“具有特殊上下文的工具栏”的答案是正确的,但在ubuntuone-control-panel中却并非如此。该程序有一个GtkVBox,它可以包含任何范围的小部件(不同于工具栏)。我仍然无法确定gtk主题如何知道如何绘制窗口的该部分。 但是无论如何:就我而言,工具栏已经足够...

2
应用程序审查委员会如何工作?
根据https://wiki.ubuntu.com/AppReviews,应用程序审核过程对于上游软件开发人员和Ubuntu打包程序均适用。重点似乎是,上游开发人员的优势是可以更快,更轻松地将其应用程序进入软件中心,同时可以通过准备打包应用程序来帮助Ubuntu软件包管理者。 这似乎很多。Wiki上的说明指出,开发人员将执行此处列出的某些步骤,包括将应用程序上载到PPA,并请求审阅,并在经过一段时间后进行审阅,并接受并包含到Ubuntu存储库中,或者根本不接受。 尽管这看起来像是一种简单,公平的方法,可以将应用程序快速添加到软件中心,但我认为我缺少了一些东西。我注意到,虽然有一些请求待处理,但那里没有(或几乎没有)活动。一切似乎都大约在5-6个月前被冻结了,闻起来有点被遗弃。 我是否理解错了什么,一切都还好(例如,仅在UDS进行了审核?),还是发生了某些变化?任何人都可以解释我清楚,如何准确的评论(和融入库)作品的过程?

2
我如何开始为Ubuntu Touch开发应用程序?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我对尝试用于电话OS开发的新Ubuntu感兴趣。(我不是Ubuntu开发人员,我是Ubuntu的新手。在Ubuntu Touch预览版的印象中,我有兴趣学习如何为其开发)。 我从哪里开始呢?我在Ubuntu网站上找不到任何指导。

2
如何读取dbus-monitor输出?
我正在与dbus-monitor一起玩,以尝试了解dbus在Ubuntu环境中的工作方式。在这方面,我有几个问题: 您能否让我知道如何正确阅读以下内容?我了解大创意,但不了解细节。 signal sender=:1.1948 -> dest=(null destination) serial=1829990 path=/org/ayatana/menu/DA00003; interface=org.ayatana.dbusmenu; member=ItemPropertyUpdated int32 23 string "enabled" variant boolean true method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1399 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetCapabilities 我知道第一个是信号,而第二个是方法。目的地是否意味着信号可以有特定的接收器/插槽?什么是会员?信号之后的列表项是否在信号中传递了参数?什么是发件人和序列号? 我注意到了音量控制和通知之间的关系。从我从dbus-monitor输出中读取的内容 method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1400 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify string "gnome-settings-daemon" uint32 0 string "notification-audio-volume-medium" string " " string "" array …

4
桌面应用程序的开发人员资源?
在developer.ubuntu.com上,大多数资源似乎都针对Ubuntu touch。如果要编写Ubuntu桌面应用程序,该从哪里开始? 桌面版的Ubuntu SDK也是吗?我读到实际上实际上更针对移动应用程序。 鉴于Ubuntu SDK尚未准备好用于桌面,我正在寻找在Ubuntu上开发桌面应用的可用选项,以突出每种解决方案的优势和劣势。

1
如何为好友添加对新服务的支持?
随着新的friends-app在Ubuntu中的登陆,我想到在时间轴上添加对Instagram的支持将是很酷的。我还以为自己可能会对此感到怀疑,但是我很难找到任何文档。 是否有规范描述每种协议需要什么?身份验证如何工作?是否需要先将支持添加到ubuntu-online-online帐户,或者有没有办法让朋友注册新协议? 它非常新,很难用Google命名,因此任何指向正确方向的指针都将不胜感激。

1
Ubuntu Touch将如何处理应用程序权限?
Android和iOS平台上的应用程序之间共享的硬件或数据集的大多数元素均受到严格控制,并且仅在需要了解的情况下明确提供给应用程序。例如,这可以使用户确保恶意手电筒应用程序没有上载其位置和联系人列表。 在Ubuntu的桌面上,实际上有两个权限控制级别:用户和root。在用户的情况下,没有太多限制。它仍然可以连接到Internet,可以与大多数喜欢的硬件接口,并可以读写中的任何文件/home/user/。该模型假定用户足够胜任,可以确保他们使用的应用程序是合法的(使用开源软件非常容易)。 所以我的问题是,在移动平台上将对应用程序功能进行哪些类型的限制和控制?而且由于它们都是相同的操作系统,该系统将如何溢出到桌面中?所有程序都需要沙盒化吗? 我很想知道这个计划:) PS。我喜欢iOS在Android上的实现方式的一件事是,首次运行时,许多权限必须由用户明确批准。结果是,如果您不想告诉Facebook应用程序您所在的位置,则可以禁用它,而在Android上则只需卸载该应用程序并获得Get Over It™。 我的系统希望看到是它请求允许以“仅此一次”和“总是”选项,当应用程序需要该权限执行命令。想在地图上找到自己吗?要求位置许可。就像处理某些HTML5 API的方式一样。

2
如何遵守本指南向软件中心提交申请?
我正在阅读《Ubuntu开发人员计划协议》,该协议将应用程序提交给软件中心,并在以下条款中加了字样: 3.1您必须首先测试您提交的应用程序,以确认它们与当前所有受支持的Ubuntu版本(在您提交之日在Canonical网站上列出的版本)兼容,并且您的应用程序必须符合发布政策。 这是否意味着我必须同时安装32位和64位版本的Ubuntu 8.04、10.04、10.10、11.04和11.10?如果是这样,那就是Ubuntu 的10个安装-真的可行(即使是在虚拟机上)吗? 或者,是否有人建议测试应用程序而无需实际安装每个版本?chroot也许是某种工具? 编辑:我已经开始设置chroot用于编译和测试应用程序的环境。是否认为这是测试,因此满足许可协议的要求?

4
使用Python,GIR和GTK3编写指标
我正在编写一个需要使用指示器的应用程序。过去,我使用PyGTK和GTK2来完成此操作,并以此文档作为参考:https : //wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Python_version 但是,这仅适用于PyGTK和GTK2。从那时起,事情发生了变化,我需要找到一些好的文档,教程或一个好的例子来学习它的工作原理。 另外,前面提到的文档根本没有描述的一件事是如何向指标添加子菜单。我希望有人能对此有所启发,以及如果使用同一工具完成与类别指标的集成,那么我将对此有所启发。 谢谢。

1
是否有关于appindicator的python绑定的详细API文档?
我对自己的项目很认真,并且需要有关python的appindicator模块的良好文档。到目前为止,我发现了什么: dev.ubuntu.com上的API文档 社区Wiki条目 有关C代码的API文档 不错的博客文章 他们怎么了: 只是一个列表,没有对参数,返回值以及方法的作用进行解释 仅设计注意事项和背景-对实际编程无济于事 缺少python模块的东西(例如create_menu_from_desktop) 许多有用的信息已压缩但不完整 因此,基本上,我需要像3.一样详细的内容,但需要使用python模块。 我的问题的例子: 无效build_menu_from_desktop(desktop_file,desktop_profile) 参数应该是什么,该方法做什么?我的猜测是,该方法从“ * .desktop”文件创建菜单项。但是,如果是这样,为什么它不仅仅需要那个文件就需要更多的参数?文件中从菜单项中提取哪些条目?像这样的问题,我很难找到答案。

2
我可以在没有PyQt许可证的情况下出售我的PyQt4-app吗?
我想出售一个使用PyQt4的Python应用程序。Qt PyQt的商业许可证合计花费数千欧元。我需要购买商业许可证吗? 从“打包”的角度考虑这一点,我将通过软件中心提供Ubuntu软件包。我的软件包将“依赖”现有的Ubuntu Python和PyQt软件包,因此我是否需要许可Ubuntu正在重新分发的内容,而不是直接发行? 相反,如果我的软件包中确实包含了GPL / LGPL Python库,我的软件包将能够保持非自由状态吗?我不能只提供GPL库的源代码(如果已修改)吗? 如果答案是“您需要商业许可证”,那么您是否知道还有其他更便宜的选择(例如基于特许权使用费的付款,而不是预先支付的开发人员费用)?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.