Android学习笔记(一)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android学习笔记(一)

Android学习笔记(一)

 2015/1/14 23:57:56  #活在梦里  程序员俱乐部  我要评论(0)
  • 摘要:活动(Actiity)是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用中可以包含零个或多个活动。所有的自己写Activity都继承于Activity类。项目中的任何活动都应该改重写Activity的onCreate()方法。比如下面的FirstActivity活动:publicclassFirstActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){Super
  • 标签:笔记 android 学习 学习笔记 android学习笔记

活动(Actiity)是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用中可以包含零个或多个活动。

所有的自己写Activity都继承于Activity类。项目中的任何活动都应该改重写Activity的onCreate()方法。比如下面的FirstActivity活动:

public class FirstActivity extends Activity{
  @Override
  protected void onCreate(Bundle savedInstanceState){
      Super.onCreate(savedInstanceState);      
  }          
}

上面的onCreate()方法很简单,就是调用了父类的onCreate()方法,后面我们需要在里面加入很多自己的逻辑。

 

当我们写成一个活动(Activity)时,Android程序设计讲究逻辑和视图分离,活动最好都对应一个布局,布局就是用来显示界面内容的。

在这里可以新建一个布局文件并命名为first_layout。我们默认的布局的XML文件应该如下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
</LinearLayout>

如果需要在布局文件中加入一个按钮(Button),则在XML文件中编辑,加入的Button布局代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <!--添加一个Button按钮  -->
    <Button 
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/app_button_1"/>

</LinearLayout>

其中

android:id是给当前的元素定义一个唯一的标识符,之后在代码中可以对这个元素进行操作。(在XML中,引用一个id,就使用@id/id_name;

如果需要在XML中定义一个id,需要使用@+id/id_name)

android:layout_width指定了当前元素的宽度,这里使用match_parent表示让当前元素和父元素一样宽。

android:layout_height指定了当前元素的高度,这里使用wrap_content表示让当前元素的高度刚好包含里面的内容。

android:text指定了元素中显示的文字内容。(@string/app_button_1表示text引用是string中的app_button_1)。

这样一个简单的布局文件就编写完成了。接下来就是在活动中加载这个布局文件,重新回到FirstActivity,在onCreate()方法中加入如下代码:

public class FirstActivity extends Activity {

    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        //在活动中加载布局,使用setContentView()方法
        setContentView(R.layout.first_layout);
    }

这里调用setContentView()方法来给当前的活动加载一个布局,一般都会传入一个布局文件的id。调用R.layout.first_layout就可以得到first_layout.xml布局的id,然后把这个值传入setContentView()方法即可(注意:代码中使用的R文件是自己所建包下的R文件,不要导入android包下的R文件)。

 

我们的布局文件写完了,也在活动(Activity)中加载了,但是还没有完成。所有的活动(Activity)都要在AndroidTestManifest.xml中进行注册才能生效。

下面的代码就是在AndroidTestManifest.xml中注册我们所写的活动(Activity):

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 2     package="com.gui.activitytest"
 3     android:versionCode="1"
 4     android:versionName="1.0" >
 5 
 6     <uses-sdk
 7         android:minSdkVersion="15"
 8         android:targetSdkVersion="20" />
 9 
10     <application
11         android:allowBackup="true"
12         android:icon="@drawable/ic_launcher"
13         android:label="@string/app_name"
14         android:theme="@style/AppTheme" >
15         
16         <activity
17             android:name=".FirstActivity"
18             android:label="this is Firstactivity" >
19             
20             <intent-filter>
21                 <action android:name="android.intent.action.MAIN"/>
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25     </application>
26 
27 </manifest>

其中

android:name 指定具体注册哪一个活动。

android:lable指定活动中标题栏的内容(给主活动指定的lable不仅会成为标题栏的内容还会成为启动器(launcher)中应用程序显示的名称)。

在<activity>标签中加入了<intent-filter>标签,加入

<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />

这两句声明,会让FirstActivity作为程序的主活动,即打开应用图标首先打开的就是这个活动。

 

编写完上面的内容,我们就可以在模拟器中运行程序了。

 

发表评论
用户名: 匿名