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 小时前
ImageView android:scaleType各种属性
android·imageview各种属性
Hi-Dison3 小时前
OpenHarmony系统中实现Android虚拟化、模拟器相关的功能,包括桌面显示,详细解决方案
android
事业运财运爆棚4 小时前
http 502 和 504 的区别
android
峥嵘life6 小时前
Android Studio新版本的一个资源id无法找到的bug解决
android·bug·android studio
编程乐学6 小时前
网络资源模板--Android Studio 实现绿豆通讯录
android·前端·毕业设计·android studio·大作业·安卓课设·绿豆通讯录
朴拙数科9 小时前
mysql报错解决 `1525 - Incorrect DATETIME value: ‘0000-00-00 00:00:00‘`
android·数据库·mysql
1登峰造极11 小时前
scroll-view 实现滑动显示,确保超出正常显示,小程序app,h5兼容
android·小程序
刘争Stanley11 小时前
Android 15(V)新功能适配,雕琢移动细节之美
android·kotlin·android 15·android v
小狗爱世界11 小时前
深入解析Binder源码
android·binder
qq_2146703511 小时前
android 聊天界面键盘、表情切换丝滑
android·gitee