app开发(五)

今日进度:

内部布局:

AndriodManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!-- 这个权限用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 -->
    <uses-permission android:name="android.permission.INTERNET" /> <!-- 允许挂载和反挂载文件系统可移动存储 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- 允许程序读取底层系统日志文件 -->
    <uses-permission android:name="android.permission.READ_LOGS" /> <!-- 允许访问振动设备 -->
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 允许程序读取或写入系统设置 -->
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!-- android 9.0上使用前台服务,需要添加权限 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 用于读取手机当前的状态 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 读取缓存数据 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:name=".LocationApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="TEMP"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".ExcelActivity"></activity>
        <activity android:name=".HuiZongActivity" />
        <activity android:name=".LoginActivity" />
        <activity android:name=".FunctionActivity" /> <!-- 声明service组件 -->
        <service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:process=":remote" /> <!-- AK鉴权 -->
        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="nQmwoH4ZQcrwoj185wKgFIM7EkrijlGu" /> <!-- http://lbsyun.baidu.com/apiconsole/key -->
        <activity
            android:name=".MainActivity"
            android:label="TEMP">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".LocationApplication" />
    </application>

</manifest>

ExcelActivity.java

package com.example.myapplication;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

public class ExcelActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_excel);
    }
}

FunctionActivity.java

package com.example.myapplication;

import android.Manifest;
import android.annotation.TargetApi;
import android.content.Intent;
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.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.Poi;

import org.litepal.LitePal;

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

public class FunctionActivity extends AppCompatActivity {

    private final int SDK_PERMISSION_REQUEST = 127;
    private String permissionInfo;
    private LocationService locationService;
    private Button startLocation,button_1;
    private TextView address_text;
    private EditText etName,etDate,etTime,etTiwen,teshu_2,teshu_3,teshu_4;
    String Address,name,date,time,tiwen,s;//teshu为特殊情况
    CheckBox check_1,check_2,check_3,check_4,check_5;//多选框
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_function);
        etName = (EditText) findViewById(R.id.name_edit_text);
        etDate = (EditText) findViewById(R.id.date_edit_text);
        etDate.setText(getDate());
        etTime = (EditText) findViewById(R.id.time_edit_text);
        etTime.setText(getTime());
        etTiwen = (EditText) findViewById(R.id.tiwen_edit_text);
        address_text = (TextView) findViewById(R.id.address_text);
        startLocation = (Button) findViewById(R.id.button_2);
        button_1=(Button)findViewById(R.id.button_1);

        getPersimmions();

        check_1 = (CheckBox) findViewById(R.id.check_1);
        check_2 = (CheckBox) findViewById(R.id.check_2);
        check_3 = (CheckBox) findViewById(R.id.check_3);
        check_4 = (CheckBox) findViewById(R.id.check_4);
        check_5 = (CheckBox) findViewById(R.id.check_5);

        teshu_2=(EditText)findViewById(R.id.teshu_2);
        teshu_2=(EditText)findViewById(R.id.teshu_3);
        teshu_2=(EditText)findViewById(R.id.teshu_4);

        check_1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(FunctionActivity.this,buttonView.getText(),Toast.LENGTH_SHORT);
            }
        });
        check_2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(FunctionActivity.this,buttonView.getText(),Toast.LENGTH_SHORT);
            }
        });
        check_3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(FunctionActivity.this,buttonView.getText(),Toast.LENGTH_SHORT);
            }
        });
        check_4.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(FunctionActivity.this,buttonView.getText(),Toast.LENGTH_SHORT);
            }
        });
        check_5.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Toast.makeText(FunctionActivity.this,buttonView.getText(),Toast.LENGTH_SHORT);
            }
        });
        Button button1 = (Button)findViewById(R.id.button_1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LitePal.getDatabase();
                name = etName.getText().toString().trim();
                date = getDate();
                time = getTime();
                tiwen = etTiwen.getText().toString().trim();
                TiWen t = new TiWen();
                t.setName(name);
                t.setDate(date);
                t.setTime(time);
                t.setAddress(Address);
                t.setTiwen(tiwen);
                t.setS(s);//特殊情况
                t.save();

                String str="";

                if(check_1.isChecked()){
                    str=str+check_1.getText();
                }
                if(check_2.isChecked()){
                    str=str+teshu_2.getText();
                }
                if(check_3.isChecked()){
                    str=str+teshu_3.getText();
                }
                if(check_4.isChecked()){
                    str=str+teshu_4.getText();
                }
                if(check_5.isChecked()){
                    str=str+check_5.getText();
                }
                s=str;
                Toast.makeText(FunctionActivity.this, "提交成功", Toast.LENGTH_SHORT);



            }

        });
        button_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=null;
                intent=new Intent( FunctionActivity.this,MainActivity.class);
                startActivity(intent);
            }
        });
    }

    @TargetApi(23)
    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)) {
                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);
    }


    /***
     * Stop location service
     */
    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        locationService.unregisterListener(mListener); //注销掉监听
        locationService.stop(); //停止定位服务
        super.onStop();
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        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();
        }
        startLocation.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (startLocation.getText().toString().equals("获取定位")) {
                    locationService.start();// 定位SDK
                    // start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request
                    startLocation.setText("停止定位");
                } else {
                    locationService.stop();
                    startLocation.setText("获取定位");
                }
            }
        });
    }

    private BDAbstractLocationListener mListener = new BDAbstractLocationListener() {

        /**
         * 定位请求回调函数
         *
         * @param location 定位结果
         */
        @Override
        public void onReceiveLocation(BDLocation location) {

            // TODO Auto-generated method stub
            if (null != location && location.getLocType() != BDLocation.TypeServerError) {

                StringBuffer sb = new StringBuffer(256);

                sb.append(location.getAddrStr());
                sb.append(location.getStreetNumber());
                if (location.getPoiList() != null && !location.getPoiList().isEmpty()) {
                    Poi poi = (Poi) location.getPoiList().get(0);
                    sb.append(poi.getName());
                }
                Address=sb.toString().trim();
                address_text.setText(Address);
                //Address=location.getAddrStr();

                if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
                    Toast.makeText(FunctionActivity.this, "GPS定位成功", Toast.LENGTH_SHORT).show();
                } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
                    // 运营商信息
                    Toast.makeText(FunctionActivity.this, "网络定位成功", Toast.LENGTH_SHORT).show();
                } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
                    Toast.makeText(FunctionActivity.this, "离线定位成功,离线定位结果也是有效的", Toast.LENGTH_SHORT).show();
                } else if (location.getLocType() == BDLocation.TypeServerError) {
                    Toast.makeText(FunctionActivity.this, "服务端网络定位失败", Toast.LENGTH_SHORT).show();
                    //sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
                } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
                    Toast.makeText(FunctionActivity.this, "网络不通导致定位失败,请检查网络是否通畅", Toast.LENGTH_SHORT).show();
                } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
                    Toast.makeText(FunctionActivity.this, "无法获取有效定位依据导致定位失败,可以重启手机", Toast.LENGTH_SHORT).show();
                    //sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
                }
            }
        }
    };

    private String getDate() {
        SimpleDateFormat date_format = new SimpleDateFormat("yyyy年MM月dd日");
        return date_format.format(new Date());
    }

    private String getTime() {
        SimpleDateFormat time_format = new SimpleDateFormat("HH:mm");
        return time_format.format(new Date());
    }
}

