天天看点

个人冲刺(六)——体温上报app(二阶段)

冲刺任务:完成主页面功能

MainActivity.java

package com.example.helloworld;

import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.SDKInitializer;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private static final int RESQUEST=100;
    private EditText text1;
    private EditText text2;
    private EditText text3;
    private EditText text4;
    private TextView text5;
    String tempstr="";
    private DBOpenHelper mDBOpenHelper;
    private WenDate wendate=new WenDate();
    private TextView mTv = null;
    public LocationClient mLocationClient = null;
    private MyLocationListener myListener = new MyLocationListener();
    //获取地址
    public class MyLocationListener extends BDAbstractLocationListener {
        @Override
        public void onReceiveLocation(BDLocation location){
            //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
            //以下只列举部分获取地址相关的结果信息
            //更多结果信息获取说明,请参照类参考中BDLocation类中的说明
            String addr = location.getAddrStr();    //获取详细地址信息
            String country = location.getCountry();    //获取国家
            String province = location.getProvince();    //获取省份
            String city = location.getCity();    //获取城市
            String district = location.getDistrict();    //获取区县
            String street = location.getStreet();    //获取街道信息
            String town = location.getTown();
            //获取乡镇信息
            text4=(EditText)findViewById(R.id.tv_text4);
            text4.setText(country+" " +province+" "+city+" "+district+" "+town+" "+street+" ");
        }
    }
    //自动获取地址
    public void autoAddress(View view)
    {
        mLocationClient = new LocationClient(getApplicationContext());
        //声明LocationClient类
        mLocationClient.registerLocationListener(myListener);
        LocationClientOption option = new LocationClientOption();
        option.setIsNeedAddress(true);
        option.setNeedNewVersionRgc(true);
        mLocationClient.setLocOption(option);
        //注册监听函数
        mLocationClient.start();
    }

    //
    //onCreate方法
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.v("MainActivity","MainActivity启动");
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        mDBOpenHelper = new DBOpenHelper(this);
        text1=findViewById(R.id.tv_text1);
        text2=findViewById(R.id.tv_text2);
        text3=findViewById(R.id.tv_text3);
        text4=findViewById(R.id.tv_text4);
        text5=findViewById(R.id.tv_text5);
        initView();
        EditText et_tiwen=findViewById(R.id.tv_text3);
        et_tiwen.setText("体温 36.2℃");
        //
        //把名字显示到界面
        showNmae();
    }
    //
    //接收复选框传过来的数据
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (resultCode)
        {
            case RESULT_OK:
                tempstr=data.getExtras().getString("mess");
                Log.v("输出“特殊情况”获取结果 ",data.getExtras().getString("mess"));
                text5.setText(tempstr);
                break;
            default:
                break;
        }
    }

    private void initView() {
        // 初始化控件对象
        Button mBtMainLogout = findViewById(R.id.bt_main_logout);
        // 绑定点击监听器
        mBtMainLogout.setOnClickListener(this);
        text5=findViewById(R.id.tv_text5);
        text5.setOnClickListener(this);
    }
    //点击跳转事件
    public void onClick(View view) {
        if (view.getId() == R.id.bt_main_logout) {
            Intent intent = new Intent(this, loginActivity.class);
            startActivity(intent);
            finish();
        }
        if (view.getId() == R.id.tv_text5) {
            Intent intent = new Intent(this, MoreActivity.class);
            intent.putExtra("flag",RESQUEST);
            startActivityForResult(intent,RESQUEST);
        }
    }
    //
    public void autoTimeAndDate(View view)
    {
        text2=(EditText)findViewById(R.id.tv_text2);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");// HH:mm:ss
        //获取当前时间
        Date date = new Date(System.currentTimeMillis());
        text2.setText(simpleDateFormat.format(date));
    }
    public void createDB(View view)
    {
        MyDBHelper mydbh=new MyDBHelper(this,"amydb.db",1);
        SQLiteDatabase sqldb=mydbh.getReadableDatabase();
    }
    public void insertDB(View view)
    {
        MyDBHelper mydbh=new MyDBHelper(this,"amydb.db",1);
        SQLiteDatabase sqldb=mydbh.getReadableDatabase();
        ContentValues contentvalues=new ContentValues();
        text1=(EditText)findViewById(R.id.tv_text1);
        text2=(EditText)findViewById(R.id.tv_text2);
        text3=(EditText)findViewById(R.id.tv_text3);
        text4=(EditText)findViewById(R.id.tv_text4);
        contentvalues.put("name",text1.getText().toString());
        contentvalues.put("dateandtime",text2.getText().toString());
        contentvalues.put("address",text4.getText().toString());
        contentvalues.put("wendu",text3.getText().toString());
        contentvalues.put("more",text5.getText().toString());
        long flag=sqldb.insert("personwendu",null,contentvalues);
        Toast.makeText(this,flag+"条数据加入成功",Toast.LENGTH_LONG).show();
    }
    //


    //查看数据
    public void queryData(View view)
    {
        MyDBHelper mydbh=new MyDBHelper(this,"amydb.db",1);
        SQLiteDatabase sqldb=mydbh.getReadableDatabase();
        Cursor cursor=sqldb.rawQuery("select * from personwendu",null);
        String str="";
        if(cursor.moveToFirst())
        {
            do{
                String name=cursor.getString(cursor.getColumnIndex("name"));
                String dateandtime=cursor.getString(cursor.getColumnIndex("dateandtime"));
                String address=cursor.getString(cursor.getColumnIndex("address"));
                String wendu=cursor.getString(cursor.getColumnIndex("wendu"));
                String more= cursor.getString(cursor.getColumnIndex("more"));
                str=str+name+"|"+dateandtime+"|"+wendu+"\n"+address+"\n"+"-----"+more;
            }while(cursor.moveToNext());
        }
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setTitle("历史记录").setIcon(R.mipmap.ic_launcher).setMessage(str)
                .setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
        AlertDialog ad=builder.create();
        ad.show();
    }
    public void updateData(View view)
    {
        MyDBHelper mydbh=new MyDBHelper(this,"mydb.db",1);
        SQLiteDatabase sqldb=mydbh.getReadableDatabase();
        ContentValues contentvalues=new ContentValues();
        contentvalues.put("name","hh");
        contentvalues.put("age","18");
        int flag=sqldb.update("person",contentvalues,"name=?",new String[]{"李明"});
        Toast.makeText(this,"已有"+flag+"条数据修改",Toast.LENGTH_LONG).show();
    }
    public void deleteDate(View view)
    {
        MyDBHelper mydbh=new MyDBHelper(this,"mydb.db",1);
        SQLiteDatabase sqldb=mydbh.getReadableDatabase();
        int flag=sqldb.delete("person","id=1",null);
        Toast.makeText(this,"已有"+flag+"条数据删除",Toast.LENGTH_LONG).show();
    }
    //把姓名从数据库里读取出来然后显示到控件上
    public void showNmae(){
        //先定义一个User类找到数据库最后一条数据里的姓名信息
        List list= new ArrayList<User>();
        list=mDBOpenHelper.getAllData();
        if(list.size()!=0){
            TextView et_name=(TextView) findViewById(R.id.tv_text1);
            User user = (User) list.get(list.size()-1);
            String name1 = user.getUsername();
            Log.v("输出查询到的最后一个姓名:",name1);
            et_name.setText(name1);
        }
        else{
            Log.v("输出查询到的最后一个姓名:","查询失败!!!");
        }
    }
}