【问题标题】:Not understanding a basic concept of Android application development不了解Android应用程序开发的基本概念
【发布时间】:2010-08-26 18:36:59
【问题描述】:

首先,这里有很多安卓开发者吗?这是讨论 Android 相关问题的好地方吗?

我似乎遗漏了一个相当大的 Android 开发概念。要点是我正在努力理解如何将应用程序绑定在一起。我不知道如何解释它,所以我想我会尽力使用 Android ApiDemo 中的一个示例......假设你熟悉它。

在 ApiDemo 的 com.example.android.apis.view 命名空间内,有一个名为 Animation3.java 的类。 Animation3继承了activity类,里面有一些代码来展示动画。我在演示代码的任何地方都找不到对类 (Animation3) 的引用(显然除了它的定义)。我发现的唯一提及是在清单 xml 文件中。那么这个活动是如何开始的呢?我们不需要在某个地方创建一个类的实例并触发一个方法来启动它吗?我不明白如何生成最终将此类与应用程序的其余部分粘合在一起的代码。

此外,视图或视图组等其他类呢?如何在类之外生成启动/启动/使用/调用(插入专有术语)类的代码。

我将不胜感激任何代码示例以及任何概念解释或参考文档。到目前为止,我已经阅读了有关活动和视图的页面和页面,但我真的很难将它们联系在一起。

感谢您的所有帮助。

【问题讨论】:

    标签: java android eclipse


    【解决方案1】:

    清单声明了应用程序的入口点,也就是说,如果您在清单中看到以下几行 -

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.domain.android.myapp"
       android:versionCode="15"
       android:versionName="2.7.1">
      <application android:icon="@drawable/icon" 
               android:label="@string/app_name" android:debuggable="true">
            <activity android:name=".MyApp"  android:label="@string/app_name"
              android:theme="@android:style/Theme.NoTitleBar">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
      </application>
    </manifest>
    

    那么这意味着清单正在指示运行时使用该类 (MyApp) 作为应用程序的主要入口点。

    【讨论】:

    • 我将不得不再考虑一下,但这是一个问题。不是主要入口点的类呢?能否以与进入该类/活动的入口点相同的方式使用 XML?
    【解决方案2】:

    让我来分析一下。

    我猜你的 animation3.java 类扩展了活动(你说的)在 android 中,要在活动之间切换,你必须将它声明为一个 Intent(看看那个,这很重要)和然后切换到其他活动。

    下面是对事物运作方式的简单说明。

    您使用布局将内容放到屏幕上 “视图”是您布局上的一个项目,即 buttonVIEW、textVIEW 等。当我开始时,这让我感到困惑。

    您在 onCreate 方法中将所有视图绑定到您的活动中,该方法在您在 Eclipse 中创建活动时自动生成(除非您有其他一些自动完成设置)

    这应该开始让你站起来。还有其他问题吗? -M@

    【讨论】:

    • 我认为这就是我的脱节所在。我了解 onCreate 方法(我认为)。这是在创建 Activity 时调用的方法......那么实际创建 Activity 并因此调用 onCreate 方法的方法是什么?
    • 该方法在 Android SDK 内部。您无需担心,您需要做的就是创建一个 Intent 并使用该 Intent 调用 startActivity(intent)。然后,您的活动中的 onCreate 将被调用。
    • 请注意,旧活动中的所有活动数据可能会丢失/踩踏,因此请考虑传递数据(作为捆绑包)或尝试将其保存到简单的数据库中。创建活动的方法是android(我认为)和android操作系统的一部分的内置方法。 (即是风!除非您处于上帝模式,否则您无法触摸或看到它...j/k)
    【解决方案3】:

    查看 android 开发指南:

    http://developer.android.com/guide/index.html

    但是,您的默认活动可以由 android 框架本身实例化和调用。就像普通 java 应用程序中的主要方法一样。

    您的默认活动将在您提到的 xml 文件中定义。

    【讨论】:

      【解决方案4】:

      单腿android的主要概念是

      1. 您的 xmal 作为图形实体及其背后的代码
      2. 绑定到图形的代码通常继承自活动 3.每个应用程序都有自己的清单

      每个应用程序都有自己的第一个类,即清单中定义的启动类
      像这样:

      <application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name">
          <activity android:name=".startupclass"
                    android:label="@string/app_name">
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
          </activity>
      <activity android:name =".secondClass" ></activity>  
      <activity android:name =".thiredClass" ></activity>  
      

      有关活动的原因以及 android 提供的其他实体的更多信息,请访问:

      http://developer.android.com

      如果您还有其他问题,请随时提问

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多