HuiZongActivity.java

package com.example.myapplication;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

public class HuiZongActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hui_zong);
    }
}

LocationApplication.java

package com.example.myapplication;


import android.app.Service;
import android.os.Vibrator;

import com.baidu.mapapi.CoordType;
import com.baidu.mapapi.SDKInitializer;

import org.litepal.LitePalApplication;

/**
 * 主Application,所有百度定位SDK的接口说明请参考线上文档:http://developer.baidu.com/map/loc_refer/index.html
 *
 * 百度定位SDK官方网站:http://developer.baidu.com/map/index.php?title=android-locsdk
 *
 * 直接拷贝com.baidu.location.service包到自己的工程下,简单配置即可获取定位结果,也可以根据demo内容自行封装
 */
public class LocationApplication extends LitePalApplication {
    public LocationService locationService;
    public Vibrator mVibrator;
    @Override
    public void onCreate() {
        super.onCreate();
        /***
         * 初始化定位sdk,建议在Application中创建
         */
        locationService = new LocationService(getApplicationContext());
        mVibrator =(Vibrator)getApplicationContext().getSystemService(Service.VIBRATOR_SERVICE);
        SDKInitializer.initialize(getApplicationContext());
        SDKInitializer.setCoordType(CoordType.BD09LL);
    }
}

LocationService.java

package com.example.myapplication;

import android.content.Context;
import android.webkit.WebView;

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

/**
 * 定位服务LocationClient 相关
 *
 * @author baidu
 */
public class LocationService {
    private static LocationClient client = null;
    private static LocationClientOption mOption;
    private static LocationClientOption DIYoption;
    private Object objLock;

    /***
     * 初始化 LocationClient
     *
     * @param locationContext
     */
    public LocationService(Context locationContext) {
        objLock = new Object();
        synchronized (objLock) {
            if (client == null) {
                client = new LocationClient(locationContext);
                client.setLocOption(getDefaultLocationClientOption());
            }
        }
    }

