EChat(简易聊天项目)五、存储聊天记录中的图片

利用文件存储实现存储聊天记录中的图片

首先先需要使聊天界面可以发送图片,然后再对其进行存储操作

①修改Msg类,增加了imgpath,即图片路径

public class Msg {
    public static final int TYPE_RECEIVED = 0;
    public static final int TYPE_SENT = 1;
    public static final int TYPE_RECEIVED_IMG = 2;
    public static final int TYPE_SENT_IMG = 3;
    private String content;
    private String imgpath;
    private int type;

    public Msg(String content,String imgpath, int type){
        this.content = content;
        this.imgpath = imgpath;
        this.type = type;
    }
    public String getContent(){
        return content;
    }
    public int getType(){
        return type;
    }

    public String getImgpath() {
        return imgpath;
    }
}


②对MsgAdapter进行了大部分修改,添加了图片有关部分,以及图片的存储到本地,以及将消息的各部分分开处理,原先只有收发两类,现修改成了switch语句判断,有文字消息的收发和图片消息的收发,同时也更加便于之后的拓展

public class MsgAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private List<Msg> mMsgList;

    static class R_MsgViewHolder extends RecyclerView.ViewHolder{
        LinearLayout rightLayout;
        TextView rightMsg;

        public R_MsgViewHolder(View view){
            super(view);
            rightLayout = (LinearLayout)view.findViewById(R.id.right_layout);
            rightMsg = (TextView)view.findViewById(R.id.right_msg);
        }
    }

    static class L_MsgViewHolder extends RecyclerView.ViewHolder{
        LinearLayout leftLayout;
        TextView leftMsg;

        public L_MsgViewHolder(View view){
            super(view);
            leftLayout = (LinearLayout)view.findViewById(R.id.left_layout);
            leftMsg = (TextView)view.findViewById(R.id.left_msg);
        }
    }

    static class R_ImgViewHolder extends RecyclerView.ViewHolder{
        LinearLayout rightlayout_img;
        ImageView rightImage;

        public R_ImgViewHolder(View view){
            super(view);
            rightlayout_img = (LinearLayout)view.findViewById(R.id.right_layout_img);
            rightImage = (ImageView)view.findViewById(R.id.right_image);
        }
    }

    static class L_ImgViewHolder extends RecyclerView.ViewHolder{
        LinearLayout leftlayout_img;
        ImageView leftImage;

        public L_ImgViewHolder(View view){
            super(view);
            leftlayout_img = (LinearLayout)view.findViewById(R.id.left_layout_img);
            leftImage = (ImageView)view.findViewById(R.id.left_image);
        }
    }

    public MsgAdapter(List<Msg> msgList){
        mMsgList = msgList;
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHold
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Spark的Echart数据分析与可视化功能项目是一个利用Spark技术进行大数据分析的项目,通过Echart技术进行数据可视化展示的项目。在这个项目,我们通过Spark技术处理大规模数据,进行数据清洗、转换、计算等操作,从而得出我们需要的数据分析结果。然后通过Echart技术将这些分析结果进行可视化展示,以便用户能够更直观地理解数据分析的结果。 这个项目有很多应用场景,比如在金融领域,我们可以通过这个项目进行大规模的交易数据分析,找出一些潜在的交易模式、异常情况等。在电商领域,我们可以通过这个项目进行用户行为数据分析,发现用户的购买行为、偏好等。在医疗领域,我们可以通过这个项目进行大规模的疾病数据分析,找出患病规律、病情趋势等。总之,这个项目可以帮助我们更好地理解大规模数据的特点和规律,为我们的决策提供更好的依据。 这个项目的优势在于,利用Spark技术能够快速处理大规模数据,并且Echart技术能够将数据分析结果以直观的可视化形式展示出来,帮助用户更好地理解数据分析结果。另外,这个项目还可以借助Spark的机器学习库进行一些高级的数据分析工作,为企业提供更多的数据分析服务。在未来,我们还可以进一步将这个项目与其他数据分析工具(如Tableau、Power BI等)进行整合,使得数据分析与可视化功能更加完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值