【Android程序开发】-Android程序目录介绍、Activity生命周期、页面布局的两种方式


心得体会

  • 今天第一天学习Android,发现demo要变的更有趣了。但是挺难过的,我的手机无法连接电脑,电脑如果下载模拟器会很卡,所以我做不出demo的效果,感觉挺空的!!!

目录

  • 1.Android程序目录介绍
  • 2.Activity生命周期
  • 3.页面布局的两种方式(1.XML配置, 2.使用Java代码创建)
  • 4.更改主题样式和启动配置

具体内容

1.Android程序目录介绍

image.png

2.Activity生命周期

活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。Android 的活动是 ContextThemeWrapper 类的子类。如果你曾经用 C,C++ 或者 Java 语言编程,你应该知道这些程序从 main() 函数开始。很类似的,Android 系统初始化它的程序是通过活动中的 onCreate() 回调的调用开始的。存在有一序列的回调方法来启动一个活动,同时有一序列的方法来关闭活动,如下面的活动声明周期图所示:


image.png

Activity 类定义了下面的回调。你可以不用实现所有的回调方法。但了解其中的每一个非常的重要,实现这些可以保证你的应用行为如用户所期望的那样。

回调 描述
配置界面onCreate() 这是第一个回调,在活动第一次创建时调用
启动界面onStart() 这个回调在活动为用户可见时被调用
重新启动onRestart() 当活动被停止以后重新打开时调用
唤醒界面onResume() 这个回调在应用程序与用户开始可交互的时候调用
暂停界面onPause() 被暂停的活动无法接受用户输入,不能执行任何代码。当当前活动将要被暂停,上一个活动将要被恢复时调用
销毁界面onDestroy() 当活动被系统销毁之前调用

管理界面从创建到运行结束的过程中,不同的操作会需要不同的回调方法:

操作 必须使用的回调方法(从左至右按顺序使用)
界面启动 onCreate() 、onStart()、 onResume()
点击home键 回到主界面 onPause()
通过后台重新运行这个程序 onRestart()、 onStart()、onResume()
使用返回键 返回到主界面 onPause()、 onDestroy()

例:

public class MainActivity extends AppCompatActivity {

    @Override//创建一个界面 界面如何布局
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        System.out.println("onCreate");
    }
    @Override//界面启动 展现出来了
    protected void onStart() {
        super.onStart();
        System.out.println("onStart");
    }

    @Override//重新启动一个界面
    protected void onRestart() {
        super.onRestart();
        System.out.println("onRestart");
    }

    @Override//恢复界面 后台-》前台
    protected void onResume() {
        super.onResume();
        System.out.println("onResume");
    }

    @Override//界面切换
    protected void onPause() {
        super.onPause();
        System.out.println("onPause");
    }

    @Override//界面销毁
    protected void onDestroy() {
        super.onDestroy();
        System.out.println("onDestroy");
    }
}

3.页面布局的两种方式(1.XML配置, 2.使用Java代码创建)

  • 1.页面布局的方式之一-----XML配置

每一个 Android 项目都包含一个清单(Manifest)文件 AndroidManifest.xml,它是 XML 格式的 Android 程序声明文件,每个 Android 程序必须在根目录下包含一个 AndroidManifest.xml。

默认一个Activity对应一个XML文件,命名特点:activity_界面功能.xml,XML文件就是一个容器:可以放很多UI控件。


image.png

双击打开activity.xml就可以对xml文件进行编辑,打开之后在Design里面是这样的:最左侧是一些控件,右边是布局显示,我们可以通过拖拽控件进行设计布局

image.png

会发现这是可视化的,你编辑的布局可以在这里进行显示,在.xml的Test中就可以进行编辑了:

image.png

xml添加控件

    

Android中控件的尺寸
1.match_parent 和父视图一样大
2.wrap_content 插入内容的原始尺寸
3.具体尺寸 20dp




  • 父视图:设备显示屏大小
  • 子视图:插入的图片原始大小
  • 将一个控件添加到一个容器中,控件就是这个容器的子视图,容器是控件的父视图
  • 页面布局的方式之二-----使用Java代码创建

通过添加id号可以唯一标识某一个控件 或组件(容器)

android:id="@+id/fl_main"
 //通过代码来布局界面
        //1.找一个容器 xxlayout
        FrameLayout container=new FrameLayout(this);

        //2.设置当前界面的内容视图为这个容器
        setContentView(container);
        //3.创建一个子视图
        //创建ImageView显示 图片
        ImageView bgImageView=new ImageView(this);
        //设置属性
        bgImageView.setBackgroundColor(Color.GREEN);
        //添加到容器里面
        container.addView(bgImageView,200,200);
        //2.设置当前界面的内容视图为这个容器
        setContentView(container);

什么时候需要用代码创建 什么时候使用xml配置?

  • 如果添加的控件是静态的 (变化的东西不多)选择xml
  • 如果需要灵活地操作这个控件 选择代码创建

4.更改主题样式、启动配置

  • 更改主题样式

程序或者某个 UI模块都可以有自己的样式styles

例如:
可以在values.styles.xml里面将