Android背诵87题-总结

合集下载

Android从入门到精通100题(含答案和解析)

Android从入门到精通100题(含答案和解析)

Android从入门到精通100题(含答案和解析)Android 100题----根据《Android从入门到精通》(一)判断题1. 在Eclipse中开发Android应用,需要安装插件AVD来辅助开发。

(×)【ADT(Android Develop Tools);AVD(Android Virtual Device)安卓虚拟设备即模拟器】P20 2. 在Android项目开发时,当res包中的资源发生变化时,需要同时手动修改对应的R文件中的静态内部类中的常量。

(×)P273. Assets包用于保存原始资源文件,其中的文件会编译到.apk中,并且原文件名会被保留。

可以使用URI来定位该文件夹中的文件,然后使用AssetManager类以流的方式来读取文件内容。

(√) 4. Drawable子包只用来保存图片资源。

(×)【还会保存XML文件】P2425. Mksdcard命令可以快速创建NTFS磁盘镜像,启动模拟器时加载该磁盘镜像,可以模拟真实设备的SD卡。

(×)【FAT32】P486. 使用Mksdcard命令创建的模拟器的SD卡,其最小为9MB,最大为1024GB。

(×)【1023GB】P497. 在TableLayout中,可以设置相应的属性使列被隐藏(android:collapseColumns)、收缩(android:shrinkColumns)或拉伸(android:stretchColumns),列序号从0开始,多个列序号之间用“|”分隔。

(×)【列号以“,”分隔】P708. DatePicker对象获取到的月份需要加1,才能表示真正的月份。

(√)P1079. 进度条组件(ProcessBar)中的方法incrementProgressBy(int diff)用于设置进度条的增加或减少。

当参数值大于1时,表示进度增加;小于1时,表示进度减少。

Android复习题

Android复习题

Android复习题Android复习题⼀、选择题1. Android 中下列属于 Intent 的作⽤的是 ( C )A .实现应⽤程序间的数据共享B .是⼀段长的⽣命周期,没有⽤户界⾯的程序,可以保持应⽤在后台运⾏,⽽不会因为切换页⾯⽽消失C .可以实现界⾯间的切换,可以包含动作和动作数据,连接四⼤组件的纽带D .处理⼀个应⽤程序整体性的⼯作2. 在 Android 中使⽤ Menu 时可能需要重写的⽅法有 (AC ) 。

A . onCreateOptionsMenu()B . onCreateMenu()C . onOptionsItemSelected()D . onItemSelected()3. 在 Android 中使⽤ SQLiteOpenHelper 这个辅助类时,可以⽣成⼀个数据库,并可以对数据库版本进⾏管理的⽅法可以是 (AB )A . getWriteableDatabase()B . getReadableDatabase()C . getDatabase()D . getAbleDatabase()4. 下列哪个不是 Activity 的⽣命周期⽅法之⼀(B)A .onCreateB .startActivity C.onStart D .onResume5. Android 关于 service ⽣命周期的 onCreate() 和 onStart() 说法正确的是 ( A D)A .当第⼀次启动的时候先后调⽤ onCreate() 和 onStart() ⽅法B .当第⼀次启动的时候只会调⽤ onCreate() ⽅法C .如果 service 已经启动,将先后调⽤ onCreate() 和 onStart() ⽅法D .如果 service 已经启动,只会执⾏ onStart() ⽅法,不再执⾏ onCreate() ⽅法6. 下⾯在 AndroidManifest.xml ⽂件中注册 BroadcastReceiver ⽅式正确的 ( A )A . <receiver android:name= " NewBroad " ><intent-filter><actionandroid: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 " ><actionandroid: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>7. 我们都知道 Hanlder 是线程与 Activity 通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的⽅法是 ( A)A . onDestroy()B . onClear()C . onFinish()D . onStop()8. 下⾯退出 Activity 错误的⽅法是 (C )A . finish()B .抛异常强制退出C . System.exit()D .onStop()9. Android 项⽬⼯程下⾯的 assets ⽬录的作⽤是什么 (B)A .放置应⽤到的图⽚资源。

安卓期末考试知识总结

安卓期末考试知识总结

安卓期末考试知识总结第一章:Android基础入门习题总结1.Android系统采用分层架构,由高到低分为4层,主要为:应用程序层、应用程序框架层、核心类库、Linux内核2.在Android项目程序开发完成后中,必须__打包成_正式的Android安装文件,才能发布到互联网上让用户下载使用。

