Android Studio 实现实现学生信息的增删改查 -源代码 四(Servlet + 连接MySql数据库)

Android Studio 实现登录注册-源代码 (连接MySql数据库)

Android Studio 实现登录注册-源代码 二(Servlet + 连接MySql数据库)

[Android Studio 实现登录注册-源代码 三(Servlet + 连接MySql数据库)实现学生信息的查询 (JSON通信)]

Android Studio 实现实现学生信息的增删改查 -源代码 四(Servlet + 连接MySql数据库)

在这里插入图片描述
源代码下载:
https://download.csdn.net/download/qq_44757034/19685905

一、完善学生信息显示

1、修改和删除的按钮在student_list.xml当中

在这里插入图片描述




    

        

        

        

        

        


            

2、添加表头的xml,创建list_header.xml

在这里插入图片描述




    

        

        

        

        

        


            

            
        


    


3、在adapter当中动态加载表头

在这里插入图片描述

  final LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
                View headView = inflater.inflate(R.layout.list_header, null);

                if(stuList.getHeaderViewsCount()==0)
                {
                    stuList.addHeaderView(headView);
                }

在这里插入图片描述

二、实现修改学生信息的操作

(一)安卓端

1、创建显示学生信息的页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述





    

        


            

            
        
        


            

            
        
        


            

            
        
        


            

            
        

        



        

        

2、在student_list.xml页面上的按钮上添加onClick

在这里插入图片描述

3、完善Student_List当中的update方法

在这里插入图片描述

  public void update(View view){

        LinearLayout linearLayout =  (LinearLayout)(view.getParent().getParent());

        TextView idEd = linearLayout.findViewById(R.id.id);
        TextView nameEd =  linearLayout.findViewById(R.id.name);
        TextView ageEd = linearLayout.findViewById(R.id.age);
        TextView addressEd = linearLayout.findViewById(R.id.address);

        Intent intent=new Intent();
        intent.putExtra("id", idEd.getText().toString());
        intent.putExtra("name", nameEd.getText().toString());
        intent.putExtra("age", ageEd.getText().toString());
        intent.putExtra("address", addressEd.getText().toString());
        intent.setClass(this, StudentUpdate.class);
        startActivity(intent );


        Toast.makeText(getApplicationContext(),"修改",Toast.LENGTH_LONG).show();

    }

4、StudentUpdate当中获取对应Intent 对象当中的值并放入到页面当中的修改框当中

在这里插入图片描述

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_student_update);

        Intent intent = getIntent();

        String id =    intent.getStringExtra("id");
        String name =  intent.getStringExtra("name");
        String age = intent.getStringExtra("age");
        String address = intent.getStringExtra("address");


        TextView idtv = findViewById(R.id.id);
        EditText nameet = findViewById(R.id.name);
        EditText ageet = findViewById(R.id.age);
        EditText addresset = findViewById(R.id.address);

        idtv.setText(id);
        nameet.setText(name);
        ageet.setText(age);
        addresset.setText(address);


    }

运行测试

在这里插入图片描述
在这里插入图片描述

(二)web端

1、创建更新学生信息的dao

在这里插入图片描述

	 public boolean update(Student stu){

		 String sql="update student set name=?,age=?,address=? where id=?";
	        Connection  con = JDBCUtils.getConn();

	        try {
	            PreparedStatement pst=con.prepareStatement(sql);

	            pst.setString(1,stu.getName());
	            pst.setInt(2,stu.getAge());
	            pst.setString(3,stu.getAddress() );
	            pst.setInt(4,stu.getId()   );

	            int value = pst.executeUpdate();

	            if(value>0){
	                return true;
	            }


	        } catch (SQLException throwables) {
	            throwables.printStackTrace();
	        }finally {
	            JDBCUtils.close(con);
	        }
	        return false;
	    }

2、创建对应更新学生信息的Servlet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完善StudentUpdateServlet
在这里插入图片描述

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		System.out.println("-----------------");
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("UTF-8");
		int id = Integer.parseInt(request.getParameter("id"));
		String name = request.getParameter("name");
		int age =  Integer.parseInt(request.getParameter("age"));
		String address =  request.getParameter("address");
		
		
		Student student = new Student();

		student.setId(id);
		student.setName(name);
		student.setAge(age);
		student.setAddress(address);

        String msg = "";
        StudentDao studentDao = new StudentDao();
            
        boolean flag = studentDao.update(student);
        
        if(flag){
            msg = "成功";
        }else{
        	msg = "失败";
        }
	   
        PrintWriter out = response.getWriter();
		out.println(msg);
		out.flush();
		out.close();

		
	}

(三)安卓端

1、在StudentUpdate当中创建updatestudent实现向studentUpdateServlet发送更新信息的请求

在这里插入图片描述

package com.example.application01;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.application01.utils.PostUtil;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class StudentUpdate extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_student_update);

        Intent intent = getIntent();

        String id =    intent.getStringExtra("id");
        String name =  intent.getStringExtra("name");
        String age = intent.getStringExtra("age");
        String address = intent.getStringExtra("address");


        TextView idtv = findViewById(R.id.id);
        EditText nameet = findViewById(R.id.name);
        EditText ageet = findViewById(R.id.age);
        EditText addresset = findViewById(R.id.address);

        idtv.setText(id);
        nameet.setText(name);
        ageet.setText(age);
        addresset.setText(address);

    }


    public void updatestudent(View view){


        TextView idtv = findViewById(R.id.id);
        EditText nameet = findViewById(R.id.name);
        EditText ageet = findViewById(R.id.age);
        EditText addresset = findViewById(R.id.address);

        String id =  idtv.getText().toString();
        String name =   nameet.getText().toString();
        String age =  ageet.getText().toString();
        String address = addresset.getText().toString();


        new Thread(){
            @Override
            public void run() {

                String data="";
                try {
                    data = "&id="+ URLEncoder.encode(id, "UTF-8")+
                            "&name="+ URLEncoder.encode(name, "UTF-8")+
                            "&age="+ URLEncoder.encode(age, "UTF-8")+
                            "&address="+ URLEncoder.encode(address, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }

                String request = PostUtil.Post("studentUpdateServlet",data);

                int msg = 0;
                if(request.equals("成功")){
                    msg = 1;
                }


                hand.sendEmptyMessage(msg);

            }
        }.start();


    }
    Handler hand=new Handler(){
        @Override
        public void handleMessage(Message msg) {

            if(msg.what == 1)
            {
                startActivity(new Intent( getApplicationContext(),  Student_List.class ) );
                //startActivity(new Intent( getApplicationContext(),  StuInfoActivity.class ) );
            }
            else
            {
                Toast.makeText(getApplicationContext(),"更新失败",Toast.LENGTH_LONG).show();
            }
        }

    };
}

2、运行测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Android Studio 实现登录注册-源代码 (连接MySql数据库)

Android Studio 实现登录注册-源代码 二(Servlet + 连接MySql数据库)

[Android Studio 实现登录注册-源代码 三(Servlet + 连接MySql数据库)实现学生信息的查询 (JSON通信)]

Android Studio 实现实现学生信息的增删改查 -源代码 四(Servlet + 连接MySql数据库)

你可能感兴趣的