zoukankan      html  css  js  c++  java
  • 团队冲刺第十四天

    今天完成了新闻的搜索功能:

    package com.example.bowenwang;
    
    import androidx.annotation.NonNull;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.recyclerview.widget.LinearLayoutManager;
    import androidx.recyclerview.widget.RecyclerView;
    
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.concurrent.TimeUnit;
    
    import okhttp3.FormBody;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    public class SearchActivity extends AppCompatActivity implements View.OnClickListener{
        EditText editText;
        Button button;
        List<Bean> list=new ArrayList<>();
        String search;
        RecyclerAdapter2 recyclerAdapter2;
        RecyclerView recyclerView;
        private OkHttpClient okHttpClient=new OkHttpClient.Builder()
                .connectTimeout(60 * 1000, TimeUnit.MILLISECONDS)
                .readTimeout(5 * 60 * 1000, TimeUnit.MILLISECONDS)
                .writeTimeout(5 * 60 * 1000, TimeUnit.MILLISECONDS)
                .build();
        private Handler handler=new Handler() {
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                list = (List<Bean>) msg.obj;
                ceshi();
            }
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_search);
            recyclerView = (RecyclerView) findViewById(R.id.recyclersearch);
            editText=findViewById(R.id.search_search_et_input);
            button=findViewById(R.id.search);
            button.setOnClickListener(this);
        }
        private void get(){
            new Thread(){
                @Override
                public void run() {
                    super.run();
                    String url="http://39.103.196.146:8888/getNewsData/SearchServlet";
                    try {
                        String result=getData(url);
                        manageResponse(result);
                        Log.e("内容:","搜索"+result);
                        Message msg=Message.obtain();
                        msg.obj=list;
                        handler.sendMessage(msg);
                    } catch (IOException | JSONException e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        private String getData(String url) throws IOException {
            RequestBody responseBody=new FormBody.Builder()
                    .add("search", String.valueOf(search))
                    .build();
            Request request=new Request.Builder().post(responseBody).url(url).build();
            Response response=okHttpClient.newCall(request).execute();
            return response.body().string();
        }
        private void manageResponse(String result) throws JSONException {
            JSONArray jsonArray=new JSONArray(result);
            list=new ArrayList<>();
            for(int i=0;i<jsonArray.length();i++)
            {
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                String title=jsonObject.getString("title");
                String time=jsonObject.getString("time");
                String place=jsonObject.getString("place");
                String content=jsonObject.getString("content");
                String img=jsonObject.getString("img");
                Bean bean=new Bean();
                bean.setTitle(title);
                bean.setTime(time);
                bean.setPlace(place);
                bean.setContent(content);
                bean.setImg(img);
                list.add(bean);
            }
        }
        private void ceshi(){
            LinearLayoutManager layoutManager = new LinearLayoutManager(this);
            layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
            recyclerView.setLayoutManager(layoutManager);
            recyclerAdapter2=new RecyclerAdapter2(list);
            recyclerView.setAdapter(recyclerAdapter2);
        }
        @Override
        public void onClick(View v) {
            search=editText.getText().toString();
            get();
        }
    }
    
    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    hdu 14004
    hdu 1850 基础尼姆博奕
    hdu 1847 sg函数
    hdu 2177
    hdu 1527
    hdu 2897
    hdu 2516 取石子游戏
    hdu 1525 Euclid's Game
    hdu 2063
    hdu 1281 棋盘游戏
  • 原文地址:https://www.cnblogs.com/haobox/p/14914885.html
Copyright © 2011-2022 走看看