Android - Android Studio |
||
Text File Operation
< AndroidManifext.xml > ---------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.location_01">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
</manifest>
< MainActivity.java > ---------------------------------------------------------------
package com.example.android.location_01; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.os.Bundle; import android.widget.TextView; import android.view.View; import android.location.Location; import android.location.LocationManager; import android.location.LocationListener; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.os.Environment; import android.util.Log;
import java.io.File; import java.io.OutputStreamWriter; import java.io.FileOutputStream; import java.io.IOException;
public class MainActivity extends AppCompatActivity implements LocationListener {
TextView CoordList; String strTmp;
//private final Context context; static final int REQUEST_LOCATION = 1; LocationManager locationManager; Location coord;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CoordList = (TextView)findViewById(R.id.txtCoord); locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
GetPermission();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 1, this);
}
@Override public void onLocationChanged(Location location) { UpdateLocation(); }
@Override public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override public void onProviderEnabled(String provider) {}
@Override public void onProviderDisabled(String provider) {}
public void UpdateLocation() {
GetPermission();
coord = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (coord != null) { double lattitude = coord.getLatitude(); double longitude = coord.getLongitude(); CoordList.setText("Lat = " + String.format("%5.2f",lattitude) + ",Long = " + String.format("%5.2f",longitude)); } else { CoordList.setText("No Location data available"); };
}
public void GetPermission() {
if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION); CoordList.setText("Premission Request"); } else { CoordList.setText("Already Got the Permission. So No Request"); //CoordList.setText(""); };
}
public void SaveLocation() {
final File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM + "/Location/") ;
Log.d("INFO ", path.toString());
if(!path.exists()) { Log.d("INFO ", "Creating a Directory :" + path.toString()); path.mkdirs();
}
final File file = new File(path, "coord.txt");
Log.d("INFO ", file.toString());
try { if( file.exists() == false ) { file.createNewFile(); Log.d("INFO ", file.toString() + " is created "); };
FileOutputStream fOut = new FileOutputStream(file,true); OutputStreamWriter fOutWriter = new OutputStreamWriter(fOut); fOutWriter.append( CoordList.getText() + "\n");
fOutWriter.close();
fOut.flush(); fOut.close(); } catch (IOException e) { Log.e("Exception", "File write failed: " + e.toString()); }
}
public void btnUpdate_Click(View v) {
UpdateLocation(); SaveLocation(); }
}
Permitting File Creation / Access
Running the App
Checking the Contents of the File
|
||