2.21个人冲刺

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; publicclass AddInfoActicity extends AppCompatActivity { privatestatic 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 protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); DBManager.initDB(this); getPersimmions(); initView(); initData(); three.setOnClickListener(new View.OnClickListener() { @Override publicvoid 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 publicvoid onClick(View V){ boolean x=four.isChecked(); if(x){ b.setVisibility(View.VISIBLE); } else b.setVisibility(View.GONE); }; }); five.setOnClickListener(new View.OnClickListener() { @Override publicvoid 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 publicvoid 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(); } }); } privatevoid initData(){ name.setText("韩佳作"); temp.setText("36.2"); time.setText(getTime()); } publicvoid 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; } privatevoid 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 \n"; } 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)) { returntrue; } else { permissionsList.add(permission); returnfalse; } } else { returntrue; } } @TargetApi(23) @Override publicvoid onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { // TODO Auto-generated method stub super.onRequestPermissionsResult(requestCode, permissions, grantResults); } @Override protectedvoid 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()); } elseif (type == 1) { locationService.start(); } position.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View v) { if (position.getText().toString().equals("定位")) { locationService.start();// 定位SDK // start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request position.setText("停止定位"); } else { locationService.stop(); position.setText("定位"); } } }); } @Override protectedvoid onStop() { locationService.unregisterListener(mListener); //注销掉监听 locationService.stop(); //停止定位服务 super.onStop(); } private final BDAbstractLocationListener mListener = new BDAbstractLocationListener() { @Override publicvoid onReceiveLocation(BDLocation location) { if (null != location && location.getLocType() != BDLocation.TypeServerError) { address.setText(location.getAddrStr() ); if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果 } elseif (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果 System.out.println("网络定位成功"); } elseif (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果 System.out.println("离线定位成功,离线定位结果也是有效的"); } elseif (location.getLocType() == BDLocation.TypeServerError) { System.out.println("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因"); } elseif (location.getLocType() == BDLocation.TypeNetWorkException) { System.out.println("网络不同导致定位失败,请检查网络是否通畅"); } elseif (location.getLocType() == BDLocation.TypeCriteriaException) { System.out.println("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机"); } } } }; 

}

 

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; publicclass AddInfoActicity extends AppCompatActivity { privatestatic 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 protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); DBManager.initDB(this); getPersimmions(); initView(); initData(); three.setOnClickListener(new View.OnClickListener() { @Override publicvoid 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 publicvoid onClick(View V){ boolean x=four.isChecked(); if(x){ b.setVisibility(View.VISIBLE); } else b.setVisibility(View.GONE); }; }); five.setOnClickListener(new View.OnClickListener() { @Override publicvoid 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 publicvoid 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(); } }); } privatevoid initData(){ name.setText("韩佳作"); temp.setText("36.2"); time.setText(getTime()); } publicvoid 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; } privatevoid 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 \n"; } 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)) { returntrue; } else { permissionsList.add(permission); returnfalse; } } else { returntrue; } } @TargetApi(23) @Override publicvoid onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { // TODO Auto-generated method stub super.onRequestPermissionsResult(requestCode, permissions, grantResults); } @Override protectedvoid 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()); } elseif (type == 1) { locationService.start(); } position.setOnClickListener(new View.OnClickListener() { @Override publicvoid onClick(View v) { if (position.getText().toString().equals("定位")) { locationService.start();// 定位SDK // start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request position.setText("停止定位"); } else { locationService.stop(); position.setText("定位"); } } }); } @Override protectedvoid onStop() { locationService.unregisterListener(mListener); //注销掉监听 locationService.stop(); //停止定位服务 super.onStop(); } private final BDAbstractLocationListener mListener = new BDAbstractLocationListener() { @Override publicvoid onReceiveLocation(BDLocation location) { if (null != location && location.getLocType() != BDLocation.TypeServerError) { address.setText(location.getAddrStr() ); if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果 } elseif (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果 System.out.println("网络定位成功"); } elseif (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果 System.out.println("离线定位成功,离线定位结果也是有效的"); } elseif (location.getLocType() == BDLocation.TypeServerError) { System.out.println("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因"); } elseif (location.getLocType() == BDLocation.TypeNetWorkException) { System.out.println("网络不同导致定位失败,请检查网络是否通畅"); } elseif (location.getLocType() == BDLocation.TypeCriteriaException) { System.out.println("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机"); } } } }; }
posted @ 2024-02-21 22:07  catsahsy  阅读(5)  评论(0编辑  收藏  举报