3.Android 工程中src目录下存放_java__文件重点知识1.应用层:应用层是核心应用程序的集合。

手机上所有的应用都属于这一层,程序,短信程序。

2.应用程序框架层:应用程序框架层主要提供构建应用程序时用到的各种API,例如:活动管理器、通知管理器、内容提供者3.核心类库:核心类库中包含了系统库及Android运行环境。

(1)系统库主要通过c/c++库为Android系统提供主要的特性支持(2)Android运行时库主要提供一些核心库,允许开发者使用java语言来编写Android应用程序4.Linux内核:为Android·设备的各种硬件提供底层的驱动,如显示驱动、音频驱动、蓝牙驱动、电源管理驱动Android工程中的assets目录主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中更为细分的5层架构:应用程序层、应用程序框架层、核心类库、硬件抽象层 (HAL)、Linux内核硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。

HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。

当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

第二章:Android常见桌面布局&第三章:Android常见界面控件知识总结1.Android应用的界面是由View 对象和 ViewGroup 对象构建而成的。

ViewGroup继承自View,ViewGroup作为容器盛装界面中的其他控件Android应用的每个界面的根元素必须有且只有一个ViewGroup容器Android常见布局和特点:Android中常见的五种布局:相对布局(RelativeLayout)、线性布局(LinearLayout)、表格布局(TableLayout)、帧布局(FrameLayout)、约束布局(ConstraintLayout)1.相对布局(RelativeLayout):相对布局是一种基于相对位置的布局方式,可以通过设置组件相对于其他组件或父容器的位置来实现布局。

(完整版)Android课后习题

(完整版)Android课后习题

第1章Android 基础入门一、填空题1、Android 是Google 公司基于Linux 、操作系统2、Android 系统采用分层结构,应用程序层、应用程序框架层、核心类库、Linux 内核。

3、ADB 的常见指令中,用于开启ADB 服务的是adb start-server。

4、在Android 程序中,src 目录用于放置程序的java 代码文件5、Android 程序开发完成后,如果要发布到互联网上供别人使用,打包成.apk 文件二、判断题1、Android 实际上就是一个手机。

×2、WCDMA 是中国自己独自定制的3G 标准,中国移动使用的就是这种标准。

×3、android 第一个版本Android 1.1是2008年9月发布的。

√4、gen 目录是自动生成的,主要有一个R.java 文件,该文件可手动修改。

×5、AndroidManifest.xml 文件是整个程序的配置文件。

√三、选择题1、随着智能手机的发展,移动通信技术也在不断升级,目前应用最广泛的是(C )A 、1GB 、2GC 、3GD 、4G2、ADT Bundle中包含了三个重要组成部分,分别是(ABC )A 、EclipseB 、SDKC 、SDK Manager,exeD 、ADB3、应用程序层是一个核心应用程序的集合,主要包括(B )A 、活动管理器B 、短信程序C 、音频驱动D 、Dalivik 虚拟机4、ADB 的常见指令中“列出所有设备”的指令是(C )A 、adb uninstallB 、adb installC 、adb deviceD 、adb emulator -avd5、创建程序时,填写的Application Name表示(A )A 、应用名称B 、项目名称C 、项目的包名D 、类的名字四、简答题1、简要说明Android 体系结构中每个层的功能。

Android 体系结构总共包含四层,分别是:● 应用程序层:设备上安装的软件应用都属于这一层● 应用程序框架层:包含应用API● 核心类库:包含系统库和运行环境,系统库包含了底层C 代码;运行环境包含了Java的核心库和Dalvik 虚拟机● Linux 内核:提供Android 的底层驱动。

android考试复习资料

android考试复习资料

android考试复习资料Unit 4. Android ⽣命周期Android 系统中的进程优先级由⾼到低前台进程⾼优先级中优先级低优先级可见进程服务进程后台进程空进程Android 组件组件是可以调⽤的基本功能模块,Android 应⽤程序就是由组件组成的Android 系统有四个重要的组件,分别是Activity 、Service 、BroadcaseReceiver 和ContentProviderActivity 是Android 程序的呈现层,显⽰可视化的⽤户界⾯,Android 应⽤程序可以包含⼀个或多个Activity ,⼀般在程序启动后会呈现⼀个Activity 。

