• scrum项目冲刺_day05


    今天仔细想了一下,这个项目确实没有什么有技术含量的知识,只是Android的一些基础,建民老师说如果能做出点新意也行,不过我们大概也没有精力去推广,提前接触一些大赛的题目也挺好,还可以学到更多更深层次的知识,所以现在

    打算用几天时间把这个app做完,我估算了一下,到下周二应该可以大体做完。

    基本完成了主页,剩下一些小bug,明天修复然后把社区大体做完。

    肝!

    1、主界面(已完成)
    2、商品展示界面(已完成)
    3、商品详情界面(已完成)
    4、 添加商品界面(已完成)
    5、从数据库读取相关类别商品信息并传入商品展示界面(已完成)
    6、从数据库读取相关商品的评论传入商品详情界面(已完成)
    7、添加相关商品的评论到数据库(已完成)
    8、添加商品信息到数据库(已完成)
    9、关键词搜索(已完成)
    10、动态加载商品

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

    今天和昨天的代码

    package com.example.xiaoyi_test_2.Fragment;
    
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.fragment.app.Fragment;
    import androidx.viewpager.widget.PagerAdapter;
    import androidx.viewpager.widget.ViewPager;
    
    import com.alibaba.fastjson.JSONArray;
    import com.example.xiaoyi_test_2.Activity.AddActivity;
    import com.example.xiaoyi_test_2.Activity.MainActivity;
    import com.example.xiaoyi_test_2.Bean.ItemBean;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.Service.ItemService;
    import com.google.android.material.floatingactionbutton.FloatingActionButton;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import cn.bmob.v3.BmobQuery;
    import cn.bmob.v3.exception.BmobException;
    import cn.bmob.v3.listener.FindListener;
    
    public class Fragment_Item extends Fragment implements View.OnClickListener, ItemService.SendAll{
        private FloatingActionButton btn_float;
        private ImageView imageView;
        private Fragment_ShowItem fragment_showItem;
        private RadioGroup rg_type;
        private ProgressBar loadprogress;
        private TextView tv_all;
        private boolean LogState = false;
        private String username = "xiaoGao";
        private Button btn_book,btn_search;
        private EditText et_search;
        private ImageView head;
        private boolean first=true;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.layout_frag_item, container, false);
            initViews(view);
            return view;
        }
    
        private void initViews(View view) {
            //初始化商品界面
            loadprogress = view.findViewById(R.id.main_show_progress);
            loadprogress.setVisibility(View.INVISIBLE);
            head = view.findViewById(R.id.item_head);
            head.setOnClickListener(this);
            tv_all = view.findViewById(R.id.main_tv_all);
            btn_float = view.findViewById(R.id.main_btn_float);
            btn_float.setOnClickListener(this);
            et_search = view.findViewById(R.id.mian_et_search);
            rg_type = view.findViewById(R.id.main_rd_type);
            btn_book = view.findViewById(R.id.btn_book);
            btn_book.setOnClickListener(this);
            btn_search=view.findViewById(R.id.mian_btn_search);
            et_search=view.findViewById(R.id.mian_et_search);
            btn_search.setOnClickListener(this);
    
            ItemService.getAll(this);
            loadprogress.setVisibility(View.VISIBLE);
    
            tv_all.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    loadprogress.setVisibility(View.VISIBLE);
                    ItemService.getAll(Fragment_Item.this);
    
    //                BmobQuery<ItemBean> beanBmobQuery = new BmobQuery<>();
    //                beanBmobQuery.findObjects(new FindListener<ItemBean>() {
    //                    @Override
    //                    public void done(List<ItemBean> list, BmobException e) {
    //                        if (e == null) {
    //                            loadprogress.setVisibility(View.INVISIBLE);
    //                            Log.d("==================", "==========");
    //                            getActivity().getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_right_in,
    //                                    R.anim.slide_left_out,
    //                                    R.anim.slide_left_in,
    //                                    R.anim.slide_right_out).replace(R.id.main_frag, Fragment_ShowItem.newInstance((ArrayList<ItemBean>) list)).commitAllowingStateLoss();
    //                        } else Log.d("------query", e.getMessage());
    //                    }
    //                });
                }
            });
            rg_type.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    loadprogress.setVisibility(View.VISIBLE);
                    ItemService.getType(Fragment_Item.this,((RadioButton) (getActivity().findViewById(rg_type.getCheckedRadioButtonId()))).getText().toString());
    //                BmobQuery<ItemBean> beanBmobQuery = new BmobQuery<>();
    //                if (((RadioButton) (getActivity().findViewById(rg_type.getCheckedRadioButtonId()))).getText().equals("书籍资料")) {
    //
    //                } else {
    //                    beanBmobQuery.addWhereEqualTo("bigtype", ((RadioButton) (getActivity().findViewById(rg_type.getCheckedRadioButtonId()))).getText());
    //                    beanBmobQuery.findObjects(new FindListener<ItemBean>() {
    //                        @Override
    //                        public void done(List<ItemBean> list, BmobException e) {
    //                            if (e == null) {
    //                                loadprogress.setVisibility(View.INVISIBLE);
    //                                getActivity().getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_right_in,
    //                                        R.anim.slide_left_out,
    //                                        R.anim.slide_left_in,
    //                                        R.anim.slide_right_out).replace(R.id.main_frag, Fragment_ShowItem.newInstance((ArrayList<ItemBean>) list)).commitAllowingStateLoss();
    //                            } else Log.d("------query", e.getMessage());
    //                        }
    //                    });
    //                }
                }
            });
    
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.main_btn_float: {
                    Intent intent = new Intent(getContext(), AddActivity.class);
                    startActivityForResult(intent, 0);
                    break;
                }
                case R.id.btn_book: {
                    getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.main_frag, Fragment_Book.newInstance()).commitAllowingStateLoss();
                    break;
                }
                case R.id.item_head: {
                    ((MainActivity) getActivity()).drawerLayout.openDrawer(Gravity.LEFT);
                    break;
                }
                case R.id.mian_btn_search:{
                    if ((!et_search.getText().toString().equals(""))&&et_search.getText().toString()!=null){
                        ItemService.searchKey(Fragment_Item.this,et_search.getText().toString());
                    }
                    else {
                        Toast.makeText(getContext(),"请输入关键词",Toast.LENGTH_SHORT);
                    }
                }
            }
    
        }
    
        @Override
        public void sendAll(JSONArray jsonArray) {
            final ArrayList<ItemBean> arrayList;
            if (jsonArray!=null) {
                 arrayList= (ArrayList<ItemBean>) jsonArray.toJavaList(ItemBean.class);
            }else {
                arrayList=new ArrayList<>();
            }
    
            getActivity().runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    loadprogress.setVisibility(View.INVISIBLE);
                        getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.main_frag, Fragment_ShowItem.newInstance((ArrayList<ItemBean>) arrayList)).commitAllowingStateLoss();
    
                }
            });
        }
    
        public interface HeadClick {
            public void headClick();
        }
    
    }
    
    package com.example.xiaoyi_test_2.Service;
    
    import android.content.Context;
    import android.util.Log;
    import android.widget.Toast;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.example.xiaoyi_test_2.Activity.ShowDetailActivity;
    import com.example.xiaoyi_test_2.Bean.SayToItemBean;
    
    import java.io.IOException;
    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 ItemComponent {
        public static void saveFirstSay(final SayToItemBean sayToItemBean, final Context context){
    
            new Thread(new Runnable() {
                @Override
                public void run() {
    
                    MediaType mediaType=MediaType.parse("application/json; charset=utf-8");
                    Request request=new Request.Builder()
                            .url("http://123.56.137.134/XiaoYiServer/AddItemComp")
                            .post(RequestBody.create(mediaType, JSONObject.toJSONString(sayToItemBean))).build();
                    OkHttpClient okHttpClient=new OkHttpClient();
    
                    Call call=okHttpClient.newCall(request);
                    call.enqueue(new Callback() {
                        @Override
                        public void onFailure(Call call, IOException e) {
                        }
                        @Override
                        public void onResponse(Call call, Response response) throws IOException {
    //                        ((ShowDetailActivity)context).runOnUiThread(new Runnable() {
    //                            @Override
    //                            public void run() {
    //                                Toast.makeText(context, "+_+ 发布成功 +_+", Toast.LENGTH_SHORT).show();
    //                            }
    //                        });
                        }
                    });
                }
            }).start();
        }
    
        public static void getAllAbout(final int id, final SendAboutC sendAboutC){
            new Thread(new Runnable() {
                @Override
                public void run() {
                    MediaType mediaType=MediaType.parse("text/x-markdown; charset=utf-8");
                    String request_body=""+id;
                    Request request=new Request.Builder().
                            url("http://123.56.137.134/XiaoYiServer/GetCompent")
                            .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) {
                        }
    
                        @Override
                        public void onResponse(Call call, Response response) throws IOException {
                            //response.body只能调一次
                            String body=response.body().string();
                            Log.d("IC-------",body);
                            List<SayToItemBean> list=JSONObject.parseArray(body,SayToItemBean.class);
                            sendAboutC.sendAC(list);
                        }
                    });
                }
            }).start();
        }
        public interface SendAboutC{
            public void sendAC(List<SayToItemBean> list);
        }
    }
    
    package com.example.xiaoyi_test_2.Service;
    
    import android.content.Context;
    import android.util.Log;
    import android.widget.Toast;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.example.xiaoyi_test_2.Activity.AddActivity;
    import com.example.xiaoyi_test_2.Bean.ItemBean;
    import com.example.xiaoyi_test_2.R;
    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.File;
    import java.io.IOException;
    
    import okhttp3.Call;
    import okhttp3.Callback;
    import okhttp3.MediaType;
    import okhttp3.MultipartBody;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    public class ItemService {
        public static void addItem(ItemBean itemBean, final Context context, final SendAddItem sendAddItem) {
            String imgpath = "";
    
            if (itemBean.getImg() != null) {
                String s = Base36Utils.imageToBase64(itemBean.getImg());
                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只能调一次
    
                    }
                });
                itemBean.setImg(null);
    
            }
            if (itemBean.getImg_2() != null) {
                String s = Base36Utils.imageToBase64(itemBean.getImg_2());
                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只能调一次
                    }
                });
                itemBean.setImg_2(null);
            }
            if (itemBean.getImg() != null) {
                String s = Base36Utils.imageToBase64(itemBean.getImg_3());
                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只能调一次
                    }
                });
                itemBean.setImg_3(null);
            }
            itemBean.setImgpath(imgpath);
            final boolean[] flag = {false};
            OkHttpClient okHttpClient = new OkHttpClient();
            MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
            Request request = new Request.Builder()
                    .url("http://123.56.137.134/XiaoYiServer/AddItem")
                    .post(RequestBody.create(mediaType, JSON.toJSONString(itemBean))).build();
    
            Call call = okHttpClient.newCall(request);
            call.enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    e.printStackTrace();
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    String s=response.body().string();
                    sendAddItem.sendAddItem(s);
                    Log.d("ItemService------",s);
                }
            });
    
        }
        public static void getAll(final SendAll sendAll){
            OkHttpClient okHttpClient=new OkHttpClient();
            MediaType mediaType=MediaType.parse("text/x-markdown; charset=utf-8");
            final Request request=new Request.Builder()
                    .url("http://123.56.137.134/XiaoYiServer/sendItem")
                    .post(RequestBody.create(mediaType,"1"))
                    .build();
            Call call=okHttpClient.newCall(request);
            call.enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
    
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                        String s=response.body().string();
    
                        Log.d("ItemService------","--+"+s);
                        JSONArray jsonArray=JSONArray.parseArray(s);
                        sendAll.sendAll(jsonArray);
                }
            });
        }
        public static void searchKey(final SendAll sendAll,String key){
         OkHttpClient okHttpClient=new OkHttpClient();
         MediaType mediaType=MediaType.parse("ext/x-markdown; charset=utf-8");
         Request request=new Request.Builder()
                 .url("http://123.56.137.134/XiaoYiServer/SearchKey")
                 .post(RequestBody.create(mediaType,key))
                 .build();
         Call call=okHttpClient.newCall(request);
         call.enqueue(new Callback() {
             @Override
             public void onFailure(Call call, IOException e) {
    
             }
    
             @Override
             public void onResponse(Call call, Response response) throws IOException {
                 String s=response.body().string();
    
                 Log.d("ItemService------","--+"+s);
                 JSONArray jsonArray=JSONArray.parseArray(s);
                 sendAll.sendAll(jsonArray);
             }
         });
        }
        public static void getType(final SendAll sendAll,String key){
            OkHttpClient okHttpClient=new OkHttpClient();
            MediaType mediaType=MediaType.parse("ext/x-markdown; charset=utf-8");
            Request request=new Request.Builder()
                    .url("http://123.56.137.134/XiaoYiServer/GetType")
                    .post(RequestBody.create(mediaType,key))
                    .build();
            Call call=okHttpClient.newCall(request);
            call.enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
    
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    String s=response.body().string();
    
                    Log.d("ItemService------","--+"+s);
                    JSONArray jsonArray=JSONArray.parseArray(s);
                    sendAll.sendAll(jsonArray);
                }
            });
        }
        public interface SendAddItem{
            public void sendAddItem(String s);
        }
        public interface SendAll{
            public void sendAll(JSONArray jsonArray);
        }
    }
    
    package com.example.xiaoyi_test_2.CommentToItem;
    
    import android.app.Dialog;
    import android.content.Context;
    import android.content.Intent;
    import android.view.View;
    import android.view.inputmethod.InputMethodManager;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    import com.example.xiaoyi_test_2.Bean.SayToItemBean;
    import com.example.xiaoyi_test_2.Activity.LoginActivity;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.Activity.ShowDetailActivity;
    import com.example.xiaoyi_test_2.Service.ItemComponent;
    import com.example.xiaoyi_test_2.Utils.SPUtils;
    
    import cn.bmob.v3.BmobQuery;
    import cn.bmob.v3.exception.BmobException;
    import cn.bmob.v3.listener.SaveListener;
    
    public class SayToCommentClass {
        private LinearLayout root;
        private Context context;
        private Button btn_send;
        private EditText et;
        private ImageView face;
        private SayToItemBean itemBean;
        private Dialog dialog;
        private SayToCommentClass.sendAdd sendAdd;
        private int posi;
    
        public SayToCommentClass(LinearLayout root, Context context, SayToItemBean itemBean, Dialog mdialog, sendAdd sendAdd, int posi) {
            this.root = root;
            this.context = context;
            this.itemBean = itemBean;
            this.dialog = mdialog;
            this.posi = posi;
            this.sendAdd = sendAdd;
            bindViews(root);
        }
    
        private void bindViews(LinearLayout root) {
            btn_send = root.findViewById(R.id.saytoitem_btn);
            et = root.findViewById(R.id.saytoitem_et);
            face = root.findViewById(R.id.saytoitem_face);
            btn_send.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    hintKbTwo();
                    if (SPUtils.get(context, "username", "111") == null) {
                        Intent intent = new Intent(context, LoginActivity.class);
                        ((ShowDetailActivity) context).startActivityForResult(intent, 0);
                        Toast.makeText(context, "请先登录!", Toast.LENGTH_SHORT).show();
                    } else {
                        SayToItemBean sayToItemBean = new SayToItemBean();
                        sayToItemBean.setItemid(itemBean.getItemid());
                        sayToItemBean.setUserid((Integer) SPUtils.get(context, "userid", 1));
                        sayToItemBean.setSaywhat(et.getText().toString());
                        sayToItemBean.setAbovecomment(itemBean.getId());
                        sayToItemBean.save(context);
                        sendAdd.sendl(sayToItemBean, posi);
                    }
                    dialog.dismiss();
                }
            });
        }
    
        //隐藏键盘
        private void hintKbTwo() {
            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm.isActive() && dialog.getCurrentFocus() != null) {
                if (dialog.getCurrentFocus().getWindowToken() != null) {
                    imm.hideSoftInputFromWindow(dialog.getCurrentFocus().getWindowToken(),
                            InputMethodManager.HIDE_NOT_ALWAYS);
                }
            }
        }
    
        public interface sendAdd {
            public void sendl(SayToItemBean itemBean, int posi);
        }
    }
    
    package com.example.xiaoyi_test_2.CommentToItem;
    
    import android.app.Dialog;
    import android.content.Context;
    import android.content.Intent;
    import android.view.View;
    import android.view.inputmethod.InputMethodManager;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    import com.example.xiaoyi_test_2.Bean.ItemBean;
    import com.example.xiaoyi_test_2.Bean.SayToItemBean;
    import com.example.xiaoyi_test_2.Activity.LoginActivity;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.Activity.ShowDetailActivity;
    import com.example.xiaoyi_test_2.Utils.SPUtils;
    
    import cn.bmob.v3.BmobQuery;
    import cn.bmob.v3.exception.BmobException;
    import cn.bmob.v3.listener.SaveListener;
    
    public class SayToItemClass {
        private LinearLayout root;
        private Context context;
        private Button btn_send;
        private EditText et;
        private ImageView face;
        private ItemBean itemBean;
        private Dialog dialog;
        private sendAdd sendAdd;
    
        public SayToItemClass(LinearLayout root, Context context, ItemBean itemBean, Dialog mdialog, sendAdd sendAdd) {
            this.root = root;
            this.context = context;
            this.itemBean = itemBean;
            this.dialog = mdialog;
            this.sendAdd = sendAdd;
            bindViews(root);
        }
    
        private void bindViews(LinearLayout root) {
            btn_send = root.findViewById(R.id.saytoitem_btn);
            et = root.findViewById(R.id.saytoitem_et);
            face = root.findViewById(R.id.saytoitem_face);
            btn_send.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    hintKbTwo();
                    if (SPUtils.get(context, "username", "111") == null) {
                        Intent intent = new Intent(context, LoginActivity.class);
                        ((ShowDetailActivity) context).startActivityForResult(intent, 0);
                        Toast.makeText(context, "请先登录!", Toast.LENGTH_SHORT).show();
                    } else {
                        SayToItemBean sayToItemBean = new SayToItemBean();
                        sayToItemBean.setUserid((Integer) SPUtils.get(context, "userid", 1));
                        sayToItemBean.setSaywhat(et.getText().toString());
                        sayToItemBean.setItemid(itemBean.getId());
                        sayToItemBean.save(context);
                        sendAdd.send(sayToItemBean);
                    }
                    dialog.dismiss();
                }
            });
        }
    
        //隐藏键盘
        private void hintKbTwo() {
            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm.isActive() && dialog.getCurrentFocus() != null) {
                if (dialog.getCurrentFocus().getWindowToken() != null) {
                    imm.hideSoftInputFromWindow(dialog.getCurrentFocus().getWindowToken(),
                            InputMethodManager.HIDE_NOT_ALWAYS);
                }
            }
        }
    
        public interface sendAdd {
            public void send(SayToItemBean itemBean);
        }
    }
    
    package com.example.xiaoyi_test_2.CommentToItem;
    
    import android.app.Dialog;
    import android.content.Context;
    import android.content.Intent;
    import android.view.View;
    import android.view.inputmethod.InputMethodManager;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    import com.example.xiaoyi_test_2.Bean.SayToItemBean;
    import com.example.xiaoyi_test_2.Activity.LoginActivity;
    import com.example.xiaoyi_test_2.R;
    import com.example.xiaoyi_test_2.Activity.ShowDetailActivity;
    import com.example.xiaoyi_test_2.Utils.SPUtils;
    
    import cn.bmob.v3.BmobQuery;
    import cn.bmob.v3.exception.BmobException;
    import cn.bmob.v3.listener.SaveListener;
    
    public class SayToReplyClass {
        private LinearLayout root;
        private Context context;
        private Button btn_send;
        private EditText et;
        private ImageView face;
        private SayToItemBean itemBean;
        private Dialog dialog;
        private SayToReplyClass.sendAdd sendAdd;
        private int posi;
    
        public SayToReplyClass(LinearLayout root, Context context, SayToItemBean itemBean, Dialog mdialog, sendAdd sendAdd, int posi) {
            this.root = root;
            this.context = context;
            this.itemBean = itemBean;
            this.dialog = mdialog;
            this.posi = posi;
            this.sendAdd = sendAdd;
            bindViews(root);
        }
    
        private void bindViews(LinearLayout root) {
            btn_send = root.findViewById(R.id.saytoitem_btn);
            et = root.findViewById(R.id.saytoitem_et);
            face = root.findViewById(R.id.saytoitem_face);
            btn_send.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    hintKbTwo();
                    if (SPUtils.get(context, "username", "111") == null) {
                        Intent intent = new Intent(context, LoginActivity.class);
                        ((ShowDetailActivity) context).startActivityForResult(intent, 0);
                        Toast.makeText(context, "请先登录!", Toast.LENGTH_SHORT).show();
                    } else {
                        SayToItemBean sayToItemBean = new SayToItemBean();
                        sayToItemBean.setUserid((Integer) SPUtils.get(context, "userid", 1));
                        sayToItemBean.setSaywhat(et.getText().toString());
                        sayToItemBean.setTouerid(itemBean.getUserid());
                        sayToItemBean.setItemid(itemBean.getItemid());
                        sayToItemBean.setAbovecomment(itemBean.getId());
                        sayToItemBean.save(context);
                        sendAdd.send(sayToItemBean, posi);
                    }
                    dialog.dismiss();
                }
            });
        }
    
        //隐藏键盘
        private void hintKbTwo() {
            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm.isActive() && dialog.getCurrentFocus() != null) {
                if (dialog.getCurrentFocus().getWindowToken() != null) {
                    imm.hideSoftInputFromWindow(dialog.getCurrentFocus().getWindowToken(),
                            InputMethodManager.HIDE_NOT_ALWAYS);
                }
            }
        }
    
        public interface sendAdd {
            public void send(SayToItemBean itemBean, int posi);
        }
    }
    

      

    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.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.ItemBean;
    import utils.DBUtil;
    @WebServlet("/SearchKey")
    public class SearchKey extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public SearchKey() {
            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();
    		String key=sb.toString();
    		ArrayList<ItemBean> arr=new ArrayList<>(); 
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="select * from item where bigtype like '%"+key+"%' or `describe` like '%"+key+"' or type like '%"+key+"%'";
    			ResultSet rsst=stmt.executeQuery(sql);
    			while(rsst.next()) {
    				ItemBean it=new ItemBean();
    				it.setDescribe(rsst.getString("describe"));
    				Statement stmt2=con.createStatement();
    				ResultSet rsst2=stmt2.executeQuery("select name from user where phone='"+rsst.getString("phone")+"'");
    				if(rsst2.next()) {
    					it.setUsername(rsst2.getString("name"));
    				}
    				it.setId(rsst.getInt("id"));
    				it.setPhone(rsst.getString("phone"));
    				it.setMoney(rsst.getString("money"));
    				it.setBigtype(rsst.getString("bigtype"));
    				it.setType(rsst.getString("type"));
    				it.setPosi(rsst.getString("posi"));
    				it.setImgspath(rsst.getString("imgpath"));
    				it.setDate(rsst.getDate("creat_time"));
    				stmt2.close();
    				rsst2.close();
    				arr.add(it);
    			}
    			rsst.close();
    			stmt.close();
    			con.close();
    			System.out.println(JSONArray.toJSONString(arr));
    			response.setCharacterEncoding("utf-8");
    			
    			response.getWriter().print(JSONArray.toJSONString(arr));
    			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.JSON;
    import com.alibaba.fastjson.JSONObject;
    
    import utils.DBUtil;
    
    @WebServlet("/AddItemComp")
    public class AddItemComp extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public AddItemComp() {
            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 jsonObject=JSON.parseObject(sb.toString());
    		System.out.println(sb.toString());
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="insert into itemcomment(userid,itemid,saywhat,abovecomment,touserid) value("+jsonObject.getIntValue("userid")+","+
    			jsonObject.getIntValue("itemid")+",'"+jsonObject.getString("saywhat")+"',"+jsonObject.getIntValue("abovecomment")+","+jsonObject.getIntValue("touserid")+")";
    			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();
    	}
    
    }
    
    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.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 com.alibaba.fastjson.JSONObject;
    
    import bean.CompentBean;
    import bean.UserBean;
    import utils.DBUtil;
    @WebServlet("/GetCompent")
    public class GetCompent extends HttpServlet {
    	private static final long serialVersionUID = 1L;
        public GetCompent() {
            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);
    		String s="";
    		StringBuffer sb=new StringBuffer();
    		while((s=br.readLine())!=null) {
    			sb.append(s);
    		}
    		System.out.println(sb.toString());
    		ArrayList<CompentBean> arr=new ArrayList<CompentBean>();
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="select * from itemcomment where itemid="+Integer.parseInt(sb.toString());
    			ResultSet rsst=stmt.executeQuery(sql);
    			while(rsst.next()) {
    				CompentBean compentBean=new CompentBean();
    				compentBean.setAbovecomment(rsst.getInt("abovecomment"));
    				compentBean.setUserid(rsst.getInt("userid"));
    				compentBean.setTouserid(rsst.getInt("touserid"));
    				compentBean.setId(rsst.getInt("id"));
    				compentBean.setItemid(rsst.getInt("itemid"));
    				compentBean.setSaywhat(rsst.getString("saywhat"));
    				compentBean.setDate(rsst.getDate("creatdate"));
    				arr.add(compentBean);
    			}
    			stmt.close();
    			con.close();
    			br.close();
    			ir.close();
    			is.close();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		JSONArray jsonArray=JSONArray.parseArray(JSONArray.toJSONString(arr));
    		System.out.println(jsonArray);
    		response.setCharacterEncoding("utf-8");
    		response.getWriter().write(jsonArray.toJSONString());
    		response.getWriter().close();
    		
    	}
    
    }
    
    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.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.ItemBean;
    import utils.DBUtil;
    @WebServlet("/GetType")
    public class GetType extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public GetType() {
            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();
    		String btype=sb.toString();
    		ArrayList<ItemBean> arr=new ArrayList<ItemBean>();
    		try {
    			Connection con=DBUtil.lin("XiaoYi");
    			Statement stmt=con.createStatement();
    			String sql="select * from item where bigtype='"+btype+"'";
    			ResultSet rsst=stmt.executeQuery(sql);
    			
    			while(rsst.next()) {
    				ItemBean it=new ItemBean();
    				it.setDescribe(rsst.getString("describe"));
    				Statement stmt2=con.createStatement();
    				ResultSet rsst2=stmt2.executeQuery("select name from user where phone='"+rsst.getString("phone")+"'");
    				if(rsst2.next()) {
    					it.setUsername(rsst2.getString("name"));
    				}
    				it.setId(rsst.getInt("id"));
    				it.setPhone(rsst.getString("phone"));
    				it.setMoney(rsst.getString("money"));
    				it.setBigtype(rsst.getString("bigtype"));
    				it.setType(rsst.getString("type"));
    				it.setPosi(rsst.getString("posi"));
    				it.setImgspath(rsst.getString("imgpath"));
    				it.setDate(rsst.getDate("creat_time"));
    				stmt2.close();
    				rsst2.close();
    				arr.add(it);
    			}
    			rsst.close();
    			stmt.close();
    			con.close();
    			System.out.println(JSONArray.toJSONString(arr));
    			response.setCharacterEncoding("utf-8");
    			
    			response.getWriter().print(JSONArray.toJSONString(arr));
    			response.getWriter().close();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    Spark基础知识详解
    jenkins shared library【demo】
    反if的活动
    开发工具vscode
    【火狐】查看和切换 本地服务 与 全球服务
    java【Socket】【上传下载文件】
    Android【照片备份】【折腾方案1】
    total commander【删除重复文件】
    jenkins【插件】【优先级】
    Android【照片备份】【折腾方案2】
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/12748351.html
Copyright © 2020-2023  润新知