package com.imau.studentcms;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AbsListView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.imau.Adapter.StudentAdapter;
import com.imau.Dialog.MyDialog;
import com.imau.entitry.Student;
import com.imau.util.MyHandler;
import com.imau.util.MyHttpUtil;
import java.util.ArrayList;
import java.util.List;
public class Main2Activity extends AppCompatActivity {
private ListView listView;
private StudentAdapter adapter;
private List<Student> stus=new ArrayList<>();
private ImageView add;
private int pageNo=0;
// private MyHandler handler2=new MyHandler();
private Handler handler=new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
JSONArray data= (JSONArray) msg.obj;
//清空集合
stus.clear();
//遍历数组
for (int i=0;i<data.size();++i){
Student student= data.getobject(i,Student.class);
//存放到stus集合中
stus.add(student);
}
if(msg.what==10){
//加载数据
adapter.addAll(stus);
adapter.notifyDataSetChanged();
}else{
init();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initStus();
}
//初始化学生列表信息
private void initStus(){
MyHttpUtil.doGet("http://10.0.2.2:8008/student/page/"+pageNo+"/10",new MyHttpUtil.HttpCallbackListener(){
@Override
public void onFinsh(String response) {
System.out.println(response);
//解析后台服务json数据
JSONObject obj = JSON.parSEObject(response);
int code= obj.getInteger("code");
// 判断成功》?
if(code==10000){
//解析json数组
JSONArray data = obj.getJSONArray("data");
Message message=new Message();
message.obj=data;
handler.sendMessage(message);
}
}
});
}
private void init(){
add=findViewById(R.id.add);
add.setonClickListener(new MyListener());
listView=findViewById(R.id.lv);
adapter=new StudentAdapter(Main2Activity.this,R.layout.stu_layout,stus);
listView.setAdapter(adapter);
//分页动态加载事件
listView.setonScrollListener(new MyListener());
}
class MyListener implements View.OnClickListener, AbsListView.OnScrollListener {
@Override
public void onClick(View v) {
MyDialog dialog=null;
//1.创建对话框
MyDialog.Builder builder=new MyDialog.Builder(Main2Activity.this ,null);
builder.setPositiveButton("确定", new MyDialog.OnClickListener() {
@Override
public void onClick(Dialog dialog,Student student) {
MyHttpUtil.doPost("http://10.0.2.2:8008/student/save" , student,new MyHttpUtil.HttpCallbackListener() {
@Override
public void onFinsh(String response) {
System.out.println(response);
//解析后台服务json数据
JSONObject obj = JSON.parSEObject(response);
int code= obj.getInteger("code");
// 判断成功》?
if(code==10000){
}
}
});
Toast.makeText(Main2Activity.this,"添加成功!",Toast.LENGTH_LONG).show();
dialog.cancel();
}
});
dialog=builder.create();
dialog.show();
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState==0){
pageNo++;
MyHttpUtil.doGet("http://10.0.2.2:8008/student/page/"+pageNo+"/10",new MyHttpUtil.HttpCallbackListener(){
@Override
public void onFinsh(String response) {
//解析后台服务json数据
JSONObject obj = JSON.parSEObject(response);
int code= obj.getInteger("code");
// 判断成功》?
if(code==10000){
//解析json数组
JSONArray data = obj.getJSONArray("data");
Message message=new Message();
message.what=10;
message.obj=data;
handler.sendMessage(message);
}
}
});
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
}
}
package com.imau.studentcms;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.imau.util.MyHandler;
import com.imau.util.MyHttpUtil;
import com.imau.util.MyRequstUtil;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
private EditText uname;
private EditText upass;
public static Object data;
private Handler handler=new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
if((Integer) msg.obj==10000){
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}else{
Toast.makeText(MainActivity.this,"用户名密码错误,重新输入",Toast.LENGTH_LONG).show();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uname=findViewById(R.id.name);
upass=findViewById(R.id.pass);
}
//登录按钮事件方法
public void login(View view){
//1.获取输入用户名密码
String name=uname.getText().toString();
String pass=upass.getText().toString();
//2.验证输入....
if("".equals(name)||name==null){
Toast.makeText(MainActivity.this,"请输入用户名",Toast.LENGTH_LONG).show();
uname.setFocusable(true);
}else if("".equals(pass)||pass==null){
Toast.makeText(MainActivity.this,"请输入密码",Toast.LENGTH_LONG).show();
upass.setFocusable(true);
}else{
//3.请求后台:用户名 密码查询用户名
HashMap<String,Object> params=new HashMap<>();
params.put("uname",name);
params.put("upass",pass);
//访问地址:本地的电脑:localhost 10.0.2.2
MyRequstUtil.loginController(params);
//获取值
System.out.println("data==="+MyHandler.data);
// MyHttpUtil.doPost(“http://10.0.2.2:8008/user/login”, params,new MyHttpUtil.HttpCallbackListener() {
//
// @Override
// public void onFinsh(String response) {
//
// System.out.println(response);
//
// //4.解析后台数据:
// //普通json串解析;
// //定义一个服务后台一致的实体类;对象解析
// JSONObject obj =JSON.parSEObject(response);
//
// int code= obj.getInteger(“code”);
// //发送消息
// Message message=new Message();
// //判断
// if(code==10000){
//
// message.what=1;
// message.obj=10000;
//
// }else{
//
// message.what=1;
// message.obj=10001;
// }
//
// handler.sendMessage(message);
//
// }
// });
}
}
}
package com.imau.util;
import android.os.Handler;
import android.os.Message;
import androidx.annotation.NonNull;
import com.imau.studentcms.MainActivity;
public class MyHandler extends Handler {
public static Object data;
private static MyHandler handler;
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
if(msg.what==RequestCode.LOGINI){
data=msg.obj;
}
}
private MyHandler(){
}
public static MyHandler getInstance(){
if(handler==null){
handler=new MyHandler();
}
return handler;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。