    /***
     * 注册定位监听
     *
     * @param listener
     * @return
     */

    public boolean registerListener(BDAbstractLocationListener listener) {
        boolean isSuccess = false;
        if (listener != null) {
            client.registerLocationListener(listener);
            isSuccess = true;
        }
        return isSuccess;
    }

    public void unregisterListener(BDAbstractLocationListener listener) {
        if (listener != null) {
            client.unRegisterLocationListener(listener);
        }
    }

    /**
     * @return 获取sdk版本
     */
    public String getSDKVersion() {
        if (client != null) {
            String version = client.getVersion();
            return version;
        }
        return null;
    }

    /***
     * 设置定位参数
     *
     * @param option
     * @return isSuccessSetOption
     */
    public static boolean setLocationOption(LocationClientOption option) {
        boolean isSuccess = false;
        if (option != null) {
            if (client.isStarted()) {
                client.stop();
            }
            DIYoption = option;
            client.setLocOption(option);
        }
        return isSuccess;
    }

    /**
     * 开发者应用如果有H5页面使用了百度JS接口,该接口可以辅助百度JS更好的进行定位
     *
     * @param webView 传入webView控件
     */
    public void enableAssistanLocation(WebView webView) {
        if (client != null) {
            client.enableAssistantLocation(webView);
        }
    }

    /**
     * 停止H5辅助定位
     */
    public void disableAssistantLocation() {
        if (client != null) {
            client.disableAssistantLocation();
        }
    }

    /***
     *
     * @return DefaultLocationClientOption  默认O设置
     */
    public LocationClientOption getDefaultLocationClientOption() {
        if (mOption == null) {
            mOption = new LocationClientOption();

            mOption.setAddrType("all");
            mOption.setLocationMode(LocationMode.Hight_Accuracy); // 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
            mOption.setCoorType( "bd09ll" ); // 可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll;
            mOption.setScanSpan(3000); // 可选,默认0,即仅定位一次,设置发起连续定位请求的间隔需要大于等于1000ms才是有效的
            mOption.setIsNeedAddress(true); // 可选,设置是否需要地址信息,默认不需要
            mOption.setIsNeedLocationDescribe(true); // 可选,设置是否需要地址描述
            mOption.setNeedDeviceDirect(true); // 可选,设置是否需要设备方向结果
            mOption.setLocationNotify(true); // 可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
            mOption.setIgnoreKillProcess(true); // 可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop
            mOption.setIsNeedLocationDescribe(true); // 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation
            mOption.setIsNeedLocationPoiList(true); // 可选,默认false,设置是否需要POI结果,可以在BDLocation
            mOption.SetIgnoreCacheException(true); // 可选,默认false,设置是否收集CRASH信息,默认收集
            mOption.setOpenGps(true); // 可选,默认false,设置是否开启Gps定位
            mOption.setIsNeedAltitude(true); // 可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用
        }
        return mOption;
    }


    /**
     * @return DIYOption 自定义Option设置
     */
    public LocationClientOption getOption() {
        if (DIYoption == null) {
            DIYoption = new LocationClientOption();
        }
        return DIYoption;
    }

    public void start() {
        synchronized (objLock) {
            if (client != null && !client.isStarted()) {
                client.start();
            }
        }
    }

    public void requestLocation() {
        if (client != null) {
            client.requestLocation();
        }
    }

    public void stop() {
        synchronized (objLock) {
            if (client != null && client.isStarted()) {
                client.stop();
            }
        }
    }

    public boolean isStart() {
        return client.isStarted();
    }

    public boolean requestHotSpotState() {
        return client.requestHotSpotState();
    }
}

LoginActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import org.litepal.LitePal;

public class LoginActivity extends AppCompatActivity {

    private EditText etName,etStuid,etNum,etStuclass;
    String nam,id,number,cla;
    //声明控件
    private Button mbtnback;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        etName = (EditText) findViewById(R.id.name_edit_text1);
        etStuid = (EditText) findViewById(R.id.stuid_1);
        etNum = (EditText) findViewById(R.id.num_1);
        etStuclass = (EditText) findViewById(R.id.stuclass_1);

        Button btnzhuce= (Button) findViewById(R.id.btn_zhuce);
        btnzhuce.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LitePal.getDatabase();
                nam = etName.getText().toString().trim();
                id = etStuid.getText().toString().trim();
                number = etNum.getText().toString().trim();
                cla = etStuclass.getText().toString().trim();
                Person p = new Person();
                p.setName(nam);
                p.setStuid(id);
                p.setNum(number);
                p.setStulass(cla);
                p.save();

                if (p.save()) {
                    Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
                }

