Bootstrap

Android期末复习题

1.如何搭建Android开发环境?

  

答案:搭建Android开发环境需要以下几个步骤:

(1)下载和安装JDK

(2)配置PATH环境变量

(3)下载和安装Android Studio

(4)创建Android模拟器

(5)下载和安装Android SDK

2.Activity的作用是什么?

答案:Activity是Android程序中的四大组件之一,为用户提供可视化界面及操作。每个APP中可以包含多个Activity,每个Activity负责管理一个用户界面。在界面中可以添加多个控件,并编写相应的后台代码切换到其他界面。

  1. 试述建立Android系统开发项目的过程和步骤。

答案:(1)在Android Studio集成环境中生成Android应用项目框架

(2)修改或编写Java源程序

(3)修改或编写xml界面源程序

(4)调用模拟器运行应用程序

  1. 常用对话框有哪些,分别有什么作用?

答案:如果需要可交互的对话框,可以使用安卓SDK提供的AlertDialog类构建可交互的对话框,让用户选择和确认信息。此外安卓SDK还提供了用于日期和时间选择的对话框类DatePickerDialog和TimePickerDialog,这两个类继承自AlertDialog类,使用上相对比较简单。安卓SDK还提供了ProgressDialog进度条对话框,这种对话框运行期间用户不能与主界面交互,不推荐使用。

  1. Android中有几种数据存储方式以及各自特点?

答案:Android平台的数据存储方式有SharedPreferences配置文件、文件存储、SQLite数据库等。SharedPreferences是Android提供的用来存储简单配置信息的存储方式,底层采用XML文件存储数据。文件存储,用途更广泛,可以存储各种类型的数据。JSON是一种轻量级数据交换格式,现在广泛使用。SQLite数据库提供关系数据的存储,可以存储大量数据。

  1. 广播是什么?为何引入广播这一组件?

答案:广播是一种在应用程序内、应用程序之间传输消息的机制,当某些事件发生时,Android系统、应用程序都可以使用广播向其他应用发送这些事件信息。

在应用中添加广播组件,可以接收Android系统或者其他应用发出的广播事件,然后根据广播事件做相应的处理。

  1. 简述Intent的定义和用途。

答案:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。Intent的一个最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。

  1. 请简要说明Android中有几种布局,以及每种布局的特点。

答案:线性布局(水平或垂直排列控件)、相对布局(通过相对定位方式指定控件位置)、帧布局(为每个加入其中的控件创建一个空白区域)、表格布局(以表格形式排列控件)、约束布局ConstraintLayout使用约束的方式来指定各个控件的位置和关系,设置控件的位置和尺寸更加灵活,有效地解决了嵌套过多的问题。

  1. SQLite数据库是如何创建的?

答案:Android应用开发时,需要继承SQLiteOpenHelper类定义自己的数据库工具类,该工具类用来创建数据库、创建表、升级数据库表的操作。自定义类时,需要重写SQLiteOpenHelper类中的onCreate()方法、onUpgrade()方法和构造方法。

  1. 请简述SharedPreferences如何存储数据。

答案:使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor对象将数据存入内存,例如:

SharedPreferences sp = getSharedPreferences("config", 0);

Editor editor = sp.edit();

editor.putString("name", "zs");

editor.commit();

1、设计一个加法计算器,如下图所示,在前二个文本编辑框中输入整数,单击按钮“=”时,在第三个文本编辑框中显示这两个数之和。请在指定空白区补充代码。

(1)设计界面布局文件 activity mai1.xm1。(20分)

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/editText1"
        android:layout_width="50dp"
        android:layout_height="wrap_content" />
//请在下方空白区补充代码
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="50dp"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="=" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="50dp"
        android:layout_height="wrap_content" />

</LinearLayout>

  1. 设计控制文件MainActivity.java(20分)

