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();
}
}
浙公网安备 33010602011771号