                //跳转页面
                Intent intent=new Intent(LoginActivity.this, FunctionActivity.class);
                intent.putExtra("nam",nam);
            }
        });
        mbtnback=findViewById(R.id.btn_back);

        mbtnback.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=null;
                intent=new Intent( LoginActivity.this,MainActivity.class);
                startActivity(intent);
            }
        });
    }
}

MainActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;


public class MainActivity extends AppCompatActivity {

    //声明控件
    private Button mbtnlogin;
    private Button mbtnzhu;
    private Button mbtnhui;
    private Button mbtnsheng;
    @Override
    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //找到控件
        mbtnlogin = findViewById(R.id.btn_login);
        mbtnzhu=findViewById(R.id.btn_zhu);
        mbtnhui=findViewById(R.id.btn_hui);
        mbtnsheng=findViewById(R.id.btn_sheng);

        mbtnlogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=null;
                intent=new Intent( MainActivity.this,FunctionActivity.class);
                startActivity(intent);
            }
        });
        mbtnzhu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=null;
                intent=new Intent( MainActivity.this,LoginActivity.class);
                startActivity(intent);
            }
        });
        mbtnhui.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=null;
                intent=new Intent( MainActivity.this,HuiZongActivity.class);
                startActivity(intent);
            }
        });
          mbtnsheng.setOnClickListener(new View.OnClickListener() {
            @Override
           public void onClick(View v) {
           Intent intent=null;
           intent=new Intent(MainActivity.this,ExcelActivity.class);
          startActivity(intent);
         }
         });
    }
}

Person.java

package com.example.myapplication;


import org.litepal.crud.LitePalSupport;

public class Person extends LitePalSupport {
    private String name;
    private String stuid;//xuehao
    private String num;//shoujihao
    private String stuclass;//banji

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getStuid() {
        return stuid;
    }
    public void setStuid(String stuid) { this.stuid = stuid; }

    public String getNum() {
        return num;
    }
    public void setNum(String num) {
        this.num = num;
    }

    public String getStulass() { return stuclass; }
    public void setStulass(String stuclass) { this.name = stuclass; }
}

TiWen.java

package com.example.myapplication;


import org.litepal.crud.LitePalSupport;

public class TiWen extends LitePalSupport {
    private String name;
    private String date;
    private String time;
    private String address;
    private String tiwen;
    private String s;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getDate() { return date; }
    public void setDate(String date) {
        this.date = date;
    }

    public String getTime() { return time; }
    public void setTime(String time) {
        this.time = time;
    }

    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

    public String getTiwen() {
        return tiwen;
    }
    public void setTiwen(String tiwen) {
        this.tiwen = tiwen;
    }

    public String getS() {
        return s;
    }
    public void setS(String s) {
        this.s = s;
    }

}

Utils.java

package com.example.myapplication;


public class Utils {
    public final static String CoorType_GCJ02 = "gcj02";
    public final static String CoorType_BD09LL= "bd09ll";
    public final static String CoorType_BD09MC= "bd09";

    /***
     *61 : GPS定位结果,GPS定位成功。
     *62 : 无法获取有效定位依据,定位失败,请检查运营商网络或者wifi网络是否正常开启,尝试重新请求定位。
     *63 : 网络异常,没有成功向服务器发起请求,请确认当前测试手机网络是否通畅,尝试重新请求定位。
     *65 : 定位缓存的结果。
     *66 : 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果。
     *67 : 离线定位失败。通过requestOfflineLocaiton调用时对应的返回结果。
     *68 : 网络连接失败时,查找本地离线定位时对应的返回结果。
     *161: 网络定位结果,网络定位定位成功。
     *162: 请求串密文解析失败。
     *167: 服务端定位失败,请您检查是否禁用获取位置信息权限,尝试重新请求定位。
     *502: key参数错误,请按照说明文档重新申请KEY。
     *505: key不存在或者非法,请按照说明文档重新申请KEY。
     *601: key服务被开发者自己禁用,请按照说明文档重新申请KEY。
     *602: key mcode不匹配,您的ak配置过程中安全码设置有问题,请确保:sha1正确,“;”分号是英文状态;且包名是您当前运行应用的包名,请按照说明文档重新申请KEY。
     *501~700:key验证失败,请按照说明文档重新申请KEY。
     */

    public static float[] EARTH_WEIGHT = {0.1f,0.2f,0.4f,0.6f,0.8f}; // 推算计算权重_地球
    //public static float[] MOON_WEIGHT = {0.0167f,0.033f,0.067f,0.1f,0.133f};
    //public static float[] MARS_WEIGHT = {0.034f,0.068f,0.152f,0.228f,0.304f};
    public final static int RECEIVE_TAG = 1;
    public final static int DIAGNOSTIC_TAG = 2;
}
原文地址:https://www.cnblogs.com/marr/p/14902414.html