Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.bartosz.eagleeye;
- import android.Manifest;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.os.AsyncTask;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.ActionBarActivity;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.location.Location;
- import android.util.Log;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.common.ConnectionResult;
- import com.google.android.gms.common.api.GoogleApiClient;
- import com.google.android.gms.location.LocationListener;
- import com.google.android.gms.location.LocationRequest;
- import com.google.android.gms.location.LocationServices;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- public class GpsActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, com.google.android.gms.location.LocationListener {
- public final String LOG_TAG = "GPS_ACTIVITY";
- private GoogleApiClient mGoogleApiClient;
- private LocationRequest mLocationRequest;
- private static final int REQUEST_FINE_LOCATION = 0;
- String id;
- String name;
- TextView Latitude;
- TextView Longitude;
- TextView Speed;
- TextView Accurracy;
- TextView Altitude;
- TextView Time;
- String LatitudeD;
- String LongitudeD;
- String SpeedD;
- String AccurracyD;
- String AltitudeD;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_gps);
- loadPermissions(Manifest.permission.ACCESS_FINE_LOCATION, REQUEST_FINE_LOCATION);
- Intent intent = getIntent();
- mGoogleApiClient = new GoogleApiClient.Builder(this)
- .addApi(LocationServices.API)
- .addConnectionCallbacks(this)
- .addOnConnectionFailedListener(this)
- .build();
- System.out.println("-------------GoogleApiClient OK 12 -------------------------------------");
- id = intent.getStringExtra("key");
- name = intent.getStringExtra("name");
- TextView head = (TextView) findViewById(R.id.textHeader);
- Latitude = (TextView) findViewById(R.id.textLatitude);
- Longitude = (TextView) findViewById(R.id.textLongitude);
- Speed = (TextView) findViewById(R.id.textSpeed);
- Accurracy = (TextView) findViewById(R.id.textAccuracy);
- Altitude = (TextView) findViewById(R.id.textAltitude);
- Time = (TextView) findViewById(R.id.textTime);
- head.setText(name);
- }
- @Override
- protected void onStart() {
- super.onStart();
- mGoogleApiClient.connect();
- System.out.println("-------------START------------------------------------");
- }
- @Override
- protected void onStop() {
- mGoogleApiClient.disconnect();
- super.onStop();
- System.out.println("-------------STOP------------------------------------");
- }
- @Override
- public void onConnected(Bundle bundle) {
- int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
- if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
- mLocationRequest = LocationRequest.create();
- mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
- mLocationRequest.setInterval(2000);
- LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
- System.out.println("-----------Connected------------------------------------");
- }
- }
- @Override
- public void onConnectionSuspended(int i) {
- Log.i(LOG_TAG, "Connection Suspended ://///////////");
- }
- @Override
- public void onConnectionFailed(ConnectionResult connectionResult) {
- Log.i(LOG_TAG, "Connection FAIL :(((((((((((((");
- }
- @Override
- public void onLocationChanged(Location location) {
- DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
- Date date = new Date(location.getTime());
- String formatted = format.format(date);
- Log.i(LOG_TAG, "Location cahnged :) ");
- Latitude.setText(location.getLatitude() + "");
- Longitude.setText(location.getLongitude() + "");
- Speed.setText(location.getSpeed() + " m/s");
- Accurracy.setText(location.getAccuracy() + " m");
- Altitude.setText(location.getAltitude() + " MASL ");
- Time.setText(formatted);
- LatitudeD = location.getLatitude() + "";
- LongitudeD = location.getLongitude() + "";
- SpeedD = location.getSpeed() + "";
- AccurracyD = location.getAccuracy() + "";
- AltitudeD = location.getAltitude() + "";
- System.out.println("-------------Location chaned !-------------------------------------");
- new ConnectionDB2().execute();
- System.out.println("-------------ConnectionDB2 executed !-------------------------------------");
- }
- public class ConnectionDB2 extends AsyncTask<String, Integer, String> {
- String localpswd;
- String resultText;
- int loged = 0;
- String LatitudeB;
- String LongitudeB;
- String SpeedB;
- String AccurracyB;
- String AltitudeB;
- @Override
- protected void onPreExecute() {
- LatitudeB = LatitudeD;
- LongitudeB = LongitudeD;
- SpeedB = SpeedD;
- AccurracyB = AccurracyD;
- AltitudeB = AltitudeD;
- }
- @Override
- protected String doInBackground(String... f_url) {
- // JDBC driver name and database URL
- String JDBC_DRIVER = "net.sourceforge.jtds.jdbc.Driver";
- String DB_URL = "jdbc:jtds:sqlserver://192.168.1.129:1433;DatabaseName=Mobile";
- // Database credentials
- String USER = "admin1";
- String PASS = "123";
- Connection conn = null;
- try {
- //STEP 2: Register JDBC driver
- Class.forName("net.sourceforge.jtds.jdbc.Driver");
- //STEP 3: Open a connection
- System.out.println("Connecting to database...---------------------------------------------------------------");
- conn = DriverManager.getConnection(DB_URL, USER, PASS);
- //STEP 4: Execute a query
- System.out.println("Creating statement...--------------------------------------------------------------");
- Statement stmt = conn.createStatement();
- String sql;
- sql = "UPDATE Lokalizacja SET szerokosc='"+LatitudeB+"', dlugosc='"+LongitudeB+"',dokladnosc='"+AccurracyB+"',predkosc='"+SpeedB+"',wysokosc='"+AltitudeB+"' WHERE id_pracownika='"+id+"'";
- ResultSet rs = stmt.executeQuery(sql);
- System.out.println("Executed statement...--------------------------------------------------------------");
- //STEP 5: Extract data from result set
- //STEP 6: Clean-up environment
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException se) {
- //Handle errors for JDBC
- se.printStackTrace();
- return "//Handle errors for JDBC";
- } catch (Exception e) {
- //Handle errors for Class.forName
- e.printStackTrace();
- return "//Handle errors for Class.forName";
- } finally {
- //finally block used to close resources
- try {
- if (conn != null)
- conn.close();
- } catch (SQLException se) {
- se.printStackTrace();
- }//end finally try
- }//end try
- System.out.println("Goodbye!");
- return "err";
- }
- @Override
- protected void onProgressUpdate(Integer... progress) {
- }
- @Override
- protected void onPostExecute(String result) {
- //lol
- Toast.makeText(getApplicationContext(), "DB updated", Toast.LENGTH_SHORT).show();
- }
- }
- private void loadPermissions(String perm, int requestCode) {
- if (ContextCompat.checkSelfPermission(this, perm) != PackageManager.PERMISSION_GRANTED) {
- if (!ActivityCompat.shouldShowRequestPermissionRationale(this, perm)) {
- ActivityCompat.requestPermissions(this, new String[]{perm}, requestCode);
- }
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- switch (requestCode) {
- case REQUEST_FINE_LOCATION: {
- // If request is cancelled, the result arrays are empty.
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- // granted
- } else {
- // no granted
- }
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement