首先 ,看看我们的第一个项目的目录结构

Android程序入口
世界上的每一个C程序都有以下几行代码
Main方法
但是在Android应用程序中,应用程序的起点。可以是任何注册活动。
主活动标记
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme.NoActionBar", MainLauncher = true)]
public class MainActivity : AppCompatActivityCode language: CSS (css)
我们这个类没有静态main方法,它只有一个OnCreate方法。
MainLauncher = true:这个标注告诉框架,当前这个活动是主活动。底层封装的main方法就会调用这个活动。
using System;
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.Design.Widget;
using Android.Support.V7.App;
using Android.Views;
using Android.Util;
using Android.Bluetooth;
using Android.Content;
namespace FirstDemo
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme.NoActionBar", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
//活动创建时调用
protected override void OnCreate(Bundle savedInstanceState)
{
Code language: C# (cs)
OnCreate 方法
protected override void OnCreate(Bundle savedInstanceState)Code language: JavaScript (javascript)
这个方法就是活动被创建的时候调用,每一个活动都拥有自己的生命周期。
Android MVC模式
Android属于MVC开发模式:
- Activity(活动类)→ 控制器 Controller
- xml/axml文档 → 视图 View
Activity生命周期状态
- RUNNING(运行中):活动在屏幕前台,获得焦点
- PAUSED(暂停):可见,但失去焦点;例:被悬浮弹窗遮挡
- STOPPED(停止):完全不可见,页面被覆盖跳转
- KILLED(销毁):系统内存不足,回收杀死进程;活动彻底销毁
状态流转:用户启动Activity → RUNNING;弹窗遮挡→PAUSED;页面跳转→STOPPED;内存不足→KILLED。
重写 OnCreate() 完整代码(Xamarin.Android)
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
//配置使用的布局视图
SetContentView(Resource.Layout.activity_main);
//通过ID获取工具栏对象
Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
//设置工具栏对象
SetSupportActionBar(toolbar);
//获取浮动按钮(信件图标)
FloatingActionButton fab = FindViewById<FloatingActionButton>(Resource.Id.fab);
//给按钮注册事件方法
fab.Click += FabOnClick;
}Code language: JavaScript (javascript)
Resources 视图资源
资源包含:图片、图标、字符串、视图布局等。

- 布局文件存放在
layout目录 - 布局文件示例:
activity_main.axml
原生Android使用
.xml布局,Xamarin‑Android使用.axml。
总结
- Android没有静态Main函数,
MainLauncher=true标记的Activity就是程序入口;底层框架内部封装main。 OnCreate:Activity创建时执行,必须调用base.OnCreate(savedInstanceState)。SetContentView():绑定布局axml/xml,把视图加载到页面。- MVC:Activity做控制器,axml/xml做视图。
- Activity四大状态:RUNNING、PAUSED、STOPPED、KILLED。
- 资源全部放在Resources文件夹,通过
Resource.xxx.xxx访问。
Previous: Xamarin的配置
Next: 创建布局-弹出浮动框Toast