菜鸟的Android学习笔记(一)

本文提供了一步到位的Android开发入门指南,包括环境搭建、项目文件结构解析、布局与UI组件使用,重点介绍了如何利用常见的布局如线性布局,并通过实例演示了如何为按钮绑定事件监听器。同时,文中还详细讲解了如何在AndroidManifest.xml中注册Activity,并通过ListView展示列表项的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章所用示例代码大多来源于《疯狂Android讲义 第三版》。在这里,给那些想入门Android开发的新人推荐一下这本书。该书语言简单易懂,写的很详细,示例代码丰富,适合基础较差的新人入门。

环境搭建

详细过程就不啰嗦了,教程网上一搜一大把。我选择的是ubuntu + Android studio + genymotion.这里我推荐一下模拟器Genymotion,反应真的很快,和真机差不多。

Android studio 的项目文件结构

和eclipse不同,studio的project相当于是一个工作空间,app文件夹才是你的Android项目。如图:
其中,最主要的2个文件夹是java 和res文件夹。java文件夹包含java源代码文件,res文件夹包含layout,字符串,图片菜单等各种资源文件。
其中,有2个build.gradle文件,app根目录一个,project根目录一个。
app根目录下的build.gradle指定了sdk版本,编译工具的版本,兼容的最低sdk版本等信息,project根目录下的build.gradle则含有gradle插件的版本信息等。

从布局(layout)说起

常见的布局有线性布局(LinearLayout),相对布局(RelativeLayout),表格布局(TableLayout),网格布局(GridLayout),帧布局(FrameLayout0).
布局相当于是个容器,本身是看不见的。它规定了其内部的,。view组件(按钮,文本框等)的排列方式

下面的代码定义了一个简单的线性布局,只包含两个垂直排列的按钮。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity= "top|center_vertical">
    <Button
        android:id="@+id/bn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bn1"/>
    <Button
        android:id="@+id/bn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bn2"/>

</LinearLayout>

布局定义好之后需要在Activity中加载才能现显示,加载方法很简单,只需要调用setContentView()方法即可。
为按钮绑定一个事件监听器:先通过findViewByID找到该按钮组件,再调用setOnClickListener()即可。其它组件绑定事件监听方法也一样。
14

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Button bn = (Button)findViewById(R.id.bn1);
        bn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                bn.setText("123");
            }
        });
    }

}
在AndroidManifest.xml中注册Activity

下图中有2个Activity,第一个Activity是在app启动时加载的,所以需要配置

* 启动另外一个Activity的方法–显式Intent


public class MainActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 获取应用程序中的bn按钮
        Button bn = (Button) findViewById(R.id.bn);
        // 为bn按钮绑定事件监听器
        bn.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View source)
            {
                // 创建需要启动的Activity对应的Intent
                Intent intent = new Intent(MainActivity.this,
                        SecondActivity.class);
                // 启动intent对应的Activity
                startActivity(intent);
            }
        });
    }
}
最常用的UI组件–ListView

ListView是手机系统中使用非常广泛的一种组件,以垂直列表的形式显示所有列表项。ListView两种不同的生成方式:

直接使用ListView创建
让Activity继承ListActivity

基于数组的简单ListView,通过android:entries指定列表项数组。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- 直接使用数组资源给出列表项 -->
    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/books"
        />
</LinearLayout>

上面的ListView用到了数组资源,可在res/values/arrays.xml文件中定义。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="books">
        <item>疯狂Java讲义</item>
        <item>疯狂Ajax讲义</item>
        <item>疯狂XML讲义</item>
        <item>疯狂Android讲义</item>
    </string-array>
</resources>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值