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安卓期末大作业-图书管理系统源码(95分以上项目),个人经导师指导并认可通过的高分大作业项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(95分以上项目)Android安卓期末大作业-图书管理系统源码(9
资源推荐
资源详情
资源评论
收起资源包目录
安卓期末大作业—图书管理系统源码.zip (87个子文件)
文件t-master
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 232B
app
src
androidTest
java
com
example
finalproject
ExampleInstrumentedTest.java 762B
test
java
com
example
finalproject
ExampleUnitTest.java 385B
main
java
com
example
finalproject
CRUDActivity.java 2KB
LoginActivity.java 6KB
UpdateActivity.java 4KB
DeleteActivity.java 5KB
studentList.java 7KB
CreateActivity.java 5KB
RegisterActivity.java 6KB
util
HideInputMethod.java 588B
HttpURLConn.java 4KB
bean
Student.java 1KB
res
mipmap-xxhdpi
ic_launcher_round.png 12KB
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher_round.png 5KB
ic_launcher.png 4KB
mipmap-mdpi
ic_launcher_round.png 3KB
ic_launcher.png 3KB
mipmap-xxxhdpi
ic_launcher_round.png 16KB
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher_round.png 7KB
ic_launcher.png 5KB
values
colors.xml 207B
strings.xml 75B
styles.xml 381B
layout
activity_crud.xml 2KB
item_dropdown.xml 309B
select_item.xml 2KB
activity_register_main.xml 5KB
activity_login.xml 4KB
activity_create.xml 7KB
activity_student_list.xml 5KB
activity_delete.xml 4KB
activity_update.xml 6KB
drawable
zhihu2.png 3KB
text_cursor.png 120B
bg2.png 168KB
major.png 1KB
manager.png 3KB
logo.png 121KB
usercre.png 5KB
logo2.png 4KB
register.png 4KB
shape_btn_normal.xml 342B
phone.png 2KB
userupd.png 6KB
search.png 4KB
qq2.png 3KB
bg3.png 139KB
key.png 3KB
userdel.png 6KB
isbn2.png 2KB
bg.png 189KB
user.png 2KB
shape_edit_normal.xml 533B
qq.png 3KB
shape_edit_focus.xml 533B
password.png 2KB
wechat.png 3KB
isbn.png 2KB
btn_selector.xml 266B
zhihu.png 3KB
shape_btn_pressed.xml 344B
wechat2.png 3KB
id.png 2KB
editext_selector.xml 266B
AndroidManifest.xml 1KB
proguard-rules.pro 750B
build.gradle 935B
.gitignore 6B
gradlew.bat 2KB
build.gradle 530B
.idea
.name 13B
jarRepositories.xml 1KB
codeStyles
Project.xml 5KB
dbnavigator.xml 22KB
runConfigurations.xml 564B
vcs.xml 180B
misc.xml 357B
inspectionProfiles
Project_Default.xml 1KB
gradle.xml 796B
settings.gradle 49B
gradlew 5KB
.gitignore 208B
共 87 条
- 1
资源评论
程序员张小妍
- 粉丝: 1w+
- 资源: 3418
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 植物识别检测53-YOLO(v5至v9)数据集合集.rar
- 深度学习图形绘制工具包:基础元素与快速绘图指南
- 大苏打撒大大大大撒大撒
- matlab实现基于AStar算法的无人机三维全覆盖路径规划研究-AStar算法-无人机-路径规划-matlab
- 植物识别检测52-YOLO(v8至v9)数据集合集.rar
- ad 3D元件库 更新到2024.10
- 如何在项目中合理设计 Java 继承和多态接口+pdf
- Java 继承和多态接口作用和案例+pdf
- Java 继承和多态接口基本概念与语法+pdf
- 植物检测44-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功