Saturday, November 2, 2013

Google Map

In this tutorial, you will learn to create a Google Map app. The Google Map app will display the Google map and spot the current location of the device on the map by a red-filled circle. In case that the current location can not be retrieved at the time, you will not see the red-filled circle at the correct location. When the user touches any location on the map, the address of that location will be shown. The address to display will include latitude, longitude, street, city, and country. Without internet connection, the app is able to show only the latitude and longitude of the location. To get the full address as mentioned, you need to make sure the internet connection work properly.



To begin the GoogleMap app, you will create a new Android Project in Eclipse. The name of the project will be GMap.

Getting Google Map to work in your app requires many steps as shown below.

1. Download and install Google Play Service API. You can use the Android SDK Manager to install this API. You would get the google-play-service.jar file stored in the directory where you store the Android SDK. In my machine, this is the path of the jar file: D:\androidbundle\sdk\extras\google\google_play_services\libproject\google-play-services_lib\libs. To use the API in the GMap project, you need to add this jar file into the project build path (Project->Properties->Java Build Path->Libraries->Add External Jars...) of the Eclipse.

2. Get the SHA-1 fingerprint for your certificate. For Window 7 or Vista users, you can get the SHA-1 key by issuing the following command from the command prompt window. You will need to change the path of the keystore file. In my case, the keystore file is in the path C:\Users\Acer\.android.

keytool -list -v -alias androiddebugkey -keystore C:\Users\Acer\.android\debug.keystore -alias name: androiddebugkey -storepass android -keypass android

3. You would see the output similar to this:
Creation date: Sep 8, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 5883f7cc
Valid from: Sun Sep 08 14:28:53 ICT 2013 until: Tue Sep 01 14:28:53 ICT 2043
Certificate fingerprints:
MD5: 2A:9E:7C:7B:87:6C:5D:1F:B4:84:C0:84:BB:45:10:69
SHA1: D0:91:62:F8:32:45:B1:89:94:B3:79:B4:FD:DD:64:22:C9:72:B9:E3
SHA256: FF:4C:BF:52:EA:C1:0E:0D:FF:C0:8E:C3:2A:0D:41:ED:07:DA:3A:3D:40:
81:7F:2C:9A:13:17:AD:F5:C6:78:5A
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 2F 69 DC 79 F8 A5 07 1A 10 61 EC BD 1D E0 58 AC /i.y.....a....X.
0010: 94 CB 18 C5 ....
]
]

4. Obtain API key from Google. To get the API key from Google, you can follow the steps below:
- Open Google Console then create a new project by clicking the Create... from the drop-down list.
- Select API Access from the active project you created. In the resulting page, click Create New Android Key....In the resulting page, you are required to enter the SHA-1 key, semi-colon, and the package name of the your project. See the picture below.



- You will get the API key similar to this AIzaSyB6aqPG9XhbPMGVzkoohdlgK2HzRHe85nA.
- Turn on Goole Map Android API v2 service. You will select Services and turn on Goole Map Android API v2.
- Register the API key to your GMap app. You will open the AndroidManifest.xml file of the app and just above </application> paste the following code.

<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyB6aqPG9XhbPMGVzkoohdlgK2HzRHe85nA"/>
- You will need to set some permissons and the use of OpenGL ES version 2 feature in the AndroidManifest file of your app.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

This is the complete AndroidManifest.xml file.

AndroidManifest.xml file

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
 
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

  <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission     android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/gmaptr"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.gmap.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyB6aqPG9XhbPMGVzkoohdlgK2HzRHe85nA"/>
    </application>

</manifest>


Now you are ready to add a map to the GMap app. You will copy and paste (override) the following code to the activity_main.xml file.

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
/>

In the MainActivity class, you will need more code to show the map, apply the settings to map, identify the current location, and display the address of the location when the user touches that location. Here is the content of the MainActivity class.

MainActivity. java file

package com.example.gmap;
import java.util.List;
import java.util.Locale;
import android.content.Context;
import android.graphics.Color;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.UiSettings;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.Circle;
import com.google.android.gms.maps.model.CircleOptions;
import com.google.android.gms.maps.model.LatLng;

public class MainActivity extends FragmentActivity{
  private GoogleMap map;
  private LocationManager locationManager;
  private Location mylocation;
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    determineLocation();
  }

  protected void onStart() {
       super.onStart();
       setupMap();
       appMapSettings();
       spotCurrentLocation(mylocation);
  }

  public void setupMap(){
 if(map==null){
  SupportMapFragment mf=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);  
   map=mf.getMap();
     
 }

  }
 

  public void appMapSettings(){
 if(map!=null){
 //enable map click
 map.setOnMapClickListener(new MapClick());
 //specify the type of map
 map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
 //enable my location on the map
 map.setMyLocationEnabled(true);
 //enable button for my location
 UiSettings uis=map.getUiSettings();
 uis.setMyLocationButtonEnabled(true);



 }
  }

  public void spotCurrentLocation(Location location){
     double lat,lng;
   
// Instantiates a new CircleOptions object and defines the center and radius
 CircleOptions circleOptions = new CircleOptions();
 circleOptions.strokeColor(Color.RED);
 circleOptions.fillColor(Color.RED);
 if(location==null) {//default center
 lat=12.7333;
   lng=105.6666;
 }

 else{
 lat=location.getLatitude();
 lng=location.getLongitude();
 }
 //center based on the current location
     circleOptions.center(new LatLng(lat,lng));
 circleOptions.radius(1000); // In meters
 Circle circle = map.addCircle(circleOptions);
 circle.setVisible(true);
 //set target location
 CameraUpdate center=CameraUpdateFactory.newLatLng(new LatLng(lat,lng));
         CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);
         //set zoom level
     map.moveCamera(center);
     map.animateCamera(zoom);
  }
  class MapClick implements OnMapClickListener{

 public void onMapClick(LatLng coor){

 doInBackground(coor);

}

  }

  public void doInBackground(LatLng coordinate){
 final LatLng coor=coordinate;
 Handler handler=new Handler();
 handler.post(new Runnable(){
 public void run(){
 showAddress(coor.latitude,coor.longitude);
 }
 });
  }

  public void showAddress(double lat,double lng){

 Geocoder geocoder =new Geocoder(getBaseContext(), Locale.getDefault());
 List<Address> addresses = null;
 String addressText="";
 int count=0;
 try {    
 addresses = geocoder.getFromLocation(lat, lng, 1);
 while(count<10){
 addresses = geocoder.getFromLocation(lat, lng, 1);
 count++;
 }
 } catch (Exception e1) {Log.e(this.toString(),"Error...");}

 if (addresses != null && addresses.size() > 0) {
// Get the first address
Address address = addresses.get(0);
//get street, city, and country
addressText =address.getMaxAddressLineIndex()>0?address.getAddressLine(0)+", ":"null, ";
addressText+=address.getLocality()+", "+address.getCountryName();

 }

 Toast.makeText(getBaseContext(), "Address:("+lat+","+lng+") "+addressText, Toast.LENGTH_SHORT).show();
  }



  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }

  public void determineLocation() {
String location_context = Context.LOCATION_SERVICE;
//Create locationManager object from the Android system location service
locationManager = (LocationManager)getSystemService(location_context);
//retrieve the available location providers
  List<String> providers = locationManager.getProviders(true);
  for (String provider : providers) {
 
  locationManager.requestLocationUpdates(provider, 1000, 0, new LocationListener() {
  public void onLocationChanged(Location location) {
  //spot the current update location
  spotCurrentLocation(location);
  }
  public void onProviderDisabled(String provider){}
  public void onProviderEnabled(String provider){}
  public void onStatusChanged(String provider, int status, Bundle extras){}
  });
  //get the current device' location from the provider
  mylocation= locationManager.getLastKnownLocation(provider);
 
  }
 
  }

}

In the onCreate method, the determineLocation method is called to detect the current location of the device. The getSystemService method returns the LocationManager object. This object will be used to get the information about location providers. Each provider represents a different technology used to determine the current locaiton. A location on the device changes when the device moves. So to get the current updated location from Android, you will need to invoke the requestLocationUpdates method of the LocationManager class. The getLastKnownLocation method will be used to get the current locaiton of the device.

In the onStart method, the setupMap, appMapSettings, and spotCurrentLocation methods are invoked. The setupMap method will show the map. The appMapSettings method specifies settings for the map. You will read he comments in code to get the idea about each setting. The spotCurrentLocation will spot the current location by a red-filled circle. The circle will cover 1000 meters around the current location.

