android考试题
一、选择题
1. Math.round(11.5)等于多少( ). Math.round(-11.5) 等于多少( C ).
A、11 ,-11 B、11 ,-12
C、12 ,-11 D、12 ,-12
2. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行( D )
A、onPause() B、onCreate()
C、 onResume() D、onStart()
3. Intent传递数据时,下列的数据类型哪些可以被传递 ( A B C D )(多选)
A、String B、Int C、List D、Bundle
4. 下列哪些语句关于内存回收的说明是正确的? ( B )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
5.下列代码的执行结果是:( B ) public class Test3{ public
static void main(String args[]){ System.out.print(100%3);
System.out.print(“,”); System.out.println(100%3.0); } }
A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0
6. android 中下列属于Intent的作用的是( C )
A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会
因为切换页面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
7. 在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以
对数据库版本进行管理的方法可以是( AB ) 多选
A、getWriteableDatabase()
B、getReadableDatabase()
C、getDatabase()
D、getAbleDatabase()
8. 下面是属于GLSurFaceView特性的是( ABC )(多选)
A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视
图
view上。
B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。
C、让渲染器在独立的线程里运作,和UI线程分离。
D、可以直接从内存或者DMA等硬件接口取得图像数据
9. 下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的( A )
A、<receiver android:name="NewBroad">
<intent-filter>
<action
android:name="android.provider.action.NewBroad"/>
<action>
</intent-filter>
</receiver>
B、<receiver android:name="NewBroad">
<intent-filter>
android:name="android.provider.action.NewBroad"/>
</intent-filter>
</receiver>
C、<receiver android:name="NewBroad">
<action
android:name="android.provider.action.NewBroad"/>
<action>
</receiver>
D、<intent-filter>
<receiver android:name="NewBroad">
<action>
android:name="android.provider.action.NewBroad"/>
<action>
</receiver>
</intent-filter>
10. 我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器
就会变得越慢,那么线程销毁的方法是( A )
A、onDestroy()
B、onClear()
C、onFinish()
D、onStop()
11. 下面退出Activity错误的方法是( C )
A、finish()
B、抛异常强制退出
C、System.exit()
D、onStop()
12. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是( D )
A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定
拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认
为是同一个概念.
B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定
拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说
不是一个概念.
C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有
一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是
一个概念.
D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有
一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为
是同一个概念.
13. Android项目工程下面的assets目录的作用是什么( B )
A、放置应用到的图片资源。
B、主要放置多媒体等数据文件
C、放置字符串,颜色,数组等常量数据
D、放置一些与UI相应的布局文件,都是xml文件
14.关于res/raw目录说法正确的是( A )
A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B、这里的文件是原封不动的存储到设备上会转换为二进制的格式
C、这里的文件最终以二进制的格式存储到指定的包中
D、这里的文件最终不会以二进制的格式存储到指定的包中'
15.android系统安装软件格式是( C )
A.PXL B.SIS C.APK D.DA
1.在android程序中,Log.w()用于输出什么级别的日志信息?( 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、TextView tv = (TextView)this.findViewById(R.string.bookName);
3、如果将一个TextView的android:layout_height属性值设置为wrap_content,那么该组件将是以下哪种显示效果?( D )
A、该文本域的宽度将填充父容器宽度
B、该文本域的宽度仅占据该组件的实际宽度
C、该文本域的高度将填充父容器高度
D、该文本域的高度仅占据该组件的实际高度
4、给一个TextView设置红色字体,应该使用以下哪种写法?( A )
A、setTextColor(0xffff0000);
B、setColor("0xffff0000")
C、setTextColor("0xffff0000")
D、setColor("red")
5、对于一个Activity,在AndroidManifest.xml中对他这样进行定义 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /></intent-filter>,这样的描述代表什么含义?( B )
A、无明确含义,每个Activity都需要这样定义
B、代表该Activity将作为程序的主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
二、简答题,共5题,第5题10分,其它每题5分,共计30分
1.Android中数据存储的方法有几种?分别是什么?
有五种
分别为:
(1)使用SharedPreferences存储数据
(2)文件存储数据
(3)SQLite数据库存储数据
(4)使用ContentProvider存储数据
(5)网络存储数据
2.请介绍下Android中常用的五种布局。
FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局), RelativeLayout(相对布局),TableLayout(表格布局)
3、什么是Intent?其作用是什么?
Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,
由Intent来协助完成android各个组件之间的通讯。
intent主要是用来启动其他的activity 或者service,所以可以将intent理解成activity之间的粘合剂。
4、简述Android应用程序结构是哪些?
应用程序(Application)
应用程序框架(Appliciation Framework)
各种库(Libraries)和Android运行环境(RunTime)
操作系统层(OS)
5、Android中网络通信的方法有几种?简述Aapche Http协议模拟浏览器通讯的步骤。
三、编程题:
SQLite数据库编程,实现数据库的创建、表的创建、对表进行操作,要求如下:
请继承SQLiteOpenHelper实现:(25分)
1).创建一个版本为1的“ptac.db”的数据库 (10分)
2).同时创建一个“person”表(包含一个id主键并自增长,name字符型50长度, age整型20长度) (10分)
3).添加一条数据到数据库中 (5分)
package com.example.lession05_db.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBSQLiteOpenHelper extends SQLiteOpenHelper {
private static final String name = "CSDN.db";
private static final int version = 3;
public DBSQLiteOpenHelper(Context context) {
super(context, name, null, version);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person(personid integer primary key autoincrement,name varchar(20),age integer )");
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("alter table person add account integer");
}
}
package com.example.lession05_db.db.dao;
import android.database.sqlite.SQLiteDatabase;
import com.example.lession05_db.domain.Person;
public class PersonDaoImpl {
public void insert(SQLiteDatabase db, Person entity) {
if (db.isOpen()) {
db.execSQL(
"insert into person(name,age,account) values(?,?,?)",
new Object[] { entity.getName(), entity.getAge(),
entity.getAccount() });
db.close();
}
}
}
package com.example.lession05_db.domain;
import java.io.Serializable;
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private Integer age;
private Integer account;
public Person() {
super();
}
public Person(Integer id, String name, Integer age, Integer account) {
super();
this.id = id;
this.name = name;
this.age = age;
this.account = account;
}
//此处省略setert和getter方法,以及tostring方法
}
android考试题的更多相关文章
- 《Android学习指南》目录
源:<Android学习指南>目录 Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这 ...
- 《Android学习指南》文件夹
转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描写叙述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
随机推荐
- poj 3304 Segments
Segments 题意:给你100以内的n条线段,问你是否存在一条直线,使得题给的线段在这条直线上的“投影” 相交于一点: 思路: 1.先要将线段投影相交于一点转变为存在一条直线与所有的线段相交: 很 ...
- C语言实现的顺序表
顺序表是用一段地址连续的存储单元依次存储数据元素的线性结构.顺序表可分为静态存储和动态存储,静态顺序表比较简单,数据空间固定,而动态顺序表可以动态增容,便于存放大量数据,现主要把动态的基本实现一下~此 ...
- 两台主机打通ssh
ssh打通基本概念:如果需要通过SSH进行远程登录,我们一般是需要手动输入密码,但如果将SSH之间的权限打通的话,就可以实现无密码登录.这对shell脚本的定时执行有很大的帮助. (一),生成秘钥,先 ...
- jquery仿ios日期时间插件
Demo下载: 手机时间控件.zip 使用之前,请在页面中加入以下js和css: jquery-1.9.1.js mobiscroll.core-2.5.2.js mobiscroll.core-2. ...
- BZOJ 1574: [Usaco2009 Jan]地震损坏Damage
Description 农夫John的农场遭受了一场地震.有一些牛棚遭到了损坏,但幸运地,所有牛棚间的路经都还能使用. FJ的农场有P(1 <= P <= 30,000)个牛棚,编号1.. ...
- 【技术贴】破解Myeclipse10.7
程序用的是http://www.cr173.com/soft/58306.html这个破解程序,是英文版的中文版.使用起来非常爽,看下面 使用期间关掉Myeclipse 期间的第三步,点击激活,此时会 ...
- 在安全层面,企业如何获得更好的投资回报率 ROI?
前言 任何企业对投资都有回报的要求,回报可能是直接的「利润」,达到短期.长期的目标,或者通过投资减少损失.因此每个项目的决策者在每笔投资前都要衡量 ROI,证明该投资能达到的效果和收益,以便在项目结束 ...
- SecureCRT 绝佳配色方案, 保护你的眼睛
http://blog.csdn.net/zklth/article/details/8937905 关键词:SecureCRT配色, SecureCRT设置颜色, Linux终端配色,Linux ...
- 【HDU 2855】 Fibonacci Check-up (矩阵乘法)
Fibonacci Check-up Problem Description Every ALPC has his own alpc-number just like alpc12, alpc55, ...
- 视频硬解api介绍
在一个gpu如此强大的时代,视频解码怎么能少了gpu厂商的参加.为了用硬件加速视频解码,厂商定义了一些api. 好吧,一旦和硬件打交道,就会有os的参加,有了硬件与os参加,api肯定会变成很凌乱,看 ...