《共享位置》总结

来源:互联网 发布:c语言else不运行 编辑:程序博客网 时间:2024/06/03 17:07

百度地图部分

需要导入三个包: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);                }            });        }
0 0
原创粉丝点击