The showAddress method will be called each time the user touched the map. The getFromLocation method of the Geocoder class is used to get the address of the current location. This method return a string that contain street, city, and country of the current location.

Download the apk file of the GMap app.

compass app flashLight app

124 comments:


  1. Vương Lâm cầm lấy quần áo, hỏi:

    - Ta nghỉ ngơi ở đâu?

    Thanh niên mắt cũng không mở, không chút để ý nói

    : - Đi hướng Bắc, tự nhiên sẽ nhìn đến một loạt phòng ốc, đem thẻ bài đưa cho đệ tử nơi đó, liền an bài phòng cho ngươi.

    Vương Lâm ghi tạc trong lòng, xoay người hướng bắc đi đến, đợi hắn đi rồi, thanh niên mở to mắt, miệt thị lẩm bẩm:
    học kế toán thực hành
    forum rao vặt cattleya
    học kế toán tổng hợp
    chung cư eco-green-city
    học kế toán thực hành
    học kế toán tại bắc ninh
    dịch vụ kế toán trọn gói
    chung cư hà nội
    dịch vụ làm báo cáo tài chính
    kế toán cho quản lý
    khoá học kế toán thuế
    keny idol
    trung tâm kế toán tại long biên
    trung tâm kế toán tại hải phòng

    - Lại có thể dựa vào tự sát mới gia nhập vào đây, thật sự là một phế vật.

    Đi ở bên trong Hằng Nhạc Phái, Vương Lâm dọc theo đường đi nhìn thấy phần lớn đệ tử đều là mặc áo xám, một đám bộ dạng hấp tấp, sắc mặt lãnh đạm, có một số trong tay còn cầm công cụ lao động, vẻ mặt lộ chút mệt mỏi.

    Vẫn hướng bắc đi được hồi lâu, rốt cục nhìn đến một loạt phòng ốc không lớn, ở đây áo xám đệ tử phải so với nơi khác nhiều hơn không ít, nhưng vẫn như cũ vẫn cứ làm việc của bọn họ, rất ít nói chuyện với nhau.

    Sau khi đem thẻ bài giao cho hoàng y đệ tử phụ trách nơi đây, đối phương nói cũng chưa từng nói một câu, không kiên nhẫn chỉ một căn phòng.

    Vương Lâm cũng đã quen với biểu tình lãnh đạm của mọi người ở đây, đi đến phòng ở, đẩy cửa đi vào nhìn thấy, căn phòng không lớn, hai chiếc giường gỗ, một bàn, quét dọn rất sạch sẽ, mức độ mới cũ cùng trong nhà không sai biệt lắm.

    Hắn chọn lấy một giường gỗ thoạt nhìn không người sử dụng, đem hành lý để lên, lúc này mới nằm ở trên giường trong lòng suy nghĩ rất nhiều, tuy rằng cuối cùng vào được Hằng Nhạc Phái này, nhưng cũng không phải như hắn tưởng tượng như vậy có thể tu luyện tiên thuật, lúc trước nghe ý tứ của thanh niên hoàng y kia, công tác của mình là nấu nước.

    ReplyDelete
  2. There are lots of information about hadoop have spread around the web, but this is a unique one according to me. The strategy you have updated here will make me to get to the next level in big data. Thanks for sharing this. Hadoop Training in Chennai | Big Data Training in Chennai

    ReplyDelete
  3. This blog is having a wonderful talk. The technology are discussed and provide a great knowledge to all. This helps to learn more details about technology. All this

    details are important for this technology. Thank you for this blog.
    Hadoop Training in Chennai

    ReplyDelete
  4. Great article. Glad to find your blog. Thanks for sharing.

    digital marketing institute

    ReplyDelete
  5. hi welcome to all.its really informative blog.try to implement more set of ideas through it.
    apachespark training

    ReplyDelete
  6. Glad to have visit in this blog, i enjoyed reading this blogs.

    Keep updating more:)

    Oracle Forms & Report in Chennai

    ReplyDelete
  7. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing.
    Regards,

    Informatica Training | Hadoop Training in Chennai

    ReplyDelete
  8. Very good knowledge and very good information. The simplest method to do this process. This is very useful for many peoples.Nice it. We'll have to share it amazing posting.I like that your moderate useful article.I read all your blog is humbled excellent blogger commenting.
    Digital Marketing Course in Chennai | Best Digital Marketing Training Institute | SEO Training Chennai

    ReplyDelete
  9. Thanks for posting useful information.You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...Really it was an awesome article...very interesting to read..
    please sharing like this information......
    Android training in chennai
    Ios training in chennai




    ReplyDelete
  10. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...

    Mobile App Development Company
    Mobile App Development Company
    Mobile app Development Companies

    ReplyDelete
  11. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us
    Java Training in Chennai

    ReplyDelete
  12. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving..
    Android App Development Company

    ReplyDelete
  13. great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
    Web Design Development Company
    Web design Company in Chennai
    Web development Company in Chennai

    ReplyDelete
  14. I am expecting more interesting topics from you. And this was nice content and definitely it will be useful for many people.
    Fitness SMS
    Salon SMS
    Investor Relation SMS

    ReplyDelete
  15. it is really amazing...thanks for sharing....provide more useful information...
    Mobile app development company

    ReplyDelete
  16. Very good knowledge and very good information.
    Thank you so much for sharing this nice post.

    seo training in surat

    ReplyDelete
  17. These ways are very simple and very much useful, as a beginner level these helped me a lot thanks fore sharing these kinds of useful and knowledgeable information.
    iOS App Development Company

    ReplyDelete
  18. Very good knowledge and very good information. The simplest method to do this process. This is very useful for many peoples.
    Thank you so much for sharing this nice post.

    ReplyDelete
  19. Nice it seems to be good post... It will get readers engagement on the article since readers engagement plays an vital role in every Texting API
    Text message marketing
    Digital Mobile Marketing
    Sms API
    Sms marketing

    ReplyDelete
  20. Quantum Binary Signals

    Professional trading signals sent to your cell phone daily.

    Start following our signals right now & make up to 270% a day.

    ReplyDelete
  21. great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
    web design Company
    web development Company
    web design Company in chennai
    web development Company in chennai
    web design Company in India
    web development Company in India

    ReplyDelete
  22. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..
    snapho

    ReplyDelete
  23. Thanks for your informative article on digital marketing trends. I hardly stick with SEO techniques in boosting my online presence as its cost efficient and deliver long term results.
    Regards:
    SEO Training Institute in Chennai
    SEO Training Chennai

    ReplyDelete
  24. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition. Best Java Training Institute Chennai

    ReplyDelete
  25. I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..Oracle Training in Chennai | QTP Training in Chennai

    ReplyDelete
  26. I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site. Best Java Training Institute Chennai

    ReplyDelete
  27. I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.
    Best Hadoop Training Institute In chennai

    ReplyDelete
  28. Needed to create you an almost no word to thank you once more with respect to the pleasant proposals you've contributed here. xamarin training in Chennai

    ReplyDelete
  29. Yiioverflow presenting one of the best and high performance PHP framework. Fast, secure and extremely professionals are developing applications. We guide to implement mobile app development and SOA hybrid applications.Code in Nodejs, Angular,Ionic,ReactJS and Yiiframework.

    ReplyDelete
  30. This is helpful post and important tips at this post 
    it's a very uncommon topics i helpful us at this post..!
    and also information in this site please come this site i hope you more information collect this this..!
    SEO Company in Surat

    ReplyDelete
  31. I was really excited about your daily updates. If you have new update me.
    java institutes in chennai
    java courses in chennai with placement

    ReplyDelete
  32. I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.

    Amazon Web Services Training in Chennai

    ReplyDelete
  33. I am always searching online for articles that can help. There is obviously a lot to know about this. I think you made some good points.
    Hadoop Admin Training in Chennai
    Big Data Administrator Training in Chennai

    ReplyDelete
  34. Very true and inspiring article. I strongly believe all your points. I also learnt a lot from your post. Cheers and thank you for the clear path.
    cloud computing training institutes in chennai
    Best Institute for Cloud Computing in Chennai

    ReplyDelete
  35. This is the best explanation I have seen so far on the web. I was looking for a simple yet informative about this topic finally your site helped me a lot.

    Digital Marketing Course
    Digital Marketing Course in Chennai

    ReplyDelete
  36. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here.Thanks once more for all the details.
    Best selenium training Institute in chennai

    ReplyDelete
  37. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.
    rpa training in chennai

    ReplyDelete
  38. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.

    Digital Marketing Training in chennai

    ReplyDelete
  39. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.

    RPA Training in Chennai

    ReplyDelete
  40. It’s very awesome blog. It will help to improve my basic to higher level. Thank you for sharing this wonderful site.
    Digital Marketing Course in Chennai | Digital Marketing Course | Digital Marketing Training in Chennai | Digital Marketing Chennai

    ReplyDelete
  41. Really cool post, highly informative and professionally written and I am glad to be a visitor of this perfect blog, thank you for this rare info!

    Zuan education

    ReplyDelete
  42. There is no doubt. Your explanation was great about google map. I would like to share this information to all my pal. Its really worth to read.

    Hadoop Training in Bangalore

    ReplyDelete
  43. This was an nice and amazing and the given contents were very useful and the precision has given here is good.
    Selenium Training Institute in Chennai

    ReplyDelete
  44. Your browser history and bookmarks are very useful to me. It helps my work a lot.
    run 3

    ReplyDelete
  45. I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.Python Training in Chennai

    ReplyDelete
  46. Thank you for your pretty information.
    https://www.besanttechnologies.com/training-courses/data-warehousing-training/datascience-training-institute-in-chennai

    ReplyDelete
  47. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!
    hadoop training in chennai

    ReplyDelete
  48. This is really an awesome one thanks to the author for a wonderful sharing.
    AWS Training Course in chennai

    ReplyDelete
  49. Really your information is very nice and super.you provide a very good information about web developing.Thanks for sharng keep sharing more blogs.
    Software Testing Training In Chennai

    ReplyDelete
  50. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.

    java training in annanagar | java training in chennai

    java training in marathahalli | java training in btm layout

    java training in rajaji nagar | java training in jayanagar


    ReplyDelete
  51. Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done an outstanding job.
    Best AWS Training in Chennai | Amazon Web Services Training in Chennai

    AWS Training in Bangalore | Amazon Web Services Training in Bangalore

    Amazon Web Services Training in Pune | Best AWS Training in Pune

    ReplyDelete
  52. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article.thank you for sharing such a great blog with us. expecting for your.
    xamarin course
    xamarin training course

    ReplyDelete
  53. This comment has been removed by the author.

    ReplyDelete
  54. mytectra placement Portal is a Web based portal brings Potentials Employers and myTectra Candidates on a common platform for placement assistance.

    ReplyDelete
  55. Your articles are always outstanding and this is one of those that have been able to provide intense knowledge. I really appreciate your efforts in putting up everything in one place.

    Digital Marketing Courses in Chennai
    Digital Marketing Training in Chennai
    Online Digital Marketing Courses
    SEO Training in Chennai
    Digital Marketing Course
    Digital Marketing Training
    Digital Marketing Courses
    Digital Marketing Chennai
    Digital Marketing Training Institute in Chennai


    SKARTEC's digital marketing course in Chennai is targeted at those who are desirous of taking advantage of career opportunities in digital marketing. Join the very best Digital Marketing Course in Chennai. Get trained by an expert who will enrich you with the latest digital trends.

    ReplyDelete
  56. Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
    Selenium Training in Bangalore | Selenium Training in Bangalore | Selenium Training in Bangalore | Selenium Training in Bangalore

    ReplyDelete
  57. My rather long internet look up has at the end of the day been compensated with pleasant insight to talk about with my family and friends.
    safety course in chennai

    ReplyDelete
  58. Really very nice blog information for this one and more technical skills are improve,i like that kind of post.
    python training in pune
    python training institute in chennai
    python training in Bangalore

    ReplyDelete
  59. Thanks for the good words! Really appreciated. Great post. I’ve been commenting a lot on a few blogs recently, but I hadn’t thought about my approach until you brought it up. 
    Devops training in sholinganallur
    Devops training in velachery
    Devops training in annanagar
    Devops training in tambaram

    ReplyDelete
  60. Your story is truly inspirational and I have learned a lot from your blog. Much appreciated.
    online Python certification course | python training in OMR | python training course in chennai

    ReplyDelete
  61. This comment has been removed by the author.

    ReplyDelete
  62. your article contains more informations.. it is really nice..dotnet training in chennai

    ReplyDelete
  63. The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea. here by i also want to share this.

    Online DevOps Certification Course - Gangboard
    Best Devops Training institute in Chennai

    ReplyDelete
  64. We are a group of volunteers and starting a new initiative in a community. Your blog provided us valuable information to work on.You have done a marvellous job!
    Java training in Chennai | Java training in Bangalore

    Java interview questions and answers | Core Java interview questions and answers

    ReplyDelete
  65. I have picked cheery a lot of useful clothes outdated of this amazing blog. I’d love to return greater than and over again. Thanks! 
    Java training in Annanagar | Java training in Chennai

    Java training in Chennai | Java training in Electronic city

    ReplyDelete
  66. Hello I am so delighted I found your blog, I really found you by mistake, while I was looking on Yahoo for something else, anyways I am here now and would just like to say thanks for a tremendous post. Please do keep up the great work.

    Data Science Training in Chennai | Data Science course in anna nagar

    Data Science course in chennai | Data science course in Bangalore

    Data Science course in marathahalli | Data Science course in btm layout


    ReplyDelete
  67. This is most informative and also this post most user friendly and super navigation to all posts... Thank you so much for giving this information to me.. 

    best rpa training in chennai | rpa online training |
    rpa training in chennai |
    rpa training in bangalore
    rpa training in pune
    rpa training in marathahalli
    rpa training in btm

    ReplyDelete
  68. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.
    safety course in chennai

    ReplyDelete
  69. This is most informative and also this post most user friendly and super navigation to all posts... Thank you so much for giving this information to me.. 

    best rpa training in chennai | rpa online training |
    rpa training in chennai |
    rpa training in bangalore
    rpa training in pune
    rpa training in marathahalli
    rpa training in btm

    ReplyDelete
  70. Very Informative article you have described everything in a brilliant way. This is really useful arrticle for begginer learner. Appreciated!

    Android Training
    Android Training in Chennai

    ReplyDelete
  71. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.

    Selenium with python Training in Electronic City

    ReplyDelete
  72. It is a great post. Keep sharing such kind of useful information.

    Education
    Technology

    ReplyDelete
  73. This information is impressive. I am inspired with your post writing style & how continuously you describe this topic. Eagerly waiting for your new blog keep doing more.
    Android Training in Bangalore
    Android Institute in Bangalore
    Android Coaching in Bangalore
    Android Coaching Center in Bangalore
    Best Android Course in Bangalore

    ReplyDelete
  74. Greetings. I know this is somewhat off-topic, but I was wondering if you knew where I could get a captcha plugin for my comment form? I’m using the same blog platform like yours, and I’m having difficulty finding one? Thanks a lot.

    AWS Interview Questions And Answers
    AWS Tutorial |Learn Amazon Web Services Tutorials |AWS Tutorial For Beginners
    AWS Online Training | Online AWS Certification Course - Gangboard
    AWS Training in Toronto| Amazon Web Services Training in Toronto, Canada

    ReplyDelete
  75. This is awesome and very useful content. To find the best Android App Development Institute in Chennai click the link.

    ReplyDelete
  76. Very good information about google map. Thanks to spend your great time to publish this kind of wonderful post.
    Web Development company in Madurai

    ReplyDelete
  77. Thank you for benefiting from time to focus on this kind of, I feel firmly about it and also really like comprehending far more with this particular subject matter. In case doable, when you get know-how, is it possible to thoughts modernizing your site together with far more details? It’s extremely useful to me.
    python training in chennai
    python course in chennai
    python training in bangalore

    ReplyDelete
  78. It was so bravely and depth information. I feel so good read to your blog. I would you like thanks for your posting such a wonderful blog!!!
    SEO Training in Tnagar
    SEO Course in Nungambakkam
    SEO Training in Saidapet
    SEO Course in Navalur
    SEO Course in Omr
    SEO Training in Tambaram

    ReplyDelete
  79. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.The people to give them a good shake to get your point and across the command
    Java training in Pune

    Java interview questions and answers

    Java training in Chennai | Java training institute in Chennai | Java course in Chennai

    Java training in Bangalore | Java training institute in Bangalore | Java course in Bangalore

    ReplyDelete