Service ⽤于没有⽤户界⾯,但需要长时间在后台运⾏的应⽤ BroadcaseReceiver 是⽤来接受并响应⼴播消息的组件ContentProvider 是Android 系统提供的⼀种标准的共享数据的机制,应⽤程序可以通过ContentProvider 访问其他应⽤程序的私有数据,私有数据可以是存储在⽂件系统中的⽂件,也可以是SQLite 中的数据库Activity 表现为四种状态,分别是活动状态、暂停状态、停⽌状态和⾮活动状态Activity 事件的回调函数: protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop();protected void onDestroy(); Activity:onCreateonDestroyonStartonStoponResumeonPauseonRestore InstanceStateonSave InstanceStateonRestart活动⽣命周期可视⽣命周期全⽣命周期123456789Android 系统提供了两种调试⼯具LogCat 和DevTools ,⽤于定位、分析及修复程序中出现的错误LogCat 程序调试原理1.引⼊android.util.Log 包2.使⽤Log.v(),Log.d(),Log.i(),Log.w() 和 Log.e()五个函数在程序中设置“⽇志点”3.当程序运⾏到“⽇志点”时,应⽤程序的⽇志信息便被发送到LogCat 中4.判断“⽇志点”信息与预期的内容是否⼀致E.g. final static String TAG = "LOGCA T"; Log.v(TAG ,"Verbose");DevTools 是⽤于调试和测试的⼯具,包括了⼀系列⽤户各种⽤途的⼩⼯具Unit 5. Android ⽤户界⾯常见的系统控件包括TextView 、EditText 、Button 、ImageButton 、Checkbox 、RadioButton 、Spinner 、ListView 和TabHostTextView :显⽰字符串,EditText 是⼀个具有编辑功能的TextView 相应的XML ⽂件:android:layout_width="wrap_content" //wrap_content 表⽰TextView 的宽度只要能够包含所显⽰的字符串即可,若为fill_content 表⽰则表⽰控件宽度将等于⽗控件的宽度android:layout_height="wrap_content" android:text="TextView01" >Test.java:TextView txv=(TextView)findViewByID(R.id.TextView01);txv.setText("User:");ImageButton:将img1拷贝到/res/drawable⽂件夹下(R.java中⾃动更新)imageButton.setImageResource(R.drawable.img1);按钮响应点击事件:添加点击事件的监听器imageButton.setOnClickListener(new View.OnClickListener(){public void onClick(View view)点击事件的回调函数{txv.setText("ImageButton按钮");}})每个View仅可以注册⼀个点击事件的监听器,如果使⽤setOnClickListener()函数注册第⼆个点击事件的监听器,之前注册的监听器将被⾃动注销.多个按钮注册到同⼀个点击事件的监听器上,代码如下:Button.OnClickListener buttonListener = new Button.OnClickListener(){@Overridepublic void onClick(View v) {switch(v.getId()){case R.id.Button01:textView.setText("Button按钮");return;case R.id.ImageButton01:textView.setText("ImageButton按钮");return;}}};button.setOnClickListener(buttonListener);imageButton.setOnClickListener(buttonListener);CheckBox和RadioButton:怎样定义同组中的RadioButton?XML中:android:layout_width="wrap_content"android:layout_height="wrap_content">android:layout_width="wrap_content"android:layout_height="wrap_content“android:text="RadioButton01" >android:layout_width="wrap_content"android:layout_height="wrap_content“android:text="RadioButton02" >Test.java中:RadioButton radioButton1 =(RadioButton)findViewById(R.id.RadioButton01); RadioButton.OnClickListener rblistener=new RadioButton.OnClickListener(){public void OnClick(View v){//process;}};radioButton1.setOnClickListener(rblistener);Spinner:(similar to ComboBox)Test.java:Spinner spinner=(Spinner)findViewById(R.id.Spinner01);Listlist=new ArrayList( );list.add("item1");list.add("item2");ArrayAdapteradapter=new ArrayAdapter (this,/doc/09fa083bf12d2af90242e63f.html yout.simple_spinner_item, list ); //数组适配器能够将界⾯控件和底层数据绑定在⼀起adapter.setDropDownViewResource(/doc/09fa083bf12d2af90242e63f.htmlyout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);ListView:(垂直显⽰的列表控件)ListView listv=(ListView)findViewById(R.id.ListView01);Listlist=new ArrayList();List.add("item1");List.add("item2");ArrayAdapter adapter=new ArrayAdapter(this, /doc/09fa083bf12d2af90242e63f.html yout.simple_list_item_1, list ); listv.setAdapter(adapter); AdapterView.OnItemClickListener listvListener=new AdapterView.OnItemClickListener(){ public voidonItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { String msg =””;textView.setText(msg);}};}TabHost:实现多个分页之间的快速切换(Similar to TabControl)有⼏个tabpage就建⽴⼏个xmlTest.java:public class TabDemo extends TabActivity { //普通的都是extends Activity// 与以往继承Activity不同,TabActivity⽀持内嵌多个Activity或Viewpublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TabHost tabHost = getTabHost(); //获得Tab标签页的容器LayoutInflater.from(this).inflate(/doc/09fa083bf12d2af90242e63f.html yout.tab1,tabHost.getTabContentView(),true);//LayoutInflater将tab1.xml⽂件中的布局转换为Tab标签页可以使⽤的View对象LayoutInflater.from(this).inflate(/doc/09fa083bf12d2af90242e63f.htmlyout.tab2,tabHost.getTabContentView(),true);LayoutInflater.from(this).inflate(/doc/09fa083bf12d2af90242e63f.htmlyout.tab3,tabHost.getTabContentView(),true);tabHost.addTab(tabHost.newTabSpec("TAB1").setIndicator("线性布局").setContent(/doc/09fa083bf12d2af90242e63f.html yout01)); //使⽤addTab()函数在tabHost上添加了第1个标识为"TAB1"的分页tabHost.addTab(tabHost.newTabSpec("TAB2").setIndicator("绝对布局").setContent(/doc/09fa083bf12d2af90242e63f.html yout02)); tabHost.addTab(tabHost.newTabSpec("TAB3").setIndicator("相对布局").setContent(/doc/09fa083bf12d2af90242e63f.html yout03)); }界⾯布局:声明Android程序的界⾯布局有两种⽅法:使⽤XML⽂件描述界⾯布局在程序运⾏时动态添加或修改界⾯布局⽤户既可以独⽴使⽤任何⼀种声明界⾯布局的⽅式,也可以同时使⽤两种⽅式使⽤XML⽂件声明界⾯布局的特点:将程序的表现层和控制层分离在后期修改⽤户界⾯时,⽆需更改程序的源代码可视化界⾯加快设计线性布局LinearLayout:如果垂直排列,则每⾏仅包含⼀个界⾯元素如果⽔平排列,则每列仅包含⼀个界⾯元素框架布局FrameLayout表格布局TableLayout:添加⾏为TableRowandroid:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="/doc/09fa083bf12d2af90242e63f.html /apk/res/android"> android:layout_width="wrap_content"android:layout_height="wrap_content">相对布局(RelativeLayout):e.g.android:layout_below="@id/label"android:layout_alignParentRight="true"android:layout_toLeftOf="@id/cancel"android:layout_alignTop="@id/cancel"//声明与ID为cancel的元素在相同的⽔平位置绝对布局(AbsoluteLayout)android:layout_x="40dip"android:layout_y="40dip"菜单:Android系统⽀持三种菜单:选项菜单(Option Menu)⼦菜单(Submenu)快捷菜单(Context Menu)选项菜单分为图标菜单(Icon Menu)& 扩展菜单(Expanded Menu)。

