主要活动代码在MainActivity.java的Java文件中。这是实际的应用程序文件,将被转化为Dalvik可执行文件并运行。下面是由应用向导为Hello World应用生成的默认代码 -极客时间Android开发高手课
package com.example.helloworld;import androID.os.Bundle;import androID.app.Activity;import androID.vIEw.Menu;import androID.vIEw.MenuItem;import androID.support.v4.app.NavUtils;public class MainActivity extends Activity { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
这里,R.layout.activity_main引用自res/layout目录下的activity_main.xml文件。onCreate()是活动被加载之后众多被调用的方法之一。
Manifest文件
无论你开发什么组件用作应用程序中的一部分,都需要在应用程序项目根目录下的manifest.xml文件中声明所有的组件。这个文件是AndroID *** 作系统与你的应用程序之间的接口,因此,如果没有在这个文件中声明你的组件,将无法被 *** 作系统所识别。举个例子,一个默认的清单文件看起来如下:
<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.example.helloworld" androID:versionCode="1" androID:versionname="1.0" > <uses-sdk androID:minSdkVersion="8" androID:targetSdkVersion="22" /> <application androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name=".MainActivity" androID:label="@string/Title_activity_main" > <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest>
这里,...标签之间是应用程序相关的组件。andnroID:icon属性指出位于res/drawable-hdpi下面的应用程序图标。这个应用使用drawable文件夹下名为ic_launcher.png的图片。
标签用于指定一个活动,androID:name属性指定一个Activity类子类的全名。androID:label属性指定用于活动名称的字符串。可以使用标签来指定多个活动。
意图过滤器的action被命名为androID.intent.action.MAIN,表明这个活动被用做应用程序的入口。意图过滤器的category被命名为androID.intent.category.LAUNCHER,表明应用程序可以通过设备启动器的图标来启动。
@string指的是strings.xml(将在后面介绍)。因此,@string/app_name指的是定义在strings.xml中的app_name,实际为"Hello World"。类似的,应用中的其他字符串也很流行。
下面是你的清单文件中将用到的标签,用于指定不同的AndroID应用程序组件:
活动元素服务元素广播接收器元素内容提供者元素Strings 文件
strings.xml文件在res/value文件夹下,它包含应用程序使用到的所有文本。例如,按钮、标签的名称,默认文本,以及其他相似的strings。这个文件为他们的文本内容负责。一个默认的strings文件看起来如下:
<resources> <string name="app_name">HelloWorld</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="Title_activity_main">MainActivity</string></resources>
R 文件
gen/com.example.helloworld/R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水。这是一个自动生成的文件,不要修改R.java文件的内容。下面是一个R.java文件的示例:
/* auto-GENERATED file. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modifIEd by hand. */package com.example.helloworld;public final class R { public static final class attr { } public static final class dimen { public static final int padding_large=0x7f040002; public static final int padding_medium=0x7f040001; public static final int padding_small=0x7f040000; } public static final class drawable { public static final int ic_action_search=0x7f020000; public static final int ic_launcher=0x7f020001; } public static final class ID { public static final int menu_settings=0x7f080000; } public static final class layout { public static final int activity_main=0x7f030000; } public static final class menu { public static final int activity_main=0x7f070000; } public static final class string { public static final int app_name=0x7f050000; public static final int hello_world=0x7f050001; public static final int menu_settings=0x7f050002; public static final int Title_activity_main=0x7f050003; } public static final class style { public static final int Apptheme=0x7f060000; }}
Layout 文件
activity_main.xml是一个在res/layout目录下的layout文件。当应用程序构建它的界面时被引用。你将非常频繁的修改这个文件来改变应用程序的布局。在"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>
这是一个简单的relativeLayout的示例,更多内容会在独立的章节中讲解。TextVIEw是一个AndroID的控件用于构建用户图形界面。它包含有许多不同的属性,诸如androID:layout_wIDth, androID:layout_height等用来设置它的宽度和高度等。@string指的是res/values文件夹下的strings.xml文件。因此,@string/hello_world指的是定义在strings.xml中的名为hello的字符串:"Hello World!"。
总结以上是内存溢出为你收集整理的Android开发高手课全部内容,希望文章能够帮你解决Android开发高手课所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)