package com.example.finalproject;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.finalproject.bean.Student;
import com.example.finalproject.util.HideInputMethod;
import com.example.finalproject.util.HttpURLConn;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author wunu
*/
@SuppressWarnings("all")
public class studentList extends AppCompatActivity implements View.OnClickListener {
private List<Student> allstudent;
private ListView lv;
private ImageButton ib_search;
private Button bt_return;
private EditText et_find;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_list);
lv = findViewById(R.id.lv);
et_find = findViewById(R.id.et_find);
ib_search = findViewById(R.id.ib_search);
ib_search.setOnClickListener(this);
bt_return = findViewById(R.id.bt_return);
bt_return.setOnClickListener(this);
new Thread(new Runnable() {
@Override
public void run() {
String url = HttpURLConn.BASE_URL + "/studentQuery";
Map<String, String> params = new HashMap<>();
params.put("key", "");
String result = HttpURLConn.getContextByHttp(url, params);
Message message = new Message();
message.what = 0x11;
Bundle data = new Bundle();
data.putString("result", result);
// 测试能不能读取到结果
System.out.println(result);
message.setData(data);
handler.sendMessage(message);
}
}).start();
}
private Handler handler = new Handler() {
@Override
public void handleMessage(@NonNull Message msg) {
if (msg.what == 0x11) {
// 每次查询都新建一个新的对象,不然会保留之前查询的值
allstudent = new ArrayList<>();
Bundle data = msg.getData();
String key = data.getString("result");
// 测试能不能读取到结果
System.out.println("key值为:=============" + key);
try {
JSONObject json = new JSONObject(key);
// 获取JSONArray数组在指定位置的JSONObject对象
JSONArray listArray = json.getJSONArray("students");
// 测试能不能读取到结果
System.out.println("listArray========" + listArray);
for (int i = 0; i < listArray.length(); i++) {
// 获得数组中指定下标的JSON对象
JSONObject jsonObject = listArray.getJSONObject(i);
String id = jsonObject.getString("id"); // 学号
String name = jsonObject.getString("name"); // 姓名
String major = jsonObject.getString("major"); // 专业
String isbn = jsonObject.getString("isbn"); // 书条码
Student student = new Student(id, name, major, isbn);
allstudent.add(student);
}
// 显示查询结果
System.out.println("========================被调用了=================");
lv.setAdapter(new MyAdapter());
} catch (JSONException e) {
e.printStackTrace();
}
}
}
};
/**
* 进行查询操作
*
* @param v
*/
@Override
public void onClick(View v) {
if (v.getId() == R.id.ib_search) {
// 点击按钮后会自动隐藏软键盘
HideInputMethod.hideAllInputMethod(this);
final String find = et_find.getText().toString().trim();
new Thread(new Runnable() {
@Override
public void run() {
String url = HttpURLConn.BASE_URL + "/studentQuery";
Map<String, String> params = new HashMap<>();
params.put("key", find);
String result = HttpURLConn.getContextByHttp(url, params);
Message message = new Message();
message.what = 0x11;
Bundle data = new Bundle();
data.putString("result", result);
message.setData(data);
handler.sendMessage(message);
}
}).start();
} else if (v.getId() == R.id.bt_return) {
Intent intent = new Intent(); // 创建一个新意图
setResult(Activity.RESULT_OK, intent); // 携带意图返回前一个页面
finish(); // 关闭当前页面
}
}
private class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return allstudent.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = View.inflate(studentList.this, R.layout.select_item, null);
TextView tv_id = view.findViewById(R.id.tv_id);
TextView tv_name = view.findViewById(R.id.tv_name);
TextView tv_major = view.findViewById(R.id.tv_major);
TextView tv_isbn = view.findViewById(R.id.tv_isbn);
tv_id.setText(allstudent.get(position).getId());
tv_name.setText(allstudent.get(position).getName());
tv_major.setText(allstudent.get(position).getMajor());
tv_isbn.setText(allstudent.get(position).getIsbn());
return view;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
安卓期末大作业—Android图书管理系统app源码(高分项目),个人经导师指导并认可通过的高分大作业项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源码(高分项目)安卓期末大作业—Android图书管理系统app源
资源推荐
资源详情
资源评论






















收起资源包目录


























































































































共 87 条
- 1
资源评论


程序员张小妍
- 粉丝: 2w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
