a:6:{i:0;s:8551:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for android developer in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.krfacilities.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krfacilities.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for android developer in gurgaon</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Android Developer</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">•	You will be responsible for leading the development and launch of product features.<br />
•	You will have a significant influence on our overall strategy by helping define these product features, drive the system architecture, and spearhead the best practices that enable a quality product. <br />
•	The ideal candidate is clearly passionate about new opportunities in mobile and has a demonstrable track record of success in delivering new features and products. <br />
•	Creating reliable, scalable, and high-performance products require exceptional technical expertise, a sound understanding of the fundamentals of Computer Science, mobile technologies and practical experience building customer-facing mobile products. <br />
<br />
Required Experience, Skills and Qualifications:<br />
<br />
•	BE/ B.Tech/ MCA with 1-3 years of hands on experience in developing Android rich multimedia apps (audio/video, camera etc.).<br />
•	Working experience in C++ or Core / Android Java programming, Android SDK, Android NDK.<br />
•	Porting and Integration of Android framework on new hardware platforms for Android smart phones<br />
•	Experience in REST, Ionic/ React Native/ Native Script.<br />
•	Experience using modern and legacy JavaScript frameworks such as JQuery, Angular, React or Vue.<br />
•	Must have knowledge to work on Bluetooth, GPS and Camera.<br />
•	Having knowledge on Hybrid app development is preferable.<br />
•	Knowledge in Third Party Android Libraries.<br />
•	Websites Development. <br />
•	App Development.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  4  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Android Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Android</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Android Programming</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">IT Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">IT Company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:krf.hrd@gmail.com"> krf.hrd@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="321195">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="895879"><input type="hidden" name="subject" value="Applied for Android Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(27)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(15)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-public-relation-fid.htm" title="Public Relation Jobs">Public Relation</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'dkNmUy82VHlUaTdqcjI3WGg3cEUzZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:61:"Job openings for android developer in gurgaon | KR Facilities";i:2;s:193:"Android Developer Jobs,Android Developer Jobs in Gurgaon,Android Developer Vacancy in Gurgaon,Android Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Gurgaon";i:3;s:315:"Apply for Android Developer Jobs in Gurgaon India - Android Developer Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 8 years Work Experience, Key Skills are Android Development, Android, Android Programming, IT Software - Application Programming / Maintenance jobs in Gurgaon  India";i:4;s:2199:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Android Developer",
		  "baseSalary": " 3  Lac  To  4  Lac  25 Thousand ",
		  "description": "•	You will be responsible for leading the development and launch of product features.
•	You will have a significant influence on our overall strategy by helping define these product features, drive the system architecture, and spearhead the best practices that enable a quality product. 
•	The ideal candidate is clearly passionate about new opportunities in mobile and has a demonstrable track record of success in delivering new features and products. 
•	Creating reliable, scalable, and high-performance products require exceptional technical expertise, a sound understanding of the fundamentals of Computer Science, mobile technologies and practical experience building customer-facing mobile products. 

Required Experience, Skills and Qualifications:

•	BE/ B.Tech/ MCA with 1-3 years of hands on experience in developing Android rich multimedia apps (audio/video, camera etc.).
•	Working experience in C++ or Core / Android Java programming, Android SDK, Android NDK.
•	Porting and Integration of Android framework on new hardware platforms for Android smart phones
•	Experience in REST, Ionic/ React Native/ Native Script.
•	Experience using modern and legacy JavaScript frameworks such as JQuery, Angular, React or Vue.
•	Must have knowledge to work on Bluetooth, GPS and Camera.
•	Having knowledge on Hybrid app development is preferable.
•	Knowledge in Third Party Android Libraries.
•	Websites Development. 
•	App Development.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "2 - 8 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Android Development, Android, Android Programming"
		  }
		</script>
		";i:5;N;}