【问题标题】:how to (organize) the interaction between the Android UI (HTML, CSS) and native code (Java)?如何(组织)Android UI(HTML、CSS)和原生代码(Java)之间的交互?
【发布时间】:2014-08-01 05:59:55
【问题描述】:

下午好。

我赶紧补充一下,我是 Android 开发的新手。我正在编写一个地理定位服务(应用程序)。

提供 Google 的用户的标准元素不适合我。在许多互联网上曾经遇到过信息说您可以使用 CSS 和 html 为 Android 编写用户界面。

在阅读了有关该主题的大量信息后,我意识到大多数开发人员倾向于使用框架(PhoneGap..)。但这种方法不适合我,原因有两个:

  1. javascript - 到处都在用,我不知道
  2. 缺乏足够的(可理解的)文档或框架指南。

正是由于这些原因,我想知道是否可以在不使用框架的情况下使用 html 和 CSS 以及 Java 中的所有功能编写用户界面。

作为回退接口和本机代码之间的通信,即使有 javascript 的帮助,但不使用框架。

附:我的英语不好 - 我希望你明白我的问题的重点。希望对您有所帮助。

【问题讨论】:

  • 抱歉,我没有找到本地代码的来源。
  • @HericDenis:在这种情况下,我的意思是这是一个 java
  • 好吧,我认为本机代码标记在这里不适用,因为它甚至不是您问题的重点,而且 Java 不是本机(至少在我看来)。
  • @HericDenisYou:你有权表达他们的观点。然而对于 Android,Java(后端)+ XML(前端)是一种经典的方法。
  • 好吧,那只是因为我认为本机术语仅用于引用像 C 这样的语言,我只是很感兴趣(:

标签: java android html css native-code


【解决方案1】:

通常,Android 应用使用特定于 Android 的 XML 定义 UI,代码使用 Java 或 C/C++(如果确实需要)。

也许您可以在您的 Android 应用程序中使用 WebView,这将显示来自您的 assets 目录的 html 页面。

这样的 html 页面中可以包含 javascript,这将在您的代码中调用一些钩子。我相信在The Busy Coder's Guide to Advanced Android Development第1章这本书中有描述

【讨论】:

  • 感谢您的建议,我希望这本书对我有所帮助,如果不是以不同的方式解决这个问题。
【解决方案2】:

是的,你可以。 您的 html+css 将全部位于 webview 中,并且有一些元素(如 webview 客户端)可以与 webview 内部的内容进行通信。

但我想给你一个警告: 每个基于 Web 的应用程序都比适当的原生应用程序更慢且界面更差。此外,在不使用框架的情况下,您仍然需要了解大部分原生内容。

【讨论】:

  • 您建议我做什么 - 自定义标准用户界面元素或了解框架的深度?
  • 我通常从哲学出发,以正确的方式做事。但这是非常个人的看法。因此,只需阅读书籍、教程等,然后学习它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 1970-01-01
相关资源
最近更新 更多