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));
}
});
}
}

  1. 在界面设计中,添加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);
}
});

}
}

  1. 在界面设计中,安排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提示信息

}

}); }
}

相关推荐
江上清风山间明月1 小时前
Flutter开发的应用页面非常多时如何高效管理路由
android·flutter·路由·页面管理·routes·ongenerateroute
子非衣5 小时前
MySQL修改JSON格式数据示例
android·mysql·json
openinstall全渠道统计8 小时前
免填邀请码工具:赋能六大核心场景,重构App增长新模型
android·ios·harmonyos
双鱼大猫8 小时前
一句话说透Android里面的ServiceManager的注册服务
android
双鱼大猫8 小时前
一句话说透Android里面的查找服务
android
双鱼大猫8 小时前
一句话说透Android里面的SystemServer进程的作用
android
双鱼大猫8 小时前
一句话说透Android里面的View的绘制流程和实现原理
android
双鱼大猫9 小时前
一句话说透Android里面的Window的内部机制
android
双鱼大猫9 小时前
一句话说透Android里面的为什么要设计Window?
android
双鱼大猫9 小时前
一句话说透Android里面的主线程创建时机,frameworks层面分析
android