百度地图部分
需要导入三个包:baidumapapi-base、baidumapapi-map、locSDK
需用使用的核心类有三个:
- MapView 地图控件
在xml文件中像普通控件一样使用,然后findViewbyId()。
使用getMap()方法可以得到BaiduMap类。 - Baidumap 地图控制
setMyLocationEnabled(boolean)设置是否打开定位图层。
animateMapStatus(MapStatusUpdate u)以动画效果移动地图到某点(u指定)。
clear()清除所有覆盖物。
addOverlay(OverlayOptions options)添加覆盖物。 - LocationClient 定位
setLocOption(LocationClientOption option)设置定位参数。
registerLocationListener(this)添加定位监听。需要重写onReceiveLocation(BDLocation location)方法。
start()开始监听。
mina框架部分
需要导入的包有两个:mina-core、slf4j-android
需要使用的核心类有五个:
IoConnector 连接控制
setConnectTimeoutMillis(long l)设置超时。
getFilterChain()获取滤镜链。
setHandler(IoHandlerAdapter adapter)设置IO适配器。
connect(InetSocketAddress addr)开始连接。返回ConnectFuture。DefaultIoFilterChainBuilder 滤镜链的Builder
从服务器获取的数据、向服务器发送的数据都要经过滤镜链处理。IoHandlerAdapter IO适配器
重写其中的方法,实现对连接、数据的监听。ConnectFuture
awaitUninterruptibly()等待连接创建完成。
getSession()获取连接实例。IoSession 连接实例
write()写。read()读。
RecyclerView部分
需要导入的包:android-support-v7-recyclerview
需要使用的核心类:
RecyclerView view控件
setLayoutManager(LayoutManager manager)设置布局管理器。不设会报错。
setAdapter(RecyclerView.Adapter adapter)设置适配器。RecyclerView.Adapter 这是个抽象类,需要继承他,重写以下方法:
onCreateViewHolder(ViewGroup viewGroup, int i)
onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
getItemCount()
另外,再写个构造方法。如果需要点击事件,再写个接口。
public interface OnRVItemClickListener{
void onItemClick(View view, int position);
}
private OnRVItemClickListener onRVItemClickListener;
public void setOnRVItemClickListener(OnRVItemClickListener onRVItemClickListener) {
this.onRVItemClickListener = onRVItemClickListener;
}
参数view和position需要在onBindViewHolder方法中指定:
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
final MyViewHolder holder = (MyViewHolder) viewHolder;
if (onRVItemClickListener != null){
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int index = holder.getPosition();
onRVItemClickListener.onItemClick(holder.itemView,index);
}
});
}