要找工作了,总结下相关的面试题目。
1.Android部分##
1.1 Android四大组件###
- Activity:前台界面逻辑实现
- Service:提供后台服务
- BroadcastReceiver:接受广播
- ContentProvider:提供数据给其他应用处理
1.2 Handler,Message,MessageQueue,Looper的关系###
这个是个老题目了,几乎必考,下图足以说明一切了
1.3 Android数据存储的方式###
有五种方式,分别如下
- SharePreference
- 数据库Sqlite
- 本地文件存储
- 网络存储
- ContentProvider
1.4 Activity的启动模式有哪些,分别有什么含义###
- standard:可以理解为每次startActivity都会生成一个实例
- singleTop:栈顶只允许有一个Activity实例
- singleTask:栈中只允许有一个Activity实例
- singleInstance:独自占有一个栈,该栈中不允许有其他实例
1.5 Android网络编程###
这部分我真不熟悉,看别人的博客吧
- http://52android.blog.51cto.com/2554429/496621/
- http://wangzhaoli.blog.51cto.com/7607113/1288000
- //www.greatytc.com/p/3141d4e46240
1.6 Android Socket相关###
依然不太熟,看别人的博客吧
1.7 Android的五种布局方法###
五种布局方法分别是帧布局(FrameLayout),线性布局(LinearLayout),绝对布局(AbsoluteLayout),相对布局(RelativeLayout),表格布局(TableLayout),简单介绍如下
- FrameLayout:所有布局都位于左上角,恩,就这样;
- LinearLayout:个人认为线性布局和绝对布局应该是Android应用比较多的一种,线性布局就是横着或竖着挨着排就可以了
- RelativeLayout:相对布局,比如说有控件A、B,定义A在B的左边or下面or上面等等
- RelativeLayout:绝对布局,定义控件的x、y坐标点;
- TableLayout:表格布局,定义一个x行y列的表格,然后指定控件在哪个格子里即可;
1.9 自定义View###
- 重写onDraw方法,在该方法中,利用Canvas来进行绘制控件
- 这里面写的很详细//www.greatytc.com/p/c84693096e41
1.10 LayoutInflater###
1.11 点击事件的分发机制###
1.12 CounterView###
1.13 JSON解析###
1.14 WebSocket###
1.15 动画相关知识###
2.Java部分##
2.1 文件读写###
3.数据结构部分##
4.算法部分##
5.项目部分##
5.1 NFC的基本知识###
这个之前输出了好多好多文档,可惜公司都不让带出来。哎哎哎。
貌似也没有什么可考试的。
NFC的几种模式:
卡模拟,P2P传输,TAG卡模式
NFC识别出TAG卡后,发出的三种ACTION:
- ACTION_NDEF_DISCOVERED
- ACTION_TECH_DISCOVERED
- ACTION_TAG_DISCOVERED
这三个ACTION发出是有讲究的,当第一个无人监听的时候,才会发出第二个,当第二个无人监听的时候,才会发出第三个;
常见NFC TAG卡的类型: - NfcA
- NfcB
- NfcF
- MifareClassic
NFC的基本知识就这么多吧,忘了差不多了。
5.1 蓝牙基本知识###
蓝牙常见的Profile:
- A2dp:全名是Advenced Audio Distribution Profile蓝牙音频传输模型协议,听音乐主要用这个
- HFP(Hands-free Profile)手机音频,打电话通常用这个
- OPP(Object Push Profile)对象交换
- PAN(Personal Area Network),个人局域网,手机中的蓝牙共享网络用的是这个;
- PBAP(Phone Book Access Profile)电话本协议,常见于蓝牙车载中;
- Gatt,可以把他理解成BLE蓝牙,手机启动的时候也是先启动BLE蓝牙的
重要的类 BluetoothManager BluetoothAdapter