第一个helloworld程序。各文件浅析。
1.AndroidManifest.xml 是android应用程序的工程描述文件,包含了宏观上的内容
。application(表示应用程序)标签中包含了一个activity(表示活动),基本上每一个页面都是一个活动,一个应用程序中可能可以包含多个活动,应该需要在这里修改,也就是包含多个页面,比如滑动到另一个页面。这里面application中有些基础定义,allowBackup,icon,label(就是应用程序名称),them这里应该是可选的,在design界面有them可选。
package定义为:package="com.example.dt.myapplication" 表示将从src目录下的/com/example/dt/myapplication中寻找Java代码(Linux or Mac ONLY?)活动名称指定为.MainActivity,表示活动代码是上述源代码目录中的MainActivity.java。然后intent-filter中制定了程序的启动方式,category中的LAUNCHER表示活动将在andorid的桌面上出现(默认情况)。label显示的是桌面下面的文字。
为活动指定label和icon方式为 android:label=“@string/label_name” android:name="drawable/icon_name" 两行
2. MainActivity.java,位于java目录下,这个是主要的coding的地方
MainActivity就是我们的活动名,java中类名必须是文件名,该活动继承 ActionBarActivity(eclipse 集成Activity)。
类中,首先重载了onCrete方法,该方法是活动首次执行的时候会调用,首先super调用父类的构造方法,然后调用,setContentView(R.layout.activity_main)表示调用布局文件activity_main.xml
下面两个重载了菜单的方法,第一个是初始化菜单文件, getMenuInflater().inflate(R.menu.menu_main, menu);这个函数表示,菜单初始化的时候,调用的menu_main.xml作为其菜单文件。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
该函数是,菜单选中时触发的事件,用id得到哪个item被筛选,下面就可以写一个swithch语句来执行对应的操作。
3.布局文件activity_main.xml 该程序的布局文件,在.java文件中调用了该布局文件。
该布局中可以定义很多的UI控件,可以直接用xml写,也可以直接拖控件。我们以RadioButton为例:
这里需要指出android:text=”New RadioButton“这种方式不太好,应该在string中定义一个变量,然后再这里使用@string/RadioButton,android:id=”@+id/radioButton“
4.string.xml是已给资源文件,里面定义了一些变量。
<string name="app_name">My Application</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
这里就是定义一个string变量app_name 该变量的值是 My Application后面两个是类似的。
这里面了解了,基础的文件结构之后,下一步,我们开始做一个最基本的带有事件的android小程序。