• scrum项目冲刺_day06


    今天大致完成了社区功能,明天做详细的优化,改改bug,然后写写作业。

    1、社区主界面(已完成)
    2、帖子详情,包括点赞评论回复的实现(明日待办)
    3、发帖界面(已完成)
    4、将贴子信息传输至数据库(已完成)
    5、从数据库读取帖子信息并展示(已完成)
    6、从数据库读取帖子的相关评论及回复(明日待办)

    团队博客地址:https://www.cnblogs.com/NSnake/

    今日代码

    package com.example.xiaoyi_test_2.Activity;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.bumptech.glide.Glide;
    import com.example.xiaoyi_test_2.Bean.SocialBean;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.View.GoodView;
    
    
    public class CompDetailActivity extends AppCompatActivity {
        private TextView tv_name,tv_time,tv_title,tv_desc,tv_num;
        private ImageView im_1,im_2,im_3,im_dz;
    
        private SocialBean socialBean;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_comp_detail);
            tv_name=findViewById(R.id.cd_name);
            tv_time=findViewById(R.id.cd_time);
            tv_title=findViewById(R.id.cd_title);
            tv_desc=findViewById(R.id.cd_desc);
            tv_num=findViewById(R.id.cd_im_goodnum);
            im_1=findViewById(R.id.cd_img_1);
            im_2=findViewById(R.id.cd_img_2);
            im_3=findViewById(R.id.cd_img_3);
            im_dz=findViewById(R.id.cd_im_good);
            tv_time=findViewById(R.id.cd_time);
            socialBean= (SocialBean) getIntent().getExtras().getSerializable("soc");
            tv_time.setText(socialBean.getTime());
            tv_desc.setText(socialBean.getDescrib());
            tv_name.setText(socialBean.getName());
            tv_title.setText(socialBean.getTitle());
            tv_num.setText(socialBean.getGoodnum());
            String[] imgs=socialBean.getImgpath().split("|");
            if (!socialBean.getImg1().equals("")&&socialBean.getImg1()!=null){
                Glide.with(CompDetailActivity.this).load(socialBean.getImg1()).into(im_1);
            }else {
                im_1.setVisibility(View.INVISIBLE);
            }
            if (!socialBean.getImg2().equals("")&&socialBean.getImg2()!=null){
                Glide.with(CompDetailActivity.this).load(socialBean.getImg2()).into(im_2);
            }else {
                im_2.setVisibility(View.INVISIBLE);
            }
            if (!socialBean.getImg3().equals("")&&socialBean.getImg3()!=null){
                Glide.with(CompDetailActivity.this).load(socialBean.getImg3()).into(im_3);
            }else {
                im_3.setVisibility(View.INVISIBLE);
            }
            im_dz.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    GoodView goodView=new GoodView(CompDetailActivity.this);
                    goodView.setImage(R.drawable.dz_pink);
                    goodView.show(im_dz);
                }
            });
    
        }
    }
    
    package com.example.xiaoyi_test_2.Activity;
    
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.MediaStore;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    import android.widget.Toast;
    
    import com.example.xiaoyi_test_2.Bean.SocialBean;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.Service.AddComp;
    import com.example.xiaoyi_test_2.Service.ItemService;
    import com.example.xiaoyi_test_2.Service.ZipService;
    import com.example.xiaoyi_test_2.Utils.SPUtils;
    
    import java.io.File;
    
    public class AddSocialActivity extends AppCompatActivity implements ZipService.SendZipd {
        private Button btn_retrun,btn_out;
        private ImageView im_1,im_2,im_3;
        private EditText edit_title,edit_describe;
        public ProgressBar progressBar;
        private int clickone;
        private ImageView clickimg;
        private SocialBean socialBean;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_add_social);
            initView();
        }
    
        private void initView() {
            btn_out=findViewById(R.id.addsoc_btn_out);
            btn_retrun=findViewById(R.id.addsoc_btn_return);
            im_1=findViewById(R.id.addsoc_img);
            im_2=findViewById(R.id.addsoc_img_2);
            im_3=findViewById(R.id.addsoc_img_3);
            edit_title=findViewById(R.id.addsoc_et_title);
            edit_describe=findViewById(R.id.addsoc_et_describe);
            progressBar=findViewById(R.id.addsoc_progers);
            progressBar.setVisibility(View.INVISIBLE);
            btn_out.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    progressBar.setVisibility(View.VISIBLE);
                    socialBean=new SocialBean();
                    socialBean.setName((String) SPUtils.get(AddSocialActivity.this,"username","11"));
                    socialBean.setHead((String) SPUtils.get(AddSocialActivity.this,"head","11"));
                    socialBean.setDescrib(edit_describe.getText().toString());
                    socialBean.setTitle(edit_title.getText().toString());
                    socialBean.setUserid((Integer) SPUtils.get(AddSocialActivity.this,"userid",1));
                    socialBean.save(AddSocialActivity.this);
                }
            });
            im_1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_PICK,
                            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(intent, 1);
                    clickone = 1;
                    clickimg = im_1;
                }
            });
            im_2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_PICK,
                            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(intent, 1);
                    clickone = 2;
                    clickimg = im_2;
                }
            });
            im_3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_PICK,
                            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(intent, 1);
                    clickone = 3;
                    clickimg = im_3;
                }
            });
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            //获取图片路径
            if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
                Uri selectedImage = data.getData();
                String[] filePathColumns = {MediaStore.Images.Media.DATA};
                Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null);
                c.moveToFirst();
                int columnIndex = c.getColumnIndex(filePathColumns[0]);
                String imagePath = c.getString(columnIndex);
                c.close();
                ZipService.zipPhoto(AddSocialActivity.this,imagePath,AddSocialActivity.this);
            } else if (requestCode == 1 && resultCode == Activity.RESULT_CANCELED) {
                Toast.makeText(AddSocialActivity.this, "取消选择", Toast.LENGTH_SHORT).show();
            }
        }
    
        @Override
        public void sendZip(File file) {
            clickimg.setImageURI(Uri.parse(file.getPath()));
            if (clickone==1){
                socialBean.setImg1(file);
            }
            if (clickone==2){
                socialBean.setImg2(file);
            }
            if (clickone==3){
                socialBean.setImg3(file);
            }
        }
    }
    
    package com.example.xiaoyi_test_2.Service;
    
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;
    import android.view.View;
    import android.widget.Toast;
    
    import com.alibaba.fastjson.JSONObject;
    import com.example.xiaoyi_test_2.Activity.AddSocialActivity;
    import com.example.xiaoyi_test_2.Bean.SayToItemBean;
    import com.example.xiaoyi_test_2.Bean.SocialBean;
    import com.example.xiaoyi_test_2.Utils.Base36Utils;
    import com.example.xiaoyi_test_2.Utils.RangeUtil;
    import com.example.xiaoyi_test_2.Utils.SPUtils;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import okhttp3.Call;
    import okhttp3.Callback;
    import okhttp3.MediaType;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    public class AddComp {
        public static void Acomp(SocialBean socialBean, final Context context){
            String imgpath = "";
    
            if (socialBean.getImg1() != null) {
                String s = Base36Utils.imageToBase64(socialBean.getImg1());
                MediaType mediaType = MediaType.parse("text/x-markdown; charset=utf-8");
                String request_body = s;
    
                String name = (String) SPUtils.get(context, "phone", "") + RangeUtil.getRange();
                imgpath += ("http://123.56.137.134/photo_XY/" + name + ".jpg|");
                Request request = new Request.Builder()
                        .url("http://123.56.137.134/XiaoYiServer/AddPhoto")
                        .addHeader("name", name)
                        .post(RequestBody.create(mediaType, request_body)).build();
                OkHttpClient okHttpClient = new OkHttpClient();
                okHttpClient.newCall(request).enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
                        Log.d("LogAndRegister-------", "phone查询请求失败");
                    }
    
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
    
                        //response.body只能调一次
    
                    }
                });
                socialBean.setImg1(null);
    
            }
            if (socialBean.getImg2() != null) {
                String s = Base36Utils.imageToBase64(socialBean.getImg2());
                MediaType mediaType = MediaType.parse("text/x-markdown; charset=utf-8");
                String request_body = s;
                String name = (String) SPUtils.get(context, "phone", "") + RangeUtil.getRange();
                imgpath += ("http://123.56.137.134/photo_XY/" + name + ".jpg|");
                Request request = new Request.Builder().
                        url("http://123.56.137.134/XiaoYiServer/AddPhoto")
                        .addHeader("name", name)
                        .post(RequestBody.create(mediaType, request_body)).build();
                OkHttpClient okHttpClient = new OkHttpClient();
                okHttpClient.newCall(request).enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
                        Log.d("LogAndRegister-------", "phone查询请求失败");
                    }
    
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
    
                        //response.body只能调一次
                    }
                });
                socialBean.setImg2(null);
            }
            if (socialBean.getImg3() != null) {
                String s = Base36Utils.imageToBase64(socialBean.getImg3());
                MediaType mediaType = MediaType.parse("text/x-markdown; charset=utf-8");
                String request_body = s;
                String name = (String) SPUtils.get(context, "phone", "") + RangeUtil.getRange();
                imgpath += ("http://123.56.137.134/photo_XY/" + name + ".jpg|");
                Request request = new Request.Builder().
                        url("http://123.56.137.134/XiaoYiServer/AddPhoto")
                        .addHeader("name", name)
                        .post(RequestBody.create(mediaType, request_body)).build();
                OkHttpClient okHttpClient = new OkHttpClient();
                okHttpClient.newCall(request).enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
                        Log.d("itemService-------", "存储失败!");
                    }
    
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        //response.body只能调一次
                    }
                });
                socialBean.setImg3(null);
            }
            socialBean.setImgpath(imgpath);
            OkHttpClient okHttpClient=new OkHttpClient();
            MediaType mediaType=MediaType.parse("application/json; charset=utf-8");
            String request_body=JSONObject.toJSONString(socialBean);
            Request request=new Request.Builder().
                    url("http://123.56.137.134/XiaoYiServer/AddComp")
                    .post(RequestBody.create(mediaType,request_body)).build();
                okHttpClient.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    //response.body只能调一次
                    String body=response.body().string();
                    Log.d("IC-------",body);
    
                    ((AddSocialActivity)context).runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            ((AddSocialActivity)context).progressBar.setVisibility(View.INVISIBLE);
                            Toast.makeText(context, "发布成功!", Toast.LENGTH_SHORT).show();
                            Intent intent=new Intent();
                            ((AddSocialActivity)context).setResult(0,intent);
                        }
                    });
                }
            });
        }
        public static void getComp(final SendSC sendSC){
            OkHttpClient okHttpClient=new OkHttpClient();
            MediaType mediaType=MediaType.parse("text/x-markdown; charset=utf-8");
            Request request=new Request.Builder().
                    url("http://123.56.137.134/XiaoYiServer/GetComp")
                    .post(RequestBody.create(mediaType,"1")).build();
            okHttpClient.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    //response.body只能调一次
                    String body=response.body().string();
                    Log.d("IC-------",body);
                    List<SocialBean> list= com.alibaba.fastjson.JSONObject.parseArray(body,SocialBean.class);
                    sendSC.sendSC(list);
                }
            });
        }
        public interface SendSC{
            public void sendSC(List<SocialBean> list);
        }
    }
    
    package com.main.java;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.alibaba.fastjson.JSONArray;
    
    import bean.SocialBean;
    import utils.DBUtil;
    @WebServlet("/GetComp")
    public class GetComp extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public GetComp() {
            super();
        }
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	}
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		ArrayList<SocialBean> list=new ArrayList<SocialBean>();
    		
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="select * from socialitem inner join user on socialitem.userid=user.id";
    			ResultSet rsst=stmt.executeQuery(sql);
    			while(rsst.next()) {
    				SocialBean socialBean=new SocialBean();
    				socialBean.setUserid(rsst.getInt("userid"));
    				socialBean.setCompnum(rsst.getInt("compnum"));
    				socialBean.setDescrib(rsst.getString("describ"));
    				socialBean.setGoodnum(rsst.getInt("goodnum"));
    				socialBean.setImgpath(rsst.getString("imgpath"));
    				socialBean.setTitle(rsst.getString("title"));
    				socialBean.setTime(""+rsst.getDate("date"));
    				socialBean.setName(rsst.getString("name"));
    				socialBean.setHead(rsst.getString("head"));
    				list.add(socialBean);
    				
    			}
    			rsst.close();
    			stmt.close();
    			con.close();
    			response.setCharacterEncoding("utf-8");
    			response.getWriter().print(JSONArray.toJSONString(list));
    			response.getWriter().close();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    
    package com.main.java;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    import utils.DBUtil;
    @WebServlet("/AddComp")
    public class AddComp extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public AddComp() {
            super();
        }
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		InputStream is=request.getInputStream();
    		InputStreamReader ir=new InputStreamReader(is);
    		BufferedReader br=new BufferedReader(ir);
    		StringBuffer sb=new StringBuffer();
    		String s="";
    		while((s=br.readLine())!=null) {
    			sb.append(s);
    		}
    		br.close();
    		ir.close();
    		is.close();
    		JSONObject json=JSONObject.parseObject(sb.toString());
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="insert into socialitem(title,describ,userid,imgpath) value('"+json.getString("title")+"','"+json.getString("describ")+"',"
    					+json.getString("userid")+",'"+json.getString("imgpath")+"')";
    			System.out.println(sql);
    			stmt.executeUpdate(sql);
    			stmt.close();
    			con.close();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		response.setCharacterEncoding("utf-8");
    		response.getWriter().print(true);
    		response.getWriter().close();
    	}
    
    }
    

      

  • 相关阅读:
    软件工程讲义 3 两人合作(2) 要会做汉堡包
    创新 王屋村的魔方们
    IT 行业的创新 创新的迷思 (56)
    现代软件工程讲义 12 绩效管理
    校园招聘 比较容易的面试题
    技能的反面 魔方和模仿
    现代软件工程讲义 2 工程师的能力评估和发展
    计算机知识体系的三个部分
    不鸣则已 一鸣惊人
    京城名流的聚会
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/12757453.html
Copyright © 2020-2023  润新知