第二阶段团队冲刺8

一、认领任务

经过团队讨论,我认领到的工作是:刘子煜:目前功能的完善和修改,传递用户参数;

二、任务完成时间估算

界面 6h

 

 

相关代码:

package com.example.myapplication5;

import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Locale;
import java.util.Timer;
import java.util.TimerTask;

public class exercise extends Activity {
    private Chronometer timer;
    private Timer timer1;
    private ImageButton imageButton01_2_1;
    private ImageButton imageButton01_2_2;
    private TextView textView;
    private Button button;
    private EditText editText;
    private DatePicker date1;
    private ImageButton imageButton;
    private long recordingTime = 0;
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab01_2);
        Intent intent =getIntent();
        String name = intent.getStringExtra("name");
        Spinner spinner = (Spinner) findViewById(R.id.spinnner);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String result = parent.getItemAtPosition(position).toString();
                if(result.equals("打卡项目")){Toast.makeText(exercise.this,"请选择打卡项目!",Toast.LENGTH_SHORT).show();}
                else{
                    editText.setText(result);
                    Toast.makeText(exercise.this,result,Toast.LENGTH_SHORT).show();}
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        imageButton = findViewById(R.id.imageButton10);
        imageButton.setImageResource(R.drawable.back);
        imageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                exercise.this.finish();
            }
        });
        imageButton = findViewById(R.id.imageButton10);
        imageButton.setImageResource(R.drawable.back);
        imageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                   exercise.this.finish();
            }
        });
        imageButton01_2_1 = findViewById(R.id.imageButton01_2_1);
        imageButton01_2_2 = findViewById(R.id.imageButton01_2_2);
        imageButton01_2_1.setImageResource(R.drawable.stop);
        imageButton01_2_2.setImageResource(R.drawable.next);
        timer = (Chronometer) findViewById(R.id.timer);
        timer1 = new Timer();
        textView = (TextView) findViewById(R.id.textView01_2_2);
        editText = findViewById(R.id.editText01_2_1);
        date1 = (DatePicker) findViewById(R.id.date);
    }

    public void startClick(View view) {
        timer.setBase(SystemClock.elapsedRealtime() - recordingTime);
        int hour = (int) ((SystemClock.elapsedRealtime() - timer.getBase()) / 1000 / 60);
        timer.setFormat("0" + String.valueOf(hour) + ":%s");
        timer.start();

    }

    public void stopClick(View view) {
        timer.stop();
        recordingTime = SystemClock.elapsedRealtime()- timer.getBase();
    }

    public void clearClick(View view) {
        timer.setBase(SystemClock.elapsedRealtime());//计时器清零
    }


    public void DataPost(View view) throws UnsupportedEncodingException {

        String type = editText.getText().toString();
         type= URLEncoder.encode(type,"UTF-8");
        String time = timer.getText().toString();

        String date = date1.getYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDayOfMonth();
        if (TextUtils.isEmpty(type) || TextUtils.isEmpty((time)) || TextUtils.isEmpty((date))) {
            Toast.makeText(getApplicationContext(), "请确认值是否为空", Toast.LENGTH_LONG).show();//Toast

        } else {
            Toast.makeText(getApplicationContext(), "打卡成功", Toast.LENGTH_LONG).show();//Toast
            //获取网络上的servlet路径
            String path = "http://120.79.40.20/testhttp/Date.Servlet";
            //调用postTask,把获取到的用户名,密码与路径放入方法中
            new postTask().execute(type, time, date, path);
        }//Params:开始异步任务执行时传入的参数类型,对应excute()中传递的参数
    }


    class postTask extends AsyncTask {

        @Override
        protected Object doInBackground(Object[] params) {
            //依次获取用户名,密码与路径
            String type = params[0].toString();
            String time = params[1].toString();
            String date = params[2].toString();
            String path = params[3].toString();
            try {
                //获取网络上get方式提交的整个路径
                URL url = new URL(path);
                //打开网络连接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                //设置提交方式
                conn.setRequestMethod("POST");
                //设置网络超时时间
                conn.setConnectTimeout(5000);
                //界面上所有的参数名加上他的值
                String s = "type=" + type + "&time=" + time + "&date=" + date;
                //获取请求头

                conn.setRequestProperty("Content-Length", s.length() + "");//键是固定的
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");//键和值是固定的
                //设置允许对外输出数据
                conn.setDoOutput(true);
                //把界面上的所有数据写出去
                OutputStream os = conn.getOutputStream();
                os.write(s.getBytes("UTF-8"));
                if (conn.getResponseCode() == 200) {
                    //用io流与web后台进行数据交互
                    InputStream is = conn.getInputStream();
                    //字节流转字符流
                    BufferedReader br = new BufferedReader(new InputStreamReader(is));
                    //读出每一行的数据
                    String str = br.readLine();
                    //返回读出的每一行的数据

                    return str;
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }


    }
}

 遇到的问题:

虚拟机的问题

posted @ 2020-05-30 10:28  ziyuliu  阅读(141)  评论(0)    收藏  举报