zoukankan      html  css  js  c++  java
  • 个人作业冲刺(三)

    package com.example.temperature;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.Manifest;
    import android.annotation.TargetApi;
    import android.content.pm.PackageManager;
    import android.os.Build;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.baidu.location.BDAbstractLocationListener;
    import com.baidu.location.BDLocation;
    import com.example.temperature.bean.Info;
    import com.example.temperature.db.DBManager;
    import com.example.temperature.service.LocationService;
    
    import java.util.ArrayList;
    import java.util.Calendar;
    
    public class AddInfoActicity extends AppCompatActivity {
        private static final int SDK_PERMISSION_REQUEST = 127;
        private LocationService locationService;
        private Button submit,position;
        private String t;
        private EditText name,time,address,temp,a,b,c;
        private CheckBox one,two,three,four,five;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_add);
            DBManager.initDB(this);
            getPersimmions();
            initView();
            initData();
            three.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View V){
                    boolean x=three.isChecked();
                    if(x){
                        t=cb();
                        a.setVisibility(View.VISIBLE);
                    }
                    else
                        a.setVisibility(View.GONE);
                };
            });
            four.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View V){
                    boolean x=four.isChecked();
                    if(x){
    
                        b.setVisibility(View.VISIBLE);
                    }
                    else
                        b.setVisibility(View.GONE);
                };
            });
            five.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View V){
                    System.out.println(t);
                    boolean x=five.isChecked();
                    if(x){
                        c.setVisibility(View.VISIBLE);
                    }
                    else
                        c.setVisibility(View.GONE);
    
                };
            });
            submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    t=cb();
                    Info info =new Info();
                    info.setName(name.getText().toString());
                    info.setDate(time.getText().toString());
                    info.setAddress(address.getText().toString());
                    info.setTemperature(temp.getText().toString());
                    info.setOther(t);
                    DBManager.insertInfo(info);
                    Toast.makeText(AddInfoActicity.this, "登记成功", Toast.LENGTH_LONG).show();
                }
            });
        }
        private void initData(){
            name.setText("韩佳作");
            temp.setText("36.2");
            time.setText(getTime());
        }
        public void initView(){
            name=(EditText)findViewById(R.id.et1);
            time=(EditText)findViewById(R.id.et2);
            address=(EditText)findViewById(R.id.et4);
            temp=(EditText)findViewById(R.id.et5);
            a=(EditText)findViewById(R.id.a);
            b=(EditText)findViewById(R.id.b);
            c=(EditText)findViewById(R.id.c);
            submit =(Button)findViewById(R.id.submit);
            one=findViewById(R.id.one);
            two=findViewById(R.id.two);
            three=findViewById(R.id.three);
            four=findViewById(R.id.four);
            five=findViewById(R.id.five);
            position=findViewById(R.id.huoqu);
        }
    
        private String getTime(){
            Calendar c = Calendar.getInstance();
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH)+1;
            int day = c.get(Calendar.DAY_OF_MONTH);
            int hour = c.get(Calendar.HOUR);
            int min = c.get(Calendar.MINUTE);
            String newTime=year+"-"+month+"-"+day+hour+":"+min;
            return  newTime;
        }
    
    
        public String cb(){
            boolean c1,c2,c3,c4,c5;
            c1=one.isChecked();
            c2=two.isChecked();
            c3=three.isChecked();
            c4=four.isChecked();
            c5=five.isChecked();
            String str="";
            if(c1){
                str+=one.getText().toString()+"/";
            }
            if(c2){
                str+=two.getText().toString()+"/";
            }
            if(c3){
    
                str+=""+a.getText().toString()+"/";
            }
            if(c4){
    
                str+=""+b.getText().toString()+"/";
            }
            if(c5){
    
                str+=""+c.getText().toString()+"/";
            }
            return str;
        }
    
        private void getPersimmions() {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                ArrayList<String> permissions = new ArrayList<String>();
    
                // * 定位权限为必须权限,用户如果禁止,则每次进入都会申请
                // 定位精确位置
    
                if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                    permissions.add(Manifest.permission.ACCESS_FINE_LOCATION);
                }
                if (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                    permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
                }
    
                //  读写权限和电话状态权限非必要权限(建议授予)只会申请一次,用户同意或者禁止,只会弹一次
                // 读写权限
    
                if (addPermission(permissions, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                    String permissionInfo = "Manifest.permission.WRITE_EXTERNAL_STORAGE Deny 
    ";
                }
                if (permissions.size() > 0) {
                    requestPermissions(permissions.toArray(new String[permissions.size()]), SDK_PERMISSION_REQUEST);
                }
            }
        }
    
        @TargetApi(23)
        private boolean addPermission(ArrayList<String> permissionsList, String permission) {
            // 如果应用没有获得对应权限,则添加到列表中,准备批量申请
            if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
                if (shouldShowRequestPermissionRationale(permission)) {
                    return true;
                } else {
                    permissionsList.add(permission);
                    return false;
                }
            } else {
                return true;
            }
        }
    
        @TargetApi(23)
        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            // TODO Auto-generated method stub
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    
    
        @Override
        protected void onStart() {
            super.onStart();
            // -----------location config ------------
            locationService = ((LocationApplication) getApplication()).locationService;
            //获取locationservice实例,建议应用中只初始化1个location实例,然后使用,可以参考其他示例的activity,都是通过此种方式获取locationservice实例的
            locationService.registerListener(mListener);
            //注册监听
            int type = getIntent().getIntExtra("from", 0);
            if (type == 0) {
                LocationService.setLocationOption(locationService.getDefaultLocationClientOption());
            } else if (type == 1) {
                locationService.start();
            }
            position.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    if (position.getText().toString().equals("定位")) {
                        locationService.start();// 定位SDK
                        // start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request
                        position.setText("停止定位");
                    } else {
                        locationService.stop();
                        position.setText("定位");
                    }
                }
            });
        }
    
    
        @Override
        protected void onStop() {
            locationService.unregisterListener(mListener); //注销掉监听
            locationService.stop(); //停止定位服务
            super.onStop();
        }
        private final BDAbstractLocationListener mListener = new BDAbstractLocationListener() {
            @Override
            public void onReceiveLocation(BDLocation location) {
                if (null != location && location.getLocType() != BDLocation.TypeServerError) {
                    address.setText(location.getAddrStr() );
                    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
                    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
                        System.out.println("网络定位成功");
                    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
                        System.out.println("离线定位成功,离线定位结果也是有效的");
                    } else if (location.getLocType() == BDLocation.TypeServerError) {
                        System.out.println("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
                    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
                        System.out.println("网络不同导致定位失败,请检查网络是否通畅");
                    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
                        System.out.println("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
                    }
                }
            }
        };
    }
  • 相关阅读:
    个人关于浮动的理解
    css课堂笔记(盒子模型,标准文档流,浮动,美化)
    css和html课堂笔记
    html中的行内元素和块级元素
    css简介及常用语法
    html简介及常用功能
    权重比较
    盒模型
    css常见内联和块级元素
    Vigenère密码
  • 原文地址:https://www.cnblogs.com/jz-no-bug/p/14908070.html
Copyright © 2011-2022 走看看