Android后台开发4

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;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值