Android复习资料

Android复习资料

(带答案)A n d r o i d复习资料(共17页)-本页仅作为预览文档封面,使用时请删除本页-选择题1. 下面不是Android四大组件之一的( B )A. Activity C. Service D. ContentProvider2. 下面关于广播叙述错误的是(A)A. 广播是Android四大组件之一B. BroadcastReceiver有两种注册方式,静态注册和动态注册C. 静态注册需要在中配置D. 动态注册需要在应用退出时候接触广播的注册。

3. 下面关于BroadcastReceiver错误的是(B):A. BroadcastReceiver有两种注册方式,静态注册和动态注册。

B. BroadcastReceiver必须在AndroidMainfest文件中声明C. BroadcastReceiver的使用,一定有一方发送广播,有一方监听注册广播,onReceive方法才会被调用。

D. 广播发送的Intent都是隐式启动。

4. 下面关于谁先接收广播顺序错误的是(B)A. 有序广播,优先级高的先接收B. 有序广播,同优先级的动静态广播接收器,静态优先于动态。

C. 有序广播,同优先级的动态广播接收器,先注册的大于后注册的。

D. 普通广播时,无视优先级,动态广播接收器优先于静态广播接收器5. 下面关于广播说法错误的是(B)A. 广播分为有序广播和无序广播B. 使用abortBroadcast方法可以中断所有广播的传递。

