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安卓期末大作业-图书管理系统
共87个文件
png:36个
xml:27个
java:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 6 下载量 120 浏览量
2023-11-02
17:10:48
上传
评论 5
收藏 760KB ZIP 举报
温馨提示
界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
FinalProject-master.zip (87个子文件)
FinalProject-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
机智的程序员zero
- 粉丝: 2416
- 资源: 4877
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
- 基于Python和HTML的tb商品列表查询分析设计源码
- 基于国民技术RT-THREAD的MULTInstrument多功能电子测量仪器设计源码
- 基于Java技术的网络报修平台后端设计源码
- 基于Python的美食杰中华菜系数据挖掘与分析设计源码
- 30.STM32_UART_RFID_读卡号_初始化钱包_语音.rar
- 基于Java开发的个人知识库记录系统设计源码
- 通过 LibTorch C++ API 部署 YOLOv5 进行实时对象检测.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页