β

Android面试题

Danny Suen's Blog 288 阅读

第一部分:选择题

1.你开发了一款照片分享App,在用户接受到一张照片时显示一个系统通知。当用户点击该通知,你的App应该显示该照片。下面哪一个是你传递给NotificationManager对象需要附在Notification对象上的。

  1. 一个Activity引用
  2. 一个PendingIntent

    1. 一个BroadcastReceiver
    1. 一个FragmentTransaction

2.如果你在LinearLayout内嵌套一个RelativeLayout,哪种类型的LayoutParams会被RelativeLayout接受?

  1. RelativeLayout.LayoutParams
  2. ViewGroup.MarginLayoutParams
  3. ViewGroup.LayoutParams
  4. LinearLayout.LayoutParams

3.你正在开发一款定时检查某网站是否运行的监控App,在以下的选项中,哪一项是调度这些定期检查任务的最优方式?

  1. 在PowerManager上注册WakeLock
  2. 调用AlarmManager的setInexactRepeating
  3. 在Handler上使用postDelayed
  4. 调用TimerService.setPeriodicTimer

  5. 你想在用户点击某个按钮半秒后触发一个动画。最好的方式是:

  6. 调用Timer.schedule并传递作为TimerTask的动画

  7. 在按钮的OnClickListener的onClick方法中调用Thread.sleep

  8. 在合适的Handler上调用postDelayed

  9. 在被AlarmManager创建的Alarm上调用setInterval

  10. 下面的哪一项在默认情况在对在你的Manifest文件中声明的Service是对的

  11. 它在UI线程上运行

  12. 它有一个为后台执行而关联的Thread

  13. 它在你打开应用后会自动初始化

  14. 你只能配置它与启动它的进程通讯

  15. 你开发了一款即时通讯App并想让用户在别的应用中分享内容时,你的App作为选项之一出现在Intent选择框中。为了做到这点,你必须做以下哪一项?

  16. 在你的Application对象内创建一个IntentService来监听SENT_MESSAGE intent

  17. 在你的Manifest里注册一个广播接收器接受BROADCAST_SMS广播

  18. 注册一个ContentObserver来监听Telephony.Sms.Inbox的写入

  19. 在你的Manifest内注册一个捕捉ACTION_SEND的Intent过滤器

  20. 以下哪一项不是改进ListView滚动性能的最好方法?

  21. 在你的Manifest中对该ListView声明加入hardwareAccelerated=true

  22. 使用ViewHolder模式减少findViewById调用次数

  23. 降低列表项布局的复杂性

  24. 重用传递给Adapter.getView的视图

  25. 你的应用有一包含名称和手机号码的旅馆列表。以下哪一个是存储和暴露这一数据给其它应用最佳实践,使得其他应用能看见旅馆名称却看不见手机号码,也不能对它们编辑。

  26. 在内部存储区保存一个文件,并通过RPC和IBinder事务将其暴露给其它应用

  27. 在外部存储区保存到一个SQLite数据库里,并通过CREATE VIEW暴露具体的数据库表和列

  28. 保存在SharedPreferences里,通过SharedPreferences分享

  29. 在内部存储区保存到一个SQLite数据库里,通过ContentProvider暴露具体的数据库表和列

作者:Danny Suen's Blog
原文地址:Android面试题, 感谢原作者分享。