Chapter1:Android开发初体验

2017-12-14  本文已影响0人  _咸鱼木

1.1 Android开发基础

  • activityAndroid SDKActivity类的一个实例,负责管理用户与应用界面的交互。对于简单的应用来说,一个Activity子类可能就够了,而复杂的应用则会有多个。
  • 布局定义了一系列用户界面对象以及它们显示在屏幕上的位置。组成布局的定义保存在XML文件中。每个定义用来创建屏幕上的一个对象,如按钮或文本信息

1.2 创建Android项目

略......


1.3 Android Studio使用导航

略...


1.4 用户界面设计

应用activity的默认布局定义了两个组件(widget):RelativeLayoutTextView
组件是用户界面的构造模块,可以显示文字或图像,与用户交互,甚至布置屏幕上的其他组件。常见的组件有按钮、文本输入控件和选择框......
LinearLayoout组件:
<LinearLayout>
</LinearLayout>
TextView组件:
<TextView />
Button组件:
<Button/>

配置组件时常用的一些属性:

  • android:layout_widthandroid:layout_height属性
    几乎每类组件都需要android:layout_width和android:layout_height属性。以下是它们的两个常见属性值(二选一)

match_parent:视图与其父视图大小相同。
wrap_parent:视图将根据其显示内容自动调整大小。

  • android:orientation属性
    android:orientation属性是LinearLayout组件具有的属性,它决定其子组件是水平放置(horizontal)还是垂直放置(vertical)

创建字符串资源

  • 每个项目都包含一个默认字符资源文件strings.xml。存放在app/res/values目录下
    <resources>
    <string name=" ">...</string>
    </resources>

1.5 从布局XML到视图对象

  • 资源与资源ID

布局是一种资源。资源是应用于非代码形式的内容,如图像文件、音频文件以及XML文件等。
可以使用资源ID在代码中获取相应的资源。如activity_quiz.xml布局的资源ID为R.layout.activity_quiz

Project项目视图下展开目录app/build/generated/source/r/debug,找到项目包名称并打开其中的R.java文件,即可看到该应用当前所有的资源

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

  • android:android:id="@+id/资源名"

1.6 组件的实际应用

  • 首先在activity.java文件中添加成员变量:

private Button(组件类型) 'name'(名称);

  • 引用组件
    activity中,调用以下Activity方法引用已生成的组件:

public View findViewById(int id)

  • 设置监听器
    Android应用属于典型的事件驱动类型
    使用匿名内部类来实现监听器接口
    eg:
    mTrueButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    checkAnswer(true);
    }
    });

1.7 创建提示消息

  • 增加toast字符串(strings.xml)

<string name=" ">...</string>-

  • 调用Toast类的以下方法,可创建toast:
    public static Toast makeText(Context context,int resId,int duration)
    该方法的Context参数通常是Activity的一个实例(Activity本身就是Context子类)。第二个参数toast要显示的字符串消息的资源ID。Toast类必须借助Context才能找到并使用字符串资源ID。第三个参数通常是两个Toast常量(Toast.LENGTH_SHORT和Toast.LENGTH_LONG)中的一个,用来指定toast消息的停留时间。
  • 创建toast后,可调用Toast.show()方法在屏幕上显示toast消息
  • 完成makeText(Context context,int resId,int duration)方法中的全部参数设置
    eg:
    mTrueButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Toast.makeText(QuizActivity.this,R.string.correct_toast,
    Toast.LENGTH_SHORT).show();
    }
    });

注意:在makeText(...)里,输入的参数是QuizActivity.this,不要想当然地直接输入this。因为匿名类的使用,这里的this指的是监听器View.OnClickListener


1.8 使用模拟器运行应用

略...


1.9 Android编译过程

略...


挑战:定制toast消息

  • 使用Toast类的setGravity方法,并使用Gravity.TOP重力值。

toast.set Gravity(Gravity.TOP/CENTER/BOTTOM,int,int)
(第一个int代表x坐标,第二个int代表y坐标)


To be continued...

上一篇下一篇

猜你喜欢

热点阅读