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提示信息

}

}); }
}

相关推荐
西瓜本瓜@2 小时前
在Android中如何使用Protobuf上传协议
android·java·开发语言·git·学习·android-studio
似霰5 小时前
安卓adb shell串口基础指令
android·adb
fatiaozhang95277 小时前
中兴云电脑W102D_晶晨S905X2_2+16G_mt7661无线_安卓9.0_线刷固件包
android·adb·电视盒子·魔百盒刷机·魔百盒固件
CYRUS_STUDIO8 小时前
Android APP 热修复原理
android·app·hotfix
鸿蒙布道师8 小时前
鸿蒙NEXT开发通知工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
鸿蒙布道师9 小时前
鸿蒙NEXT开发网络相关工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
大耳猫9 小时前
【解决】Android Gradle Sync 报错 Could not read workspace metadata
android·gradle·android studio
ta叫我小白9 小时前
实现 Android 图片信息获取和 EXIF 坐标解析
android·exif·经纬度
dpxiaolong10 小时前
RK3588平台用v4l工具调试USB摄像头实践(亮度,饱和度,对比度,色相等)
android·windows
tangweiguo0305198711 小时前
Android 混合开发实战:统一 View 与 Compose 的浅色/深色主题方案
android