C. 广播注册方式分为动态和静态D. sendOrderBroadcast用来向系统广播有序事件,sendBroadcast()是用来广播无序事件。

6. 下列关于Intent启动组件说法错误的是(C)( ) B. startService( ) C. startBroadcastReceiver() ()7. 对于广播的发送,Intent的启动方式是(B)A.显式启动B. 隐式启动C. A和B都可以D. 以上说法都不正确。

Android-复习重点

Android-复习重点1、Android四大组件是什么(activity,service,content provider,broadcast receiver)2、Activity生命周期方法有哪些不要与service的生命周期方法记混淆(onCreate():当activity是被创建时候,会自动运行该方法。

该方法做一些初始化动作,比如创建views,设置数据到list等等,该方法提供了一个Bundle类型的变量,该变量中有这个activity以前的状态信息,前提是以前存过这些信息。

这个方法执行完后执行的是onStart()方法;若在onCreate方法中加入finish()方法,onCreate下一个运行onDestroy 方法onRestart():把activity从onStop状态唤醒时,会用onRestart方法,该方法优先于再次运行的onStart,运行完onRestart之后运行onStart。

若在onRestart()方法中加入finish()语句,则还是会继续运行onStart及后面的状态方法直到onDestroy运行完onStart():当activity对用户可见时会调用onStart,当activity在前台显示时,会运行onResume;当activity还没在前台显示就被隐藏(停止状态)了会运行onStop(),比如在onStart方法中用了finish()方法的话,onStart()之后就会直接运行onStop->onDestroy。

onResume():当activity开始与用户交互时,会调用onResume,并且为了用户操作此时该activity 位于activity栈的顶部。

经过某些操作后该方法执行完后执行的是onPause() onPause():当一个activity运行到onResume方法后,不管是这个activity 要销毁还是要暂停或停止,都会调用该方法。

android 笔试题及答案

android 笔试题及答案一、选择题1. 下列哪个不是Android应用的组成部分?A. 清单文件(AndroidManifest.xml)B. Java源代码文件C. 图片和资源文件D. 执行文件答案:D2. Android系统的内核基于以下哪个操作系统?A. WindowsB. LinuxC. macOSD. iOS答案:B3. 在Android开发中,以下哪个不是常用的布局文件?A. LinearLayoutB. RelativeLayoutC. FrameLayoutD. TableView答案:D4. 在Android中,以下哪个不是四大组件?A. ActivityB. ServiceC. IntentD. ContentProvider答案:C5. 在Android中,以下哪个不是常用的存储方式?A. SharedPreferencesB. SQLite数据库C. 文件存储D. 内存缓存答案:D二、填空题1. Activity的生命周期包括以下几个方法:onCreate、onStart、______、onStop、onDestroy。

填空答案:onResume2. ______是Android系统提供的轻量级跨进程通信方式。

填空答案:AIDL(Android Interface Definition Language)3. 在Android中,使用______可以发送一个广播给其他应用或系统组件。

填空答案:Intent4. 在Android开发中,______是一种将组件从布局文件中实例化的机制。

填空答案:LayoutInflater5. 使用______可以将一个应用发布到Google Play商店。

填空答案:Android Studio、Android Developer Console三、问答题1. 什么是Fragment?它的作用是什么?答案:Fragment是Android中一种可重复使用的界面组件,它可以嵌入到Activity中,并且可以独立地管理自己的生命周期。

安卓开发考试复习题库及答案

1 安卓核心组件有哪些?What are the Android core components?提供界面显示的Activtiy,提供后台计算的Service,提供进程间通信的Intent提供广播接收的BroadcastRsceiver.2 安卓key features 有哪些?Intergrated browserSQLiteMedia supportWireless servicesDVMApplication frameworkRich development environment3安卓用什么数据库?Android with what database?SQLite4几个流行的移动平台各自的IDE 是什么?IOS XcodeAndroid EclipseWindows phone Visual Studio黑莓Native平台5 R.java 是什么文件?干什么用的?在什么地方?What is R.java file?What for?In what place?R.java文件是Android项目自动生成的终态类R.java文件除了有自动标识资源的"索引"功能之外,还有另一个主要的功能,当"res"目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。

"gen/"目录下6安卓平台架构分为几层?各是什么?The Android platform structure is divided into several layers? Each is what?Android 系统分为四层,从下往上分别是Linux Kernel,Libraries 和Android Runtime,Application Framework,Applications.7创建一个UI 并运行之,有哪几个步骤?创建一个Activity把UI和Activity关联起来注册这个Activity8 Intent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中intent filter 是如何声明的?Componment name(接收者名字)Action(指定需要被执行的动作)Data(指定用于操作的数据)Category(指定目标应用程序组件的行为)ExtrasFlags定义在<activity><intent-filter></intent-filter></activity>9 Activity 的生命周期有哪些状态?状态转换时调用的方法各是什么?What is the state of the Activity life cycle? State transitionmethod called when all is what? 一个Activity 有三种状态:Running ,运行在前台(在当前Activity 栈的栈顶)。

Android应用开发复习 题集附答案

Android应用开发复习题集附答案Android应用开发复习题集附答案Android应用开发是一门具有广泛应用前景的技术,通过这个题集附答案的复习,将帮助你回顾和巩固相关知识点。

以下是一系列与Android应用开发相关的问题,并提供了详细解答。

一、Android基础知识1. 请简要描述Android系统的基本架构。

Android系统基本架构主要包括以下四个层次:- Linux内核层:提供硬件驱动、安全性等底层功能。

- 库和运行时环境层:包括C/C++库、Java库以及Dalvik虚拟机,提供给应用程序运行所需的环境。

- 应用框架层:提供开发Android应用所需的API,包括各种管理模块(Activity Manager、Package Manager等)。

- 应用层:包括各种内置应用以及第三方应用。

2. 解释Android Manifest文件的作用。

Android Manifest文件是每个Android应用都必须包含的文件,用于描述应用程序的基本信息和配置,包括应用程序的入口Activity、应用程序所需的权限、组件信息等。

3. 请简要介绍四大组件是什么,并举例说明应用场景。

四大组件包括:Activity、Service、BroadcastReceiver和ContentProvider。

- Activity: 代表应用界面的展示,比如登录界面、主界面等。

- Service: 用于执行后台任务,比如音乐播放等。

- BroadcastReceiver: 监听系统广播消息,比如监听网络状态变化等。

- ContentProvider: 用于不同应用程序之间共享数据,比如通讯录。

二、Android应用开发技术1. 请简要介绍Android应用的生命周期。

Android应用的生命周期由以下几个状态组成:创建(Created)、启动(Started)、恢复(Resumed)、暂停(Paused)、停止(Stopped)和销毁(Destroyed)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。

2、sim卡的EF 文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的3、嵌入式操作系统内存管理有哪几种,各有何特性页式,段式,段页,用到了MMU,虚拟空间等技术4、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。

可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。

5、一条最长的短信息约占多少byte?中文70(包括标点),英文160,160个字节。

6、 android中的动画有哪几类,它们的特点和区别是什么?两种,一种是补间动画、还有一种是逐帧动画。

补间动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种逐帧动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似u电影。

7、handler机制的原理andriod提供了 Handler 和 Looper 来满足线程间的通信。

Handler 先进先出原则。

Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

8、说说mvc模式的原理,它在android中的运用mvc是model,view,controller的缩写,mvc包含三个部分:l模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

l视图(view)对象:是应用程序中负责生成用户界面的部分。

也是在整个mvc 架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

l控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m哦得了处理。

9、Activity的生命周期void onCreate(Bundle savedInstanceState);void onStart();void onResume();void onPause();void onStop();void onDestroy();10、让Activity变成一个窗口:Activity属性设定在AndroidManifest.xml 中定义 Activity的地方一句话:Xml代码android :theme=”@android:style/Theme.Dialog”android:theme=”@android:style/Theme.Dialog”这就使你的应用程序变成对话框的形式弹出来了,或者Xml代码android:theme=”@android:style/Theme.Translucent”android:theme=”@android:style/Theme.Translucent”就变成半透明的1.请谈一下Android系统的架构。

答:Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

2.谈谈android大众常用的五种布局。

1、 LinearLayout –线性布局。

orientation –容器内元素的排列方式。

vertical: 子元素们垂直排列;horizontal: 子元素们水平排列gravity –内容的排列形式。

常用的有 top, bottom, left, right, center 等2、 RelativeLayout –相对布局。

layout_centerInParent –将当前元素放置到其容器内的水平方向和垂直方向的中央位置(类似的属性有:layout_centerHorizontal, layout_alignParentLeft 等)layout_marginLeft –设置当前元素相对于其容器的左侧边缘的距离layout_below –放置当前元素到指定的元素的下面layout_alignRight –当前元素与指定的元素右对齐3、AbsoluteLayout –绝对布局。

layout_x – x 坐标。

以左上角为顶点layout_y – y 坐标。

以左上角为顶点4、TableLayout –表格式布局表格布局主要以行列的形式来管理子控件,其中每一行即一个TableRow对象,每个TableRow对象可以添加子控件,并且每加入一个空间即相当于添加了一列5、 FrameLayout –帧布局。

以左上角为起点,将 FrameLayout 内的元素一层覆盖一层地显示,在帧布局中,先添加的图片会被后添加的图片覆盖。

3.谈谈android数据存储方式。

答:Android提供了5种方式存储数据:(1)使用SharedPreferences存储数据;它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。

只能在同一个包内使用,不能在不同的包之间使用。

(2)文件存储数据;文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。

(3)SQLite数据库存储数据;SQLite是Android所带的一个标准的数据库,它支持SQL语句,它是一个轻量级的嵌入式数据库。

(4)使用ContentProvider存储数据;主要用于应用程序之间进行数据交换,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。

(5)网络存储数据;通过网络上提供给我们的存储空间来上传(存储)和下载(获取)我们存储在网络空间中的数据信息。

4.Android中Activity, Intent, Content Provider, Service各有什么区别。

答:Activity:活动,是最基本的android应用程序组件。

一个活动就是一个单独的屏幕,每一个活动都被实现为一个独立的类,并且从活动基类继承而来。

Intent:意图,描述应用想干什么。

最重要的部分是动作和动作对应的数据。

Content Provider:内容提供器,android应用程序能够将它们的数据保存到文件、SQLite数据库中,甚至是任何有效的设备中。

当你想将你的应用数据和其他应用共享时,内容提供器就可以发挥作用了。

Service:服务,具有一段较长生命周期且没有用户界面的程序。

5.View, surfaceView, GLSurfaceView有什么区别。

答:view是最基础的,必须在UI主线程内更新画面,速度较慢。

SurfaceView 是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快GLSurfaceView 是SurfaceView的子类,opengl 专用的6.Adapter有什么作用?常见的Adapter有哪些?答:Adapter是连接后端数据和前端显示的适配器接口。

常见的Adapter有ArrayAdapter, BaseAdapter, ListAdapter, SimpleAdapter, SpinnerAdapter 等7.Manifest.xml文件中主要包括哪些信息?答:manifest:根节点,描述了package中所有的内容。

uses-permission:请求你的package正常运作所需赋予的安全许可。

permission:声明了安全许可来限制哪些程序能你package中的组件和功能。

instrumentation:声明了用来测试此package或其他package指令组件的代码。

application:包含package中application级别组件声明的根节点。

activity:Activity是用来与用户交互的主要工具。

receiver:IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。

service:Service是能在后台运行任意时间的组件。

provider:ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。

8. NDK是什么NDK是一些列工具的集合,NDK提供了一系列的工具,帮助开发者迅速的开发C/C++的动态库,并能自动将so和java 应用打成apk包。

9. DDMS和TraceView的区别?DDMS是一个程序执行查看器,在里面可以看见线程和堆栈等信息,TraceView 是程序性能分析器10.对Android操作系统描述:系统资源占用少,系统运行速度快、完全开放性的操作系统,对所有软件开发商、手机厂商、运营商平等享有、有众多的软件提供给消费者下载、个性化的操作界面,操作简单1、你后台的Activity被系统回收怎么办:onSaveInstanceState这个时候就有两种情况,一种是A被回收,一种是没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上参数savedInstanceState,没被收回的就还是onResume就好了。

2、调用与被调用:我们的通信使者Intent要说Intent了,Intent就是这个这个意图,应用程序间Intent进行交流第一种方式很明显,直接指定了MyActivity为接受者,并且传了一些数据给MyActivity,在MyActivity里可以用getIntent()来的到这个intent和数据。

第二种就需要先看一下AndroidMenifest中的intentfilter的配置了Xml代码< actionandroid:name="android.intent.action.VIEW"/>3. 如何退出Activity?如何安全退出已调用多个Activity的Application?对于单一Activity的应用来说,退出很简单,直接finish()即可。

相关文档
最新文档