1.如何搭建Android开发环境?
答案:搭建Android开发环境需要以下几个步骤:
(1)下载和安装JDK
(2)配置PATH环境变量
(3)下载和安装Android Studio
(4)创建Android模拟器
(5)下载和安装Android SDK
2.Activity的作用是什么?
答案:Activity是Android程序中的四大组件之一,为用户提供可视化界面及操作。每个APP中可以包含多个Activity,每个Activity负责管理一个用户界面。在界面中可以添加多个控件,并编写相应的后台代码切换到其他界面。
- 试述建立Android系统开发项目的过程和步骤。
答案:(1)在Android Studio集成环境中生成Android应用项目框架
(2)修改或编写Java源程序
(3)修改或编写xml界面源程序
(4)调用模拟器运行应用程序
- 常用对话框有哪些,分别有什么作用?
答案:如果需要可交互的对话框,可以使用安卓SDK提供的AlertDialog类构建可交互的对话框,让用户选择和确认信息。此外安卓SDK还提供了用于日期和时间选择的对话框类DatePickerDialog和TimePickerDialog,这两个类继承自AlertDialog类,使用上相对比较简单。安卓SDK还提供了ProgressDialog进度条对话框,这种对话框运行期间用户不能与主界面交互,不推荐使用。
- Android中有几种数据存储方式以及各自特点?
答案:Android平台的数据存储方式有SharedPreferences配置文件、文件存储、SQLite数据库等。SharedPreferences是Android提供的用来存储简单配置信息的存储方式,底层采用XML文件存储数据。文件存储,用途更广泛,可以存储各种类型的数据。JSON是一种轻量级数据交换格式,现在广泛使用。SQLite数据库提供关系数据的存储,可以存储大量数据。
- 广播是什么?为何引入广播这一组件?
答案:广播是一种在应用程序内、应用程序之间传输消息的机制,当某些事件发生时,Android系统、应用程序都可以使用广播向其他应用发送这些事件信息。
在应用中添加广播组件,可以接收Android系统或者其他应用发出的广播事件,然后根据广播事件做相应的处理。
- 简述Intent的定义和用途。
答案:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。Intent的一个最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。
- 请简要说明Android中有几种布局,以及每种布局的特点。
答案:线性布局(水平或垂直排列控件)、相对布局(通过相对定位方式指定控件位置)、帧布局(为每个加入其中的控件创建一个空白区域)、表格布局(以表格形式排列控件)、约束布局ConstraintLayout使用约束的方式来指定各个控件的位置和关系,设置控件的位置和尺寸更加灵活,有效地解决了嵌套过多的问题。
- SQLite数据库是如何创建的?
答案:Android应用开发时,需要继承SQLiteOpenHelper类定义自己的数据库工具类,该工具类用来创建数据库、创建表、升级数据库表的操作。自定义类时,需要重写SQLiteOpenHelper类中的onCreate()方法、onUpgrade()方法和构造方法。
- 请简述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>
- 设计控制文件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个输入框、2个单选按钮和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个复选按钮和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提示信息
}
}); }
}