Android

来源:互联网 发布:windows nt和windows 8 编辑:程序博客网 时间:2024/06/04 00:52

编写Android应用需要的一些新的概念和UI组件。

activity 是Android SDK 中Activity类的一个具体实例。负责管理用户与信息屏的交互。

layout(布局)定义了一系列用户界面对象 以及它们显示在屏幕上的位置。

组件 是用户界面的构造模块。组件可以 显示文字或图像,与用户交互,甚至布置屏幕上的其他组件。每一个组件都是View类或其子类的一个具体实例。

LinearLayout组件作为根元素必须指定Android XML资源文件的命名空间属性为 http://schemas.android.com/apk/res/android

    xmlns:android="http://schemas.android.com/apk/res/android"

View类

View类的子类有:ViewGroup,TextView,Button

ViewGroup类

ViewGroup组件是个包含并配置其他组件的特殊组件
ViewGroup子类有:LinearLayout,FrameLayout,TableLayou,RelativeLayout

LinearLayout组件 需要一排或一列的样式布置组件时。

View-TextView类

View-Button类

资源
资源是应用非代码形式的内容,比如图像文件,音频文件以及XML文件

项目的所有资源文件都放在目录app/res的子目录下。

可以使用资源ID在代码中获取响应的资源。

布局是一种资源。activity_quiz.xml定义的布局的资源ID为R.layout.activity_quiz。

Android为整个布局文件以及各个字符串生成资源ID,,布局文件中的组件除外。

如果要为组件生成资源ID,在定义组件时,添加android:id属性

字符串资源
一个项目中可以有多个字符串文件,只要这些文件都放置在res/values/目录下,并且包含一resources根元素,以及多个string子元素,应用就能找到并正确使用他们。

引用资源

在代码中,使用资源id引用资源

  mQuestionTextView = (TextView) findViewById(R.id.question_text_view);

在布局XML中,使用@符号 通过资源类型和资源名称来引用资源

 <Button    android:id="@+id/prev_button"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:drawablePadding="4dp"     android:drawableRight="@drawable/arrow_left"     android:text="@string/prev_button"/>

项目视图

android项目视图:android studio默认使用

project项目视图:android 项目的真实文件目录结构

项目目录

android项目视图下,app/java目录是项目全部Java源代码的存放处。

AppCompatActivity是Activity的一个子类,主要为Android旧版本提供兼容性支持。

Activity方法

onCreate(Bundle)

activity子类的实例创建后,该方法会被调用。

public void setContentView(int layoutResID)

功能:activity创建后,获取并管理所属自己的用户界面
根据传入的布局资源ID参数,该方法生成指定布局的视图,并将其放置在屏幕上。
布局视图生成后,布局文件包含的组件 也随之以各自的属性定义 完成实例化。

编码使用按钮组件,需要两个步骤
1.引用生成的视图对象

2.为对象设置监听器,以响应用户操作。
public View findViewById(int id)

该方法以组件ID作为参数,返回一个视图对象。

Android编程应遵循的命名规定:

变量名加前缀m

Android应用属于典型的事件驱动类型。
事件驱动类型应用启用后,即开始等待(监听)行为事件的发生。

为响应某个事件而创建的对象叫做监听器。
监听器是实现特定监听接口的对象,用来监听某个事件的发生。

Android SDK已经为各种事件内置开发了很多监听接口。

 mTrueButton.setOnClickListener(new View.OnClickListener() {    @Override     public void onClick(View v) {       //     } });

传入setOnClickListener(OnClickListener)方法的是一个监听器。是一个实现了OnClickListener接口的对象。
所有的监听器都是用匿名内部类来实现。

Toast提示消息

Toast.makeText(QuizActivity.this, R.string.correct_toast, Toast.LENGTH_SHORT).show();

public static Toast makeText(Context context, int resId, int duration)

该方法创建一个Toast
Context参数是Activity的一个实例(Activity本身就是Context的一个子类)
resId参数是要显示的字符串消息的资源id
duration参数 指定toast消息显示的吃时间

Toast.show()
该方法在屏幕上显示toast消息。

原创粉丝点击