草庐IT

android - 我应该学习 Google App Inventor 作为 Java for Android 的补充吗

coder 2023-11-22 原文

只是好奇。我已经是一名 Java android 人,但对适用于 android 的新应用程序发明者 beta 感兴趣。
我想知道“真正的”开发人员在想什么。很多人想开发一个安卓应用程序,但并没有真正的编程技能。似乎很多应用程序都可以用应用程序发明者编写 - 不确定,因为我还没有尝试过。

最佳答案

希望这能为那些刚刚听说过 App Inventor 的人澄清一些事情。 (请记住,App Inventor 目前还处于测试阶段,因此所有这些都可能会发生变化。)

如果您有兴趣使用它提供的一些功能,并且没有时间或兴趣参与完整的 Android SDK,那么 App Inventor 可能非常适合您。

App Inventor 的界面提供了一些您在 Android SDK 中找不到的独特功能,并且很容易掌握(请务必查看 shortcuts for the Blocks editor,否则可能很快就会开始感到乏味)。它对界面和支持逻辑都进行了实时调试和实时编辑。如果您还不确定做某事的正确方法,那么仅此一项就可以减少时间和挫败感,这可能是整个系统中我最喜欢的功能。新开发人员会特别发现在手机上实际看到他们的更改而无需等待编译和运行是有益的。如果您尝试通过 SDK 学习东西,那么与您面临的传统编译和等待过程相比,它可以节省大量时间并且更容易习惯。

如果您一直在使用 Android SDK,并且只是想尝试一些新的 App Inventor 支持的东西,而您还没有时间或不太确定如何使用,那么它也非常方便。只要您将注意力集中在 App Inventor 支持的功能上,就可以让您的手机在几分钟内完成您可以看到和使用的操作,从而为理解问题提供有值(value)的见解。即使是经验丰富的开发人员也可能会欣赏这一点。

当你开始撞墙时,真正的问题更多。你根本无法攀爬的墙壁。而且您很快意识到必须了解此工具的局限性,否则您可能会花费大量时间尝试做一些目前不可能的事情。如果你经常使用 App Inventor,迟早你会发现自己处于这个位置。

所有编码都是图形化的。

some of the demoswhat's available through the Blocks editor 的屏幕截图如果你不明白那是什么意思。在这些彩色大块中设置值与使用 App Inventor 获得的代码一样接近,无论好坏。

如果你以前有任何开发经验,你会发现自己渴望能够做一些简单的编码来补充你正在做的事情。或者至少能够导出您的项目并从 Java 中的中断处继续。抱歉,这不是那种工具。

达到这一点时,您唯一的选择是重新开始编写代码或忘记它,至少在所需的功能被添加到 App Inventor 之前(可能永远不会)。那里可能会激怒很多人并将他们拒之门外。

如果您正在考虑进入 Android 开发,我认为从 App Inventor 开始没有问题。它甚至可以为您节省数小时的精力,否则这些精力可能会花费在试图理解一些在执行时很容易理解的概念上,但如果您是第一次构建它们会有点困惑。

如果您是一位经验丰富的开发人员,或者希望在概念之外赚钱或获得 Android 经验,那么这绝对不是您的最终目的地。如果你是一个刚接触编程的学生,这可能是一个很好的环境,有足够的挑战和玩耍的空间来保持你对大量项目的兴趣。

尽管目前存在限制,但我仍然认为 App Inventor 是学习新概念的宝贵资源,也是尝试新想法的游乐场。事实证明,它是向某人介绍 Android 开发的绝佳工具,并且在向某人介绍一般编程时可能会做得很好。

关于android - 我应该学习 Google App Inventor 作为 Java for Android 的补充吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3239929/

有关android - 我应该学习 Google App Inventor 作为 Java for Android 的补充吗的更多相关文章

  1. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  2. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  3. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  4. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  7. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  8. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  9. ruby-on-rails - 应用程序的名称是否可以作为变量使用? - 2

    当我创建一个Rails应用程序时,控制台:railsnewfoo我的代码可以使用字符串“foo”吗?puts"Yourapp'snameis"+app_name_bar 最佳答案 Rails.application.class将为您提供应用程序的全名(例如YourAppName::Application)。从那里您可以使用Rails.application.class.parent获取模块名称。 关于ruby-on-rails-应用程序的名称是否可以作为变量使用?,我们在StackOve

  10. ruby-on-rails - 带有 Zeus 的 RSpec 3.1,我应该在 spec_helper 中要求 'rspec/rails' 吗? - 2

    使用rspec-rails3.0+,测试设置分为spec_helper和rails_helper我注意到生成的spec_helper不需要'rspec/rails'。这会导致zeus崩溃:spec_helper.rb:5:in`':undefinedmethod`configure'forRSpec:Module(NoMethodError)对thisissue最常见的回应是需要'rspec/rails'。但这是否会破坏仅使用spec_helper拆分rails规范和PORO规范的全部目的?或者这无关紧要,因为Zeus无论如何都会预加载Rails?我应该在我的spec_helper中做

随机推荐