使用 .NET/C# 构建 Android 应用程序与使用 HTML/JavaScript 构建 Android 应用程

本文关键字:构建 Android HTML JavaScript 应用 应用程序 NET 使用 | 更新日期: 2023-09-27 18:30:31

我需要为Android构建一个应用程序,因为我是C#猴子(可能太老了,无法有效地学习Java),所以我更喜欢在.NET中这样做。当我做研究时,我发现MSDN也提供了一个使用HTML/JavaScript的建议(在我的技能范围内也是如此)。

我无法在这两种方法之间做出决定,需要输入。我只有资源来选择一种方法,如果我选择错误,我担心我会陷入一些实用的陷阱。

  1. 我是否需要要求我的用户下载额外的内容(如 Xamarin 运行时间或其他内容),然后才能使用我的应用?
  2. 如何分发应用程序,以便可以像所有其他应用程序一样获取它(Google 商店)?
  3. 除了它不是本机之外,我是否能够创建相同类型的控件、FAB(或任何它的名字)菜单等。

我没有找到太多关于这个主题的信息(除了 Xamarin 和一堆框架,基本上将网页封装在"应用程序"持有者中)。我假设我可以获得与本地人相同的 L&F 但在 VS 下开发,我错了吗?

使用 .NET/C# 构建 Android 应用程序与使用 HTML/JavaScript 构建 Android 应用程

这个答案是针对 Xamarin的。我把它用于我们的安卓应用程序。

  1. 不!所需的一切都捆绑到应用程序中。这确实会稍微增加应用程序的大小。
  2. 编译为 APK - 完成签名。您可以将其部署到Google Play,旁加载等。
  3. 您仍然可以像使用 Java for Android 一样设计 UI。事实上,当我第一次开始使用Xamarin.Android时,我使用相同的Android教程做了很多事情,并进行了一些小的调整。

关于#3的快速说明:我从未使用过Xamarin.Forms。这是我在工作中移植我们的业务线 Android 应用程序后添加到生态系统中的东西。我"原生"地做所有的UI工作。

编辑:

关于您要求澄清我的"XML方法"评论。请注意,我的一些术语略有不准确。

Android 表单分为两部分:布局资源和活动类。在处理"本机"开发时,布局资源使用 XML 标记。以下是Android网站上的Hello World布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:padding="@dimen/padding_medium"
      android:text="@string/hello_world"
      tools:context=".MainActivity" />      
</RelativeLayout>

在活动类中,您将使用以下行分配布局("activity_main"是布局的名称):

爪哇岛:

setContentView(R.layout.activity_main);

Xamarin.Android:

SetContentView(Resource.Layout.activity_main);

使用 Xamarin.Android,您可以通过 XML 使用相同的布局方法,也可以尝试 Xamarin.Forms。不过,我不确定您是否可以混合使用它们,正如我所说:我从未使用过Xamarin.Forms。