Android期末复习题

一、选择题(20分,每小题2分)

1、下列不是手机操作系统的是( D  

A  Android    

B  Window Mobile  

C  Apple IPhone IOS    

D  Windows Vista  

2、下列选项哪个不是 Activity 启动的方法  B   

A  startActivity            

B  goToActivity   

C  startActivityForResult    

D  startActivityFromChild

3、下列哪个不是 Activity 的生命周期方法之一(B    

A  onCreate

B  startActivity    

C onStart  

D  onResume

4、下列哪个可做 Android 数据存储( A    

A  SQlite 

B  MySql  

C  Oracle  

D  DB2 

5、下列哪个可做EditText编辑框的提示信息( D

A  android:inputType     

B  android:text

C  android:digits          

D  android:hint

6、Math.ceil(99.1) 的结果是(B  )

A  99     

B  100  

C  99.1  

D  99.0

7、android 中下列属于Intent的作用的是(C)

A  实现应用程序间的数据共享

B  是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C  可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D  处理一个应用程序整体性的工作

8、关于 res/raw 目录说法正确的是 (A)

A  这里的文件是原封不动的存储到设备上不会转换为二进制的格式 

B  这里的文件是原封不动的存储到设备上会转换为二进制的格式 

C  这里的文件最终以二进制的格式存储到指定的包中 

D  这里的文件最终不会以二进制的格式存储到指定的包中 

9、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(  C)

A 11 ,-11   

B 11 ,-12   

C 12 ,-11   

D 12 ,-12

10、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A  )

A onDestroy()  

B onClear()  

C onFinish()

D onStop()

二、填空题(10 ,10 ,每空 1 )

1为了使 android 适应不同分辨率机型,布局时字体单位应用  sp    ),像素单位应用(  sp    )和(  dip     

2定义 LinearLayout 水平方向布局时至少设置的三个属性:  android:orientation),android:layout _width )和(android:layout _height 

3layout 布局文件的命名不能出现字母  大写   

4 设置 TextView 字体的属性是:  android:typeface        )。 

5Android 四大组件是(  Activity),(Service),(BroadcastReceiver)和(ContentProvider)。 

三、判断题(10 ,10 ,每小题 1 )

1Intent android 的四大组件之一。(  x     

2Activity onStop() onDestroy() 方法效果是差不多的。(  x     

3Android 工程中,放在 res/assets/下的资源文件都会在 R.java 文件里生成相应的编号。  v     

4res\layout\下面定义的 xml 文件不可以大写。(  v     

5、在 n 个元素进栈后,它们的出栈顺序和进栈顺序一定正好相反。(   v    

6、对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。(   v    

7、队列是一种对进队列、出队列操作的次序做了限制的线性表。(  v     

8、树中元素之间是多对多的关系。(  v     

9、顺序查找方法只能在顺序存储结构上进行。(   v    

10、当待排序记录规模较小时,选用直接插入排序算法比较好。(    v   

四、简答题(共6题,每小题5分)

1、请介绍下 Android 中常用几种布局(至少 3 种,多一个加 2 分) 

线性布局 LinearLayout

表格布局 TableLayout

相对布局 RelativeLayout  

幀布局 FrameLayout  

绝对布局 AbsoluteLayout  

网格布局 GridLayout

扁平化布局 ConstraintLayout

2.Android 工程下面有个 gen 目录,该目录下有个 R..java 文件,该文件的作用是什么,能不能修改,为什么 ?

答:作用:该文件相当于项目的字典,项目中所涉及到的用户界面、字符串、图片、声音等资源都会在该文件中创建一个 ID 编号,这些编号为整型,以 16 进制自动生成。项目要使用这些资源时,会通过这个类得到资源的引用。不能够被修改 。

3、把文件名为“图片 1.jpg”的一张图片放到 android 工程下的 res/drawable-mdpi 下,会不会报错,为什么? 

答:不会。因为使用 Android 系统的手机可能采用不同的分辨率,所以在开发的时候会要求有不同分辨率的图片, drawable-hdpi 存高分辨率的 ,drawable-mdpi 存中等分辨率的,drawable-ldpi 存低分辨率的,所以,你要把相同的图片用图片处理软件处理成不同的分辨率的图片,然后分别保存,当然了,如果你嫌麻烦,也可以在三个目录下保存相同的图片,这样也没有问题,但是不符合开发的初衷。 

4 、运行 Android 应用程序的时候在 Console 上出现了红色的错误, Installation error:INSTALL_FAILED_INSUFFICIENT_STORAGE。这是什么错误,遇到这种错误该怎么解决?

答: 这个错误是因为 ROM 已满造成的,不过 Android经过多次实践,一般出现在 Eclipse 往手机安装时这部分的错误,主要是因为多次执行了运行某程序,ADB每次都需要进行安装产生了多个实例写一个文件,造成了共享违例。解决的办法就是:1)检查手机的剩余空间。储存空间大小  2)每次执行一个安装实例 

5 利用所学的知识,写出能生成 50-100 之间的随机数地简要代码 

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"   
android:layout_width="fill_parent"
android:layout_height="fill_parent"  > 
<TableRow  
android:layout_width="fill_parent"   
android:layout_height="fill_parent">     
<Button 
android:id="@+id/sjbtn"   
android:layout_width="wrap_content"
android:layout_height="wrap_content"   
android:text="随机数" /> 
<EditText 
android:id="@+id/et"    
android:layout_width="fill_parent"   
android:layout_height="wrap_content" /> 
</TableRow>
</LinearLayout>
---------------------------------------------------------------
MainActivity.java代码: 
public class MainActivity extends Activity 
{ 
  Button sjbtn;
  static EditText et; 
  int a; 
  public void onCreate(Bundle savedInstanceState) {         
  super.onCreate(savedInstanceState);          
  setContentView(R.layout.main);        
  sjbtn=(Button)this.findViewById(R.id.sjbtn);        
  et=(EditText)this.findViewById(R.id.et);        
  sjbtn.setOnClickListener(new OnClickListener(){ 
   @Override 
   public void onClick(View v) {     
       if(v==sjbtn){ 
          a=(int)Math.max(Math.round(Math.random()*100), 50);  
          et.setText(" "+a); 
       }
     }
   }); 
 }
} 

6、Bitmap.Config 下的几个图片质量参数: 

 Bitmap.Config ALPHA_8   

Bitmap.Config ARGB_4444    

Bitmap.Config ARGB_8888   

Bitmap.Config RGB_565  

简要解释下每个参数的含义  

 A  R  G  B 透明度 红色 绿色 蓝色 

Bitmap.Config ARGB_4444   16  每个像素 占四位    

Bitmap.Config ARGB_8888   32  每个像素 占八位   

Bitmap.Config RGB_565   16  R 5   G 6   B 5  没有透明度(A 

五、编程题(30分,共3题,每小题10分)

下列程序实现了一个简单的计算的效果,阅读程序并补充填空。 

1. main.xml 的代码如下 

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation=_”vertical”__或“horizontal”_______(1) _> 
<EditText      
android:id="@+id/EditText01"     
android:layout_width="100dip"     
android:layout_height="wrap_content" /> 
<TextView 
android:layout_width=__fill_parent________(2)________________     android:layout_height="wrap_content"     
android:text="+" /> 
<EditText      
android:id="@+id/EditText02"     
android:layout_width="100dip"     
android:layout_height="wrap_content" />
<Button      
android:id="@+id/computeButton"     
android:layout_width="100dip"     
android:layout_height="wrap_content"     
android:text="计算"  /> 
</LinearLayout> 

2.下面是ComputeActivity.java的代码如下:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 
public class ComputeActivity extends Activity implements OnClickListener{ 
    Button jsbtn;     
    EditText et1,et2;     
    int a,b,c; 
    @Override     
    public void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState);         
   setContentView(R.layout.main); 
   jsbtn=(Button)this.findViewById(R.id.computeButton);         
   et1=(EditText)this.findViewById(R.id.EditText01);         
   et2=(EditText)this.findViewById(R.id.EditText02);         
   jsbtn.setOnClickListener(this); 
    } 
   @Override  
   public void onClick(View v) {   
   if(v==jsbtn){ 
   a=Integer.parseInt(et1.getText().toString());    
   b=Integer.parseInt(et2.getText().toString()); 
   c=a+b; 
  } 
  Toast.makeText(ComputeActivity.this, "计算结果为:"+c, Toast.LENGTH_LONG).show(); 
 } 
} 

 附加选择题

1、在android程序中用于输出什么级别的日志信息(C)

A、调试

B、信息

C、警告 

D、错误

2、在Activity中需要找到一个id是bookName的的TextView组件,下面哪种语句写法是正确的(C)

A、TextView tv = this.findViewById(R.id.bookName);

B、TextView tv = (TextView)this.findViewById(R.id.code);

C、TextView tv = (TextView)this.findViewById(R.id.bookName);

D、TextViewtv=(TextView)this.findViewById(R.string.bookName)

3、如果将一个TextView的android:layout_height属性值设置为 那么该组件将是以下哪种显示效果(D)

A、该文本域的宽度将填充父容器宽度

B、该文本域的宽度仅占据该组件的实际宽度

C、该文本域的高度将填充父容器高度

D、该文本域的高度仅占据该组件的实际高度

4、给一个TextView设置红色字体 应该使用以下哪种写法(A)

A、setTextColor(0xffff0000);

B、setColor("0xffff0000")

C、setTextColor("0xffff0000")

D、setColor("red")

5、对于一个在AndroidManifest.xml中对他这样进行定义

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent- 这样的描述代表什么含义 (B

A、无明确含义 每个Activity都需要这样定义

B、代表该Activity将作为程序的主并且在LAUNCHER菜 单中启动

C、代表该Activity将在桌面上建立图标并启动

D、代表该Activity的优先级高于其他的Activity

6、在Android应用程序中 图片应放在那个目录下(D)

A、raw

B、values

C、layout

D、drawable

7、关于AndroidManifest.xml文件 以下描述错误的选项有哪些 (A )

A、在所有的元素中只有<manifest>和<application>是必需的 且只 能出现一次

B、处于同一层次的元素 不能随意打乱顺序

C、元素属性一般都是可选的 但是有些属性是必须设置的

D、对可选的属性 即使不写 也有默认的数值项说明

8、如果使用LinearLayout实现组件垂直排列 那么在xml中应添加什么属性进行设置(A)

A、android:orientation="vertical"

B、android:vertical="true"

C、android:orientation="horizontal"

D、android:horizontal="true"

9、在AndroidManifest.xml中描述一个Activity时 该Activity 的label属性是指定(B)

A、指定该Activity的图标

B、指定该Activity的显示标签

C、指定该Activity和类相关联的类名

D、指定该Activity的唯一标示

10、Activity生命周期中 第一个需要执行的方法是(B)

A、onStart

B、onCreate

C、onReStart

D、onResume

11、退出 activity 对一些资源以及状态的操作保存 可以在生命周期的哪个函数中进行 (D)

A、onPause()

B、onCreate()

C、onResume()

D、onStart()

12、 Android 项目工程下面的 assets 目录的作用是什么 (B)

A、放置应用到的图片资源Res/drawable  

B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面

C、放置字符串 颜色 数组等常量数据 res/values  

D、放置一些与UI 相应的布局文件 都是 xml 文件 res/layout

13、 下列不属于android布局的是(C)

A、FrameLayout

B、LinearLayout 

C、BorderLayout

D、TableLayout

14、 Intent 的作用的是 (A)

A、intent是连接四大组件的纽带,可以实现界面间切换 可以包含动作和动作数据 

B、是一段长的生命周期 没有用户界面的程序 可以保持应用在后台运行而不会因为切 换页面而消失 

C、实现应用程序间的数据共享 contentprovider

D、处理一个应用程序整体性的工作

15、 下列哪个是AbsoluteLayout中特有的属性 (B)

A,android:layout_height

B,android:layout_x

C,android:layout_above

D,android:layout_toRightOf

16、 在手机开发中常用的数据库是(A)

A  sqlLite

B  Oracle

C  Sql Server

D  Db23

17、 关于BroadcastReceiver的说法不正确的是(B)

A,是用来接收广播Intent的

B,一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收

C,对有序广播 系统会根据接收者声明的优先级别按顺序逐个执行接收者

D,接收者声明的优先级别在<intent-filter>的android:priority属性中声明 数值越大优先级别越高

18、 在多个应用中读取共享存储数据时 需要用到的query方法 是哪个对象的方法(A)

A, ContentResolver

B, ContentProvider

C, Cursor

D, SQLiteHelper

19、 能够自动完成输入内容的组件是___(D)

A,TextView

B,EditText

C,ImageView

D,AutoCompleteTextView

10、 处理菜单项单击事件的方法不包含__(D)

A,使用onOptionsItemSelected(MenuItem item)响应

B,使用onMenuItemSelected(int featureId ,MenuItem item)响应

C,使用onMenuItemClick(MenuItem item)响应

D,使用onCreateOptionsMenu(Menu menu)响应

猜你喜欢

转载自blog.csdn.net/qq_38452951/article/details/90178980