public class MainActivity extends AppCompatActivity {
    EditText eText1,eText2,eText3;
    Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        eText1=(EditText) findViewById(R.id.editText1);
        //请在下方空白区补充代码
        eText2=(EditText) findViewById(R.id.editText2);
        eText3=(EditText) findViewById(R.id.editText3);
        btn1=(Button) findViewById(R.id.button1);


        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                int a=Integer.parseInt(eText1.getText().toString());
                //请在下方空白区补充代码
                int b=Integer.parseInt(eText2.getText().toString());
                int sum = a + b;
                eText3.setText(String.valueOf(sum));
            }
        });
    }
}

2. 在界面设计中,添加1个输入框、2个单选按钮和1个普通按钮,选择选项后,点击确定按钮,在下方的文本标签中显示输入的姓名和所选中的文本内容。如下图所示。请在指定空白区补充代码。

  1. 设计界面布局文件 activity mai1.xm1。(20分)

 <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请输入您的姓名:" />
//请在下方空白区补充代码
    <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<RadioGroup
    android:id="@+id/radioGroup1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <RadioButton
        android:id="@+id/radio0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="男" />

    <RadioButton
        android:id="@+id/radio1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="女" />

</RadioGroup>
//请在下方空白区补充代码
<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="确定" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

(2)设计控制文件MainActivity.java(20分)

public class MainActivity extends AppCompatActivity {
    EditText eText;
    RadioButton r1,r2;
    Button button;
    TextView tView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //请在下方空白区补充代码
        eText=(EditText) findViewById(R.id.editText);
        r1=(RadioButton)findViewById(R.id.radio0);
        r2=(RadioButton)findViewById(R.id.radio1);
        button=(Button)findViewById(R.id.button);
        tView=(TextView)findViewById(R.id.textView2);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                CharSequence str="",name="";
                name=eText.getText();
                if (r1.isChecked()) str=r1.getText();
                if (r2.isChecked()) str=r2.getText();
                tView.setText("您输入的信息是:\n姓名:"+name+"\n性别:"+str);
            }
        });

    }
}

  

3. 在界面设计中,安排3个复选按钮和1个普通按钮,选择选项后,点击按钮,在文本标签中显示所选中的选项文本内容。如下图所示。请在指定空白区补充代码。

  1. 设计界面布局文件 activity mai1.xm1。(20分)

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:orientation="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请选择播放歌曲:" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="荷塘月色" />
//请在下方空白区补充代码
    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="白狐" />

    <CheckBox
        android:id="@+id/checkBox3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="青花瓷" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="获取选项值" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="" />
</LinearLayout>

(2)设计控制文件MainActivity.java(20分)

public class MainActivity extends AppCompatActivity {
    CheckBox cBox1,cBox2,cBox3;
    Button button;
    TextView tView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cBox1=(CheckBox) findViewById(R.id.checkBox1);
        //请在下方空白区补充代码
        cBox2=(CheckBox) findViewById(R.id.checkBox2);
        cBox3=(CheckBox) findViewById(R.id.checkBox3);
        button=(Button)findViewById(R.id.button);
        tView=(TextView) findViewById(R.id.textView2);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                String str="";
                if (cBox1.isChecked()) str=str+"\n"+cBox1.getText();
                //请在下方空白区补充代码
                if (cBox2.isChecked()) str = str + "\n" + cBox2.getText();
                if (cBox3.isChecked()) str = str + "\n" + cBox3.getText();
                tView.setText("您选择了:"+str);

            }
        });

    }
}

public class MainActivity extends AppCompatActivity {
    private EditText etUserName;
    private EditText etPassword;
    private Button btnLogin;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//初始化控件                    
         etUserName = findViewById(R.id.etUserName);

 etPassword = findViewById(R.id.etPassword);

 btnLogin = findViewById(R.id.btnLogin);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

String username= etUserName.getText().toString();                                                 
String password= etPassword.getText().toString();                                               

Toast.makeText( MainActivusernames,

"用户名:"+ username+"\n密码:"+password,

Toast.LENGTH_SHORT).show(); //Toast提示信息

}

});                                                      }
   }

;