zoukankan      html  css  js  c++  java
  • 4.21日软件开发日记:今天我干了什么?

    昨天的课表删除和添加没有做完,今天继续做完,不过昨天成功连接上数据库了

    package zzm.org.kebiaojiemian;
    
    
    
    import java.util.Calendar;
    
    import android.annotation.SuppressLint;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.app.TimePickerDialog;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.TimePicker;
    import android.widget.Toast;
    
    public class MyDialog {
    
        private EditText course_name;
        private EditText course_address;
        private EditText course_teacher;
        private EditText course_week;
        //    private EditText course_time1,course_time2;
        private EditText course_count;
    
    
        private View view;
        private Context context;
        private LayoutInflater inflater;
        private Builder builder;
        MyAdapter adapter;
        MainActivity main;
        String s1="",s2="",s3="",s4="",s5="",s6="",s7="";
    
        public MyDialog(Context context){
            this.context=context;
            main=(MainActivity) context;
            adapter=new MyAdapter(context);
        }
        /*
         * 点击未编辑的课程列表跳出”添加课程“对话框
         */
        public void add(final int day,final int n){
            //填装对话框的view
            inflater=LayoutInflater.from(context);
            view=inflater.inflate(R.layout.edit_shedule,null);
            findWidgetes();//取部件
            final Button course_time1=(Button)view.findViewById(R.id.time1);
            final Button course_time2=(Button)view.findViewById(R.id.time2);
            //为两个输入时间的按钮绑定监听器
            course_time1.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    TimeSet_Dialog(course_time1);
                }
            });
            course_time2.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    TimeSet_Dialog(course_time2);
                }
            });
    
            builder=new AlertDialog.Builder(context)
                    .setIcon(R.drawable.ic_launcher)
                    .setTitle("编辑课程信息")
                    .setView(view)
                    .setPositiveButton("确认",new OnClickListener(){
    
                        @SuppressLint("WrongConstant")
                        @SuppressWarnings("deprecation")
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {
                            if(!(s1=course_name.getText().toString()).equals("")) s1="课程: "+s1;
                            if(!(s2=course_address.getText().toString()).equals("")) s2="地点: "+s2;
                            if(!(s3=course_teacher.getText().toString()).equals("")) s3="老师: "+s3;
                            if(!(s4=course_week.getText().toString()).equals("")) s4="周数: "+s4;
                            if(!(s6=course_time1.getText().toString()).equals("")) s6="时间: "+s6;
                            if(!(s7=course_time2.getText().toString()).equals("")) ;
    
                            if((s5=course_count.getText().toString()).equals("")||s1.equals("")) {
                                Toast.makeText(context, "请正确输入课程及节数!", 3000).show();
                                return;
                            }
                            else {
                                int i=Integer.parseInt(s5.trim());//i为节数
                                for(int m=0;m<i;m++){
                                    MainActivity.db.update(day,n+m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                }
    
                            }
    
                            main.cursor[day].requery();
                            main.list[day].invalidate();
                        }
    
                    })
                    .setNegativeButton("取消", new OnClickListener(){
    
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {
    
    
                        }
    
                    });
            builder.create().show();
    
        }
    
        /*
         * 点击已编辑的课程列表跳出”修改课程信息或删除课程信息“对话框
         */
        public void modify(final int day,final int n){
            //填装对话框的view
            inflater=LayoutInflater.from(context);
            view=inflater.inflate(R.layout.edit_shedule,null);
            findWidgetes();//取部件
            final Button course_time1=(Button)view.findViewById(R.id.time1);
            final Button course_time2=(Button)view.findViewById(R.id.time2);
            //为两个输入时间的按钮绑定监听器
            course_time1.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    TimeSet_Dialog(course_time1);
                }
            });
            course_time2.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    TimeSet_Dialog(course_time2);
                }
            });
    
            //从数据库取出旧数据
            main.cursor[day].moveToPosition(n);
            String [] temp=new String[8];
            for(int i=0;i<8;i++) {temp[i]=main.cursor[day].getString(i+1);}
            //将旧数据显示在编辑对话框
            if(!temp[0].equals("")) course_name.setText(temp[0].substring(temp[0].indexOf(":")+2));
            if(!temp[1].equals("")) course_address.setText(temp[1].substring(temp[1].indexOf(":")+2));
            if(!temp[2].equals("")) course_teacher.setText(temp[2].substring(temp[2].indexOf(":")+2));
            if(!temp[3].equals("")) course_week.setText(temp[3].substring(temp[3].indexOf(":")+2));
            if(!temp[4].equals("")) course_time1.setText(temp[4].substring(temp[4].indexOf(":")+2));
            course_time2.setText(temp[5]);
            course_count.setText(temp[6]);
            view.invalidate();
    
    
            builder=new AlertDialog.Builder(context)
                    .setIcon(R.drawable.ic_launcher)
                    .setTitle("修改课程信息")
                    .setView(view)
                    .setPositiveButton("确认",new OnClickListener(){
    
                        @SuppressLint("WrongConstant")
                        @SuppressWarnings("deprecation")
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {
                            if(!(s1=course_name.getText().toString()).equals("")) s1="课程: "+s1;
                            if(!(s2=course_address.getText().toString()).equals("")) s2="地点: "+s2;
                            if(!(s3=course_teacher.getText().toString()).equals("")) s3="老师: "+s3;
                            if(!(s4=course_week.getText().toString()).equals("")) s4="周数: "+s4;
                            if(!(s6=course_time1.getText().toString()).equals(""))s6="时间: "+s6;
                            if(!(s7=course_time2.getText().toString()).equals(""));
                            s5=course_count.getText().toString();
                            main.cursor[day].moveToPosition(n);
                            int n1=Integer.parseInt(main.cursor[day].getString(7).trim());//课程的总节数
                            int n2=Integer.parseInt(main.cursor[day].getString(8).trim());//选中的为该课程的第几节
                            Log.i("kkk",main.cursor[day].getString(7));
                            //如果没有再次输入节数或节数没有变化,根据选中的为第几节更新前后节的数据即可
                            if(s5.equals("")||n1==Integer.parseInt(s5.trim())) {
                                switch(n2){
                                    case 0:
                                        for(int m=0;m<n1;m++){
                                            MainActivity.db.update(day,n+m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                        }
                                        break;
    
                                    case 1:
                                        MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"0");
                                        for(int m=1;m<n1;m++){
                                            MainActivity.db.update(day,n+m,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                        }
                                        break;
                                    case 2:
                                        MainActivity.db.update(day,n-1,s1,s2,s3,s4,s5,s6,s7,"0");
                                        MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"1");
                                        for(int m=2;m<n1;m++){
                                            MainActivity.db.update(day,n+m-1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                        }
                                        break;
                                    case 3:
                                        for(int m=n2;m>=0;m--){
                                            MainActivity.db.update(day,n-m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(n2-m));
                                        }
                                        break;
                                }
    
                            }
                            //若节数有变化,先确定新节数并赋予旧的数据再更新数据
                            else{
                                int n3=Integer.parseInt(s5.trim());
                                //扩充节数
                                if(n3>n1){
    
                                    switch(n2){//更新数据
                                        case 0:
                                            for(int m=0;m<n3;m++){
                                                MainActivity.db.update(day,n+m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
    
                                        case 1:
                                            MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"0");
                                            for(int m=1;m<n3;m++){
                                                MainActivity.db.update(day,n+m,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
                                        case 2:
                                            MainActivity.db.update(day,n-1,s1,s2,s3,s4,s5,s6,s7,"0");
                                            MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"1");
                                            for(int m=2;m<n3;m++){
                                                MainActivity.db.update(day,n+m-1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
                                        case 3:
                                            for(int m=n2;m>=0;m--){
                                                MainActivity.db.update(day,n-m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(n2-m));
                                            }
                                            break;
                                    }
    
                                }
                                //缩减节数:删除旧数据再根据新的节数赋予旧数据最后更新新数据
                                if(n3<n1){
                                    switch(n2){//删除
                                        case 0:
                                            for(int m=0;m<n1;m++){
                                                MainActivity.db.deleteData(day,n+m+1);
                                            }
                                            break;
    
                                        case 1:
                                            MainActivity.db.deleteData(day,n);
                                            for(int m=1;m<n1;m++){
                                                MainActivity.db.deleteData(day,n+m);
                                            }
                                            break;
                                        case 2:
                                            MainActivity.db.deleteData(day,n-1);
                                            MainActivity.db.deleteData(day,n);
                                            for(int m=2;m<n1;m++){
                                                MainActivity.db.deleteData(day,n+m-1);
                                            }
                                            break;
                                        case 3:
                                            for(int m=n2;m>=0;m--){
                                                MainActivity.db.deleteData(day,n-m+1);
                                            }
                                            break;
                                        default:
                                            Toast.makeText(context, "error", 3000).show();
                                            break;
                                    }
    
    
                                    switch(n2){//更新数据
                                        case 0:
                                            for(int m=0;m<n3;m++){
                                                MainActivity.db.update(day,n+m+1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
    
                                        case 1:
                                            MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"0");
                                            for(int m=1;m<n3;m++){
                                                MainActivity.db.update(day,n+m,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
                                        case 2:
                                            MainActivity.db.update(day,n-1,s1,s2,s3,s4,s5,s6,s7,"0");
                                            MainActivity.db.update(day,n,s1,s2,s3,s4,s5,s6,s7,"1");
                                            for(int m=2;m<n3;m++){
                                                MainActivity.db.update(day,n+m-1,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
                                        case 3:
                                            for(int m=0;m<n3;m++){
                                                MainActivity.db.update(day,n+m-2,s1,s2,s3,s4,s5,s6,s7,Integer.toString(m));
                                            }
                                            break;
                                    }
    
                                }
                            }
                            main.cursor[day].requery();
                            main.list[day].invalidate();
    
                        }
    
                    })
                    .setNegativeButton("取消", new OnClickListener(){
    
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {
    
    
                        }
    
                    });
            builder.create().show();
    
        }
    
        private void findWidgetes(){
            course_name=(EditText)view.findViewById(R.id.editText1);
            course_address=(EditText)view.findViewById(R.id.editText2);
            course_teacher=(EditText)view.findViewById(R.id.editText3);
            course_week=(EditText)view.findViewById(R.id.editText4);
    //        course_time1=(EditText)view.findViewById(R.id.time1);
    //        course_time2=(EditText)view.findViewById(R.id.time2);
            course_count=(EditText)view.findViewById(R.id.jieshu);
        }
    
        public void TimeSet_Dialog(final TextView text){
            Calendar c = Calendar.getInstance();
            // 创建一个TimePickerDialog实例,并把它显示出来。
            new TimePickerDialog(main,
                    // 绑定监听器
                    new TimePickerDialog.OnTimeSetListener()
                    {
                        @Override
                        public void onTimeSet(TimePicker tp, int hourOfDay,int minute){
                            //获取完整的时间,在只有一位的数字前面加0
                            StringBuffer s_hour = new StringBuffer();
                            StringBuffer s_minute = new StringBuffer();
                            s_hour.append(hourOfDay);
                            s_minute.append(minute);
                            if(hourOfDay<10){
                                s_hour.insert(0,"0");
                            }
                            if(minute<10){
                                s_minute.insert(0,"0");
                            }
                            //将结果显示在edit中
                            text.setText(s_hour.toString() + ":" + s_minute.toString());
                        }
                    }
                    //设置初始时间
                    , c.get(Calendar.HOUR_OF_DAY)
                    , c.get(Calendar.MINUTE)
                    //true表示采用24小时制
                    , true).show();
        }
    }
  • 相关阅读:
    Spring Boot 2.4版本前后的分组配置变化及对多环境配置结构的影响
    Spring Boot 2.4 对多环境配置的支持更改
    Spring Boot 的2020最后一击:2.4.1、2.3.7、2.2.12 发布
    苹果M1芯片各种不支持,但居然可以刷朋友圈!你会买单吗?
    老板居然让我在Java项目中“造假”
    Spring Cloud正式移除Hystrix、Zuul等Netflix OSS组件
    为了Java微信支付V3开发包,我找出了微信支付文档至少六个错误
    IdentityServer4系列 | 支持数据持久化
    IdentityServer4系列 | 混合模式
    Gitlab Runner的分布式缓存实战
  • 原文地址:https://www.cnblogs.com/sunhongbin/p/12780761.html
Copyright © 2011-2022 走看看