Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication;
- import android.app.Dialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.DialogTitle;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.View;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.Button;
- import android.widget.Toast;
- import com.google.android.gms.common.ConnectionResult;
- import com.google.android.gms.common.GoogleApiAvailability;
- import com.google.android.gms.common.api.GoogleApiActivity;
- public class MainActivity extends AppCompatActivity {
- private static final String TAG = "MainActivity";
- private static final int ERROR_DIALOGUE_REQUEST = 9001;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- FloatingActionButton fab = findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- if(isservicesOK()){
- init();
- }
- }
- });
- }
- //one button to navigate to the map
- private void init(){
- Button btnMap = (Button) findViewById(R.id.btnMap);
- btnMap.setOnClickListener(new View.OnClickListener(){
- @Override
- public void onClick(View view){
- //Log.i("App","mine");
- //Toast.makeText(getApplicationContext(),"its working", Toast.LENGTH_SHORT).show();
- Intent i = new Intent(MainActivity.this, MapActivity.class);
- startActivity(i);
- }
- });
- }
- //if the map doesn't work, these are the following commands:
- public boolean isservicesOK(){
- Log.d(TAG, "isservicesOK: checking google services ");
- int available = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(MainActivity.this);
- if(available == ConnectionResult.SUCCESS){
- Log.d(TAG, "isservicesOK: Google play service is working ");
- return true;
- } //everything is fine the user can make map requests
- else if(GoogleApiAvailability.getInstance().isUserResolvableError(available)){
- //error occur but we can resolve it. if they have the wrong OS
- Log.d(TAG, "isservicesOK: error but we can fix it ");
- Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(MainActivity.this, available, ERROR_DIALOGUE_REQUEST);
- dialog.show();
- }else{//you cant do anything now buddy!
- Toast.makeText(this, "you cant make map requests", Toast.LENGTH_SHORT ).show();
- }
- return false;
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- }
- package com.example.myapplication;
- import android.Manifest;
- import android.content.pm.PackageManager;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.widget.Toast;
- import android.support.v4.app.FragmentActivity;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.OnMapReadyCallback;
- import com.google.android.gms.maps.SupportMapFragment;
- public class MapActivity extends AppCompatActivity implements
- OnMapReadyCallback{
- @Override
- public void onMapReady(GoogleMap googleMap){
- Toast.makeText(this, "map is ready" , Toast.LENGTH_SHORT).show();
- Log.d(TAG, "onMapReady: map is ready Beta");
- mMap = googleMap;
- }
- private static final String TAG = "MapActivity";
- private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
- private static final String COURSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION;
- private static final int LOCATION_PERMISSION_REQUEST_CODE = 1234;
- //VARIABLES
- private Boolean mLocationPermissionGranted = false;
- private GoogleMap mMap;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_map);
- //check for location permission
- getLocationPermission();
- }
- private void initMap()
- {
- Log.d(TAG, "initMap: initialsing map");
- SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
- mapFragment.getMapAsync(MapActivity.this);
- }
- private void getLocationPermission(){
- Log.d(TAG, "getLocationPermission: getting location permission");
- String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION,
- Manifest.permission.ACCESS_COARSE_LOCATION};
- if(ContextCompat.checkSelfPermission(this.getApplicationContext(),
- FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
- if(ContextCompat.checkSelfPermission(this.getApplicationContext(),
- COURSE_LOCATION)== PackageManager.PERMISSION_GRANTED){
- mLocationPermissionGranted = true;
- }else{
- ActivityCompat.requestPermissions(this,
- permissions,
- LOCATION_PERMISSION_REQUEST_CODE);
- }
- }
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults){
- Log.d(TAG, "onRequestPermissionsResult: called yaar");
- mLocationPermissionGranted = false;
- switch(requestCode){
- case LOCATION_PERMISSION_REQUEST_CODE: {
- if(grantResults.length > 0){
- for(int j = 0; j < grantResults.length; j++){
- if(grantResults[j] != PackageManager.PERMISSION_GRANTED){
- mLocationPermissionGranted = false;
- Log.d(TAG, "onRequestPermissionsResult: permission failed");
- return;
- }
- }
- Log.d(TAG, "onRequestPermissionsResult: permission granted");
- mLocationPermissionGranted = true;
- //initialize the map
- initMap();
- }
- }
- }
- }
- }
- apply plugin: 'com.android.application'
- android {
- compileSdkVersion 28
- defaultConfig {
- applicationId "com.example.myapplication"
- minSdkVersion 15
- targetSdkVersion 28
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
- }
- dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
- //noinspection GradleCompatible
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
- implementation 'com.android.support:design:28.0.0'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
- //google play services
- api 'com.google.android.gms:play-services-maps:16.1.0'
- implementation 'com.android.support:support-v4:28.0.0'
- }
- 2019-03-21 10:44:51.332 25541-25541/com.example.myapplication
- I/e.myapplicatio: Not late-enabling -Xcheck:jni (already on)
- 2019-03-21 10:44:51.603 25541-25541/com.example.myapplication
- W/e.myapplicatio: Unexpected CPU variant for X86 using defaults: x86
- 2019-03-21 10:44:51.759 25541-25541/com.example.myapplication
- I/e.myapplicatio: The ClassLoaderContext is a special shared library.
- 2019-03-21 10:44:52.252 25541-25541/com.example.myapplication
- W/e.myapplicatio: Accessing hidden method Landroid/view/View;-
- >computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
- (light greylist, reflection)
- 2019-03-21 10:44:52.252 25541-25541/com.example.myapplication
- W/e.myapplicatio: Accessing hidden method Landroid/view/ViewGroup;-
- >makeOptionalFitsSystemWindows()V (light greylist, reflection)
- 2019-03-21 10:44:52.560 25541-25541/com.example.myapplication
- D/OpenGLRenderer: Skia GL Pipeline
- 2019-03-21 10:44:52.652 25541-25566/com.example.myapplication
- I/ConfigStore:
- android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay
- retrieved: 0
- 2019-03-21 10:44:52.652 25541-25566/com.example.myapplication
- I/OpenGLRenderer: Initialized EGL, version 1.4
- 2019-03-21 10:44:52.652 25541-25566/com.example.myapplication
- D/OpenGLRenderer: Swap behavior 1
- 2019-03-21 10:44:52.652 25541-25566/com.example.myapplication
- W/OpenGLRenderer: Failed to choose config with
- EGL_SWAP_BEHAVIOR_PRESERVED,
- retrying without...
- 2019-03-21 10:44:52.652 25541-25566/com.example.myapplication
- D/OpenGLRenderer: Swap behavior 0
- 2019-03-21 10:44:52.670 25541-25566/com.example.myapplication
- D/EGL_emulation: eglCreateContext: 0xea564e80: maj 3 min 0 rcv 3
- 2019-03-21 10:44:52.688 25541-25566/com.example.myapplication
- D/EGL_emulation: eglMakeCurrent: 0xea564e80: ver 3 0 (tinfo 0xea4ce580)
- 2019-03-21 10:44:52.865 25541-25566/com.example.myapplication
- D/EGL_emulation: eglMakeCurrent: 0xea564e80: ver 3 0 (tinfo 0xea4ce580)
- GoogleMap map = ((SupportMapFragment) getFragmentManager()
- .findFragmentById(R.id.map)).getMap();
- <fragment
- android:id="@+id/map"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- class="com.google.android.gms.maps.SupportMapFragment" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement