zoukankan      html  css  js  c++  java
  • 软件总结

    今天总算把体温的软件给做出来了,总的来说,在做的过程中遇到了许多的问题,其中对我来说最大的问题不是代码的问题,而是数据库的问题,在写完代码之后我就开始在网上看怎么打开数据库,于是我就尝试着去打开我的sqlite数据库,结果遇到了各种各样的问题,比如:获取data文件夹需要权限,而弄权限则费了我大半天的时间才弄好。最后我才进入了数据库。在进入了数据库后结果发现自己的地址一栏是英文,也就是定位到国外去了,在那之后我用了半天的时间才将手机与电脑相连,经历了获取手机权限与获取data权限的过程。在最后的下午时间段里,我才终于把这个软件搞出来,虽然这个软件并不复杂,可是这也恰好反映出安卓开发的些许问题,以下是我的代码:

    package com.example.myapplication;
    import android.Manifest;
    import android.app.Activity;
    import android.content.ContentValues;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.View;
    import android.widget.TextView;
    import android.widget.Toast;

    import androidx.annotation.NonNull;
    import androidx.core.app.ActivityCompat;

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

    import java.util.Date;
    public class MainActivity extends Activity {
    private shujuku shuju;
    public LocationClient myLocationClient = null;
    public MyLocationListener myLocationListener;
    private static final String TAG = "MainActivity";
    private long exitTime = 0; //退出时间变量值
    private TextView text;
    private TextView add;
    private TextView name;
    private TextView tiwen;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    shuju=new shujuku(MainActivity.this,"tiwenapp.db",null,1);
    havePermission();
    registerMyLocationListener();
    text=( TextView)findViewById(R.id.date);
    add=(TextView)findViewById(R.id.address);
    name=( TextView)findViewById(R.id.name);
    tiwen=(TextView)findViewById(R.id.tiwen);
    text.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v){
    Date date = new Date();
    String time = date.toLocaleString();
    text.setText(time);
    }
    });
    }
    private void havePermission() {
    if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
    != PackageManager.PERMISSION_GRANTED||
    ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_EXTERNAL_STORAGE)
    != PackageManager.PERMISSION_GRANTED){
    ActivityCompat.requestPermissions(MainActivity.this,new String[]{
    Manifest.permission.WRITE_EXTERNAL_STORAGE,
    Manifest.permission.READ_EXTERNAL_STORAGE
    },100);
    }
    }
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    Log.d(TAG, "onRequestPermissionsResult: requestcode"+requestCode
    +" "+permissions.toString()
    +" "+grantResults[0]
    );
    if (grantResults[0]!=0){
    Toast.makeText(this, "要开启权限才能用软件哦,不然无法让您更好的体验", Toast.LENGTH_SHORT).show();
    this.finish();
    }
    }
    public void showLocation(View view) {
    startActivityForResult(new Intent(MainActivity.this, ShowLocationActivity.class),0x78);
    }
    public void tibia(View view) {
    String min=name.getText().toString();
    String ti=tiwen.getText().toString();
    String time=text.getText().toString();
    String address=add.getText().toString();
    insertdata(shuju.getReadableDatabase(),min,ti,time,address);
    Intent intent = new Intent();
    intent.setClass(MainActivity.this,Tijiao.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    }
    private void insertdata(SQLiteDatabase bd,String name,String ti,String time,String address){
    ContentValues v=new ContentValues();
    v.put("name",name);
    v.put("tiwen",ti);
    v.put("date",time);
    v.put("address",address);
    bd.insert("app",null,v);
    }
    @Override
    protected void onDestroy() {
    super.onDestroy();
    if(shuju!=null){
    shuju.close();
    }
    }
    private void getLocation() {
    LocationClientOption option = new LocationClientOption();
    option.setScanSpan(1000);
    option.setOpenGps(true);
    option.setLocationNotify(true);
    option.setLocationMode(LocationClientOption.LocationMode.Device_Sensors);
    option.setIgnoreKillProcess(false);
    option.SetIgnoreCacheException(false);
    option.setEnableSimulateGps(false);
    option.setIsNeedAddress(true);
    option.setIsNeedLocationDescribe(true);
    option.setIsNeedLocationPoiList(true);
    myLocationClient.setLocOption(option);
    myLocationClient.start();
    }
    public class MyLocationListener extends BDAbstractLocationListener {
    public void onReceiveLocation(BDLocation location) {
    MyLocationInfo.address = location.getAddrStr();
    MyLocationInfo.poiList = location.getPoiList();
    }
    }
    private void registerMyLocationListener() {
    myLocationClient = new LocationClient(getApplicationContext());
    myLocationListener = new MyLocationListener();
    myLocationClient.registerLocationListener(myLocationListener);
    getLocation();
    }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode,resultCode,data);
    if(requestCode==0x11 && resultCode==0x11){
    Bundle bundle=data.getExtras();
    String date=bundle.getString("data");
    text.setText(date);
    }
    if(requestCode==0x78 && resultCode==0x78){
    Bundle bundle=data.getExtras();
    String date=bundle.getString("address");
    add.setText(date);
    }
    }
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
    exit();
    return true; //拦截返回键
    }
    return super.onKeyDown(keyCode, event);
    }
    public void exit() {
    if ((System.currentTimeMillis() - exitTime) > 2000) {
    Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
    exitTime = System.currentTimeMillis();
    } else {
    finish();
    System.exit(0);
    }
    }
    }

  • 相关阅读:
    「ruby/MiniMagick」用MiniMagick处理图片
    「thunar」给thunar增加搜索文件功能
    Software--Architecture--SOA Factory
    DataArchitecture--数据结构与算法 (Java)
    Software--Architecture--SOA 面向服务体系结构
    Software--Develop -- WCF Setting
    Industry--OPC UA (OPC Unified Architecture) 统一架构
    Software--IoC 依赖倒置 控制反转
    虚拟表dual。字符串函数UPPER,LOWER。&变量。INITCAP,LENGTH,SUBSTR
    运算符关键字。数据区别大小写。日期范围。判空的两种写法。NOT IN的两种写法。IN范围可含NULL,但NOT IN值范围不能含NULL。
  • 原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/14369006.html
Copyright © 2011-2022 走看看