Advertisement
Guest User

Untitled

a guest
May 10th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.53 KB | None | 0 0
  1. package com.example.bartosz.eagleeye;
  2.  
  3. import android.Manifest;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.os.AsyncTask;
  7. import android.support.v4.app.ActivityCompat;
  8. import android.support.v4.content.ContextCompat;
  9. import android.support.v7.app.ActionBarActivity;
  10. import android.os.Bundle;
  11. import android.support.v7.app.AppCompatActivity;
  12. import android.view.Menu;
  13. import android.view.MenuItem;
  14. import android.location.Location;
  15. import android.util.Log;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. import com.google.android.gms.common.ConnectionResult;
  20. import com.google.android.gms.common.api.GoogleApiClient;
  21. import com.google.android.gms.location.LocationListener;
  22. import com.google.android.gms.location.LocationRequest;
  23. import com.google.android.gms.location.LocationServices;
  24.  
  25. import java.sql.Connection;
  26. import java.sql.DriverManager;
  27. import java.sql.ResultSet;
  28. import java.sql.SQLException;
  29. import java.sql.Statement;
  30. import java.text.DateFormat;
  31. import java.text.SimpleDateFormat;
  32. import java.util.Date;
  33.  
  34.  
  35. public class GpsActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, com.google.android.gms.location.LocationListener {
  36.  
  37.     public final String LOG_TAG = "GPS_ACTIVITY";
  38.  
  39.     private GoogleApiClient mGoogleApiClient;
  40.     private LocationRequest mLocationRequest;
  41.     private static final int REQUEST_FINE_LOCATION = 0;
  42.     String id;
  43.     String name;
  44.     TextView Latitude;
  45.     TextView Longitude;
  46.     TextView Speed;
  47.     TextView Accurracy;
  48.     TextView Altitude;
  49.     TextView Time;
  50.  
  51.     String LatitudeD;
  52.     String LongitudeD;
  53.     String SpeedD;
  54.     String AccurracyD;
  55.     String AltitudeD;
  56.  
  57.  
  58.     @Override
  59.     protected void onCreate(Bundle savedInstanceState) {
  60.         super.onCreate(savedInstanceState);
  61.         setContentView(R.layout.activity_gps);
  62.         loadPermissions(Manifest.permission.ACCESS_FINE_LOCATION, REQUEST_FINE_LOCATION);
  63.         Intent intent = getIntent();
  64.         mGoogleApiClient = new GoogleApiClient.Builder(this)
  65.                 .addApi(LocationServices.API)
  66.                 .addConnectionCallbacks(this)
  67.                 .addOnConnectionFailedListener(this)
  68.                 .build();
  69.  
  70.  
  71.         System.out.println("-------------GoogleApiClient OK  12 -------------------------------------");
  72.         id = intent.getStringExtra("key");
  73.         name = intent.getStringExtra("name");
  74.  
  75.         TextView head = (TextView) findViewById(R.id.textHeader);
  76.         Latitude = (TextView) findViewById(R.id.textLatitude);
  77.         Longitude = (TextView) findViewById(R.id.textLongitude);
  78.         Speed = (TextView) findViewById(R.id.textSpeed);
  79.         Accurracy = (TextView) findViewById(R.id.textAccuracy);
  80.         Altitude = (TextView) findViewById(R.id.textAltitude);
  81.         Time = (TextView) findViewById(R.id.textTime);
  82.         head.setText(name);
  83.     }
  84.  
  85.     @Override
  86.     protected void onStart() {
  87.         super.onStart();
  88.         mGoogleApiClient.connect();
  89.         System.out.println("-------------START------------------------------------");
  90.     }
  91.  
  92.     @Override
  93.     protected void onStop() {
  94.         mGoogleApiClient.disconnect();
  95.         super.onStop();
  96.         System.out.println("-------------STOP------------------------------------");
  97.     }
  98.  
  99.     @Override
  100.     public void onConnected(Bundle bundle) {
  101.         int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
  102.  
  103.         if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
  104.             mLocationRequest = LocationRequest.create();
  105.             mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
  106.             mLocationRequest.setInterval(2000);
  107.  
  108.             LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
  109.  
  110.             System.out.println("-----------Connected------------------------------------");
  111.         }
  112.  
  113.     }
  114.  
  115.     @Override
  116.     public void onConnectionSuspended(int i) {
  117.         Log.i(LOG_TAG, "Connection  Suspended ://///////////");
  118.     }
  119.  
  120.     @Override
  121.     public void onConnectionFailed(ConnectionResult connectionResult) {
  122.         Log.i(LOG_TAG, "Connection  FAIL :(((((((((((((");
  123.     }
  124.  
  125.     @Override
  126.     public void onLocationChanged(Location location) {
  127.         DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  128.         Date date = new Date(location.getTime());
  129.         String formatted = format.format(date);
  130.  
  131.  
  132.         Log.i(LOG_TAG, "Location  cahnged :) ");
  133.  
  134.         Latitude.setText(location.getLatitude() + "");
  135.         Longitude.setText(location.getLongitude() + "");
  136.         Speed.setText(location.getSpeed() + " m/s");
  137.         Accurracy.setText(location.getAccuracy() + " m");
  138.         Altitude.setText(location.getAltitude() + " MASL ");
  139.         Time.setText(formatted);
  140.  
  141.  
  142.         LatitudeD = location.getLatitude() + "";
  143.         LongitudeD = location.getLongitude() + "";
  144.         SpeedD = location.getSpeed() + "";
  145.         AccurracyD = location.getAccuracy() + "";
  146.         AltitudeD = location.getAltitude() + "";
  147.  
  148.  
  149.         System.out.println("-------------Location chaned !-------------------------------------");
  150.         new ConnectionDB2().execute();
  151.         System.out.println("-------------ConnectionDB2 executed !-------------------------------------");
  152.  
  153.  
  154.     }
  155.  
  156.  
  157.     public class ConnectionDB2 extends AsyncTask<String, Integer, String> {
  158.         String localpswd;
  159.         String resultText;
  160.         int loged = 0;
  161.         String LatitudeB;
  162.         String LongitudeB;
  163.         String SpeedB;
  164.         String AccurracyB;
  165.         String AltitudeB;
  166.  
  167.         @Override
  168.         protected void onPreExecute() {
  169.             LatitudeB = LatitudeD;
  170.             LongitudeB = LongitudeD;
  171.             SpeedB = SpeedD;
  172.             AccurracyB = AccurracyD;
  173.             AltitudeB = AltitudeD;
  174.         }
  175.  
  176.         @Override
  177.         protected String doInBackground(String... f_url) {
  178.             // JDBC driver name and database URL
  179.             String JDBC_DRIVER = "net.sourceforge.jtds.jdbc.Driver";
  180.             String DB_URL = "jdbc:jtds:sqlserver://192.168.1.129:1433;DatabaseName=Mobile";
  181.  
  182.             //  Database credentials
  183.             String USER = "admin1";
  184.             String PASS = "123";
  185.  
  186.  
  187.             Connection conn = null;
  188.             try {
  189.                 //STEP 2: Register JDBC driver
  190.                 Class.forName("net.sourceforge.jtds.jdbc.Driver");
  191.  
  192.                 //STEP 3: Open a connection
  193.                 System.out.println("Connecting to database...---------------------------------------------------------------");
  194.                 conn = DriverManager.getConnection(DB_URL, USER, PASS);
  195.  
  196.                 //STEP 4: Execute a query
  197.                 System.out.println("Creating statement...--------------------------------------------------------------");
  198.                 Statement stmt = conn.createStatement();
  199.                 String sql;
  200.                 sql = "UPDATE Lokalizacja SET  szerokosc='"+LatitudeB+"', dlugosc='"+LongitudeB+"',dokladnosc='"+AccurracyB+"',predkosc='"+SpeedB+"',wysokosc='"+AltitudeB+"' WHERE id_pracownika='"+id+"'";
  201.                 ResultSet rs = stmt.executeQuery(sql);
  202.                 System.out.println("Executed statement...--------------------------------------------------------------");
  203.                 //STEP 5: Extract data from result set
  204.  
  205.                 //STEP 6: Clean-up environment
  206.                 rs.close();
  207.                 stmt.close();
  208.                 conn.close();
  209.             } catch (SQLException se) {
  210.                 //Handle errors for JDBC
  211.                 se.printStackTrace();
  212.                 return "//Handle errors for JDBC";
  213.             } catch (Exception e) {
  214.                 //Handle errors for Class.forName
  215.                 e.printStackTrace();
  216.                 return "//Handle errors for Class.forName";
  217.             } finally {
  218.                 //finally block used to close resources
  219.                 try {
  220.                     if (conn != null)
  221.                         conn.close();
  222.                 } catch (SQLException se) {
  223.                     se.printStackTrace();
  224.                 }//end finally try
  225.             }//end try
  226.             System.out.println("Goodbye!");
  227.             return "err";
  228.         }
  229.  
  230.         @Override
  231.         protected void onProgressUpdate(Integer... progress) {
  232.         }
  233.  
  234.         @Override
  235.         protected void onPostExecute(String result) {
  236.  
  237.  
  238.             //lol
  239.             Toast.makeText(getApplicationContext(), "DB updated", Toast.LENGTH_SHORT).show();
  240.         }
  241.  
  242.  
  243.     }
  244.  
  245.  
  246.     private void loadPermissions(String perm, int requestCode) {
  247.         if (ContextCompat.checkSelfPermission(this, perm) != PackageManager.PERMISSION_GRANTED) {
  248.             if (!ActivityCompat.shouldShowRequestPermissionRationale(this, perm)) {
  249.                 ActivityCompat.requestPermissions(this, new String[]{perm}, requestCode);
  250.             }
  251.         }
  252.     }
  253.  
  254.     @Override
  255.     public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
  256.         switch (requestCode) {
  257.             case REQUEST_FINE_LOCATION: {
  258.                 // If request is cancelled, the result arrays are empty.
  259.                 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  260.                     // granted
  261.                 } else {
  262.                     // no granted
  263.                 }
  264.                 return;
  265.             }
  266.  
  267.         }
  268.  
  269.     }
  270.  
  271. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement