您的位置:首页 > 职场人生

Android面试题之基础篇

2012-02-20 21:24 281 查看
1.Android的基本组件都有什么?

答:视图组件、视图容器组件、布局组件、布局参数。

2. 怎么将一个Activity封装成对话框的样子? 怎样将Activity封装成长按Menu菜单的样子?

答:在res/values/建立一个style.xml 文件定义一个style 标签名称为Theme 设置parent=Theme.Dialog 然后再Activity中setTheme(int ID)。

3. 请详细说明一下Activity的生命周期。

答:一个Activity有三个状态:

l  运行状态:当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的Activity

l  暂停状态:当它失去焦点但仍然对用户可见时(如附图1),它处于暂停状态。即在它之上有另外一个Activity。这个Activity也许是透明的,或者没有完全覆盖全屏,所以被暂停的Activity仍对用户可见。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但系统处于极低内存时仍然可以杀死这个Activity

l  停止状态:完全被另一个Activity覆盖时则处于停止状态。它仍然保留所有的状态和成员信息。然而对用户是不可见的,所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这个Activity。

当Activity从一种状态转变到另一种状态时,会调用以下保护方法来通知这种变化

public void onStart()  {  }

public void onStop()  {  }

public void onResume()  {  }

public void onRestart()  {  }

public void onPause()  { }

public void onDestroy()  {  }

void onCreate(Bundle savedInstanceState)

这几个方法定义了Activity的完整生命周期

4. 如何实现嵌套布局

答:<布局1名称+布局引用地址+布局设置>

<组件></组件结束>

<布局101名称+布局引用地址+布局设置>

</布局101结束>



</布局1结束>

5 AlertDialog中的setPositiveButton和setNegativeButton分别是什么?

答:setPositiveButton是左边的Button 习惯上是确认键

setNegativeButton是右边的Button 习惯上是取消键

6.数据存储包含哪几种方式

答:SharedPerferences 、文件存储、SQLite、ContentProvider

7.如何获取SharedPreferences中的数据

答:我们需要明确我们使用SharedPreferences的步骤:

一:定义我们需要存储的内存的字段名称和存储文件名

二:获取存储文件名的一个SharedPreferences对象

三:通过我们建立的对象取得相关键值对数据

四:在Activity程序退出的地方保存数据

8.Intent向前一个页面传递参数如何实现

答: 我们需要调用startActivityForResult方法用来启动子Activity,这样当我们返回前一个页面的时候我们就能处理子Activity返回的数据。在前一个Activity中我们重写OnActivityResult(int requestCode,int resultCode,Intent data)方法来处理返回值。在子Activity需要返回前一个页面时我们需要先设置Intent的Bundle对象的内容(即要返回的值)然后调用setResult(int
resultCode, Intent data)返回上一个Activity

9. 如何在一个Activity中结束另一个Activity?

启动了Activity A,并在Actitvity A中启动了Actitvity B。

那么:怎么在Actitvity B中结束Actitvity A呢?实现在Actitvity B中按“返回”键就直接回到桌面,而不是返回Actitvity A

答:Intent mainIntent = new Intent(A.this,B.class);

A.this.startActivity(mainIntent);

A.this.finish(); // 在A中间加这句,这样在B中返回就直接回到桌面了。下次在Activity B按返回键时Activity A已经不存在实例了

10. Android获得屏幕的宽和高

答:int screenWidth;int screenHeight;

WindowManager windowManager = getWindowManager();

Display display = windowManager.getDefaultDisplay();

screenWidth = display.getWidth();

screenHeight = display.getHeight();

或者

DisplayMetrics dm;

getWindowManager().getDefaultDisplay().getMetrics(dm);

screenWidth= dm.widthPixels;

screenHeight= dm.heightPixels;

11. 请问android:layout_gravity与android:gravity有什么区别啊?

答:举例子说明吧。比如说button,

android:layout_gravity 表示按钮在界面上的位置。

android:gravity表示button上的字在button上的位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: