a:6:{i:0;s:8481:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for android developer in delhi ncr</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.neonglobalservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.neonglobalservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for android developer in delhi ncr</p>
					</div>
					</div>
					</section>
									<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="pt10px">
				<div class="xxxlarge fw6 dif">Ios And Android Developer</div>
								
				<br>
				<p class="aj mt7px">Job Description<br />
Responsibilities :<br />
<br />
- Design and build native applications for ios and Android platforms.<br />
<br />
- Design, build and maintain high performance, reusable, and reliable  <br />
Java code.<br />
<br />
- Continuously discover, evaluate, and implement new technologies to  <br />
maximize app efficiency.<br />
<br />
- Unit-test code for robustness, including edge cases, usability, and  <br />
general reliability<br />
<br />
- Work on bug fixing and improving application performance<br />
<br />
Required Hands-on Experience :<br />
<br />
-  Minimum 1 year of relevant experience in Android & iOS application  <br />
development.<br />
<br />
- Strong knowledge of ios and Android SDK, different versions,and how  <br />
to deal with different screen sizes.<br />
<br />
- Deep understanding of SQLite and Room database, Web services and  <br />
location-based services.<br />
<br />
- Experience with caching of data using SQLite.<br />
<br />
- Material Design, Data binding, Google Location Apia, Apple Location  <br />
Apis, Push notifications, Core Java, Data structure.<br />
<br />
- Knowledge of the open-source Android ecosystem and the libraries  <br />
available for common tasks.<br />
<br />
- Strong fundamentals and a good working knowledge of algorithms and  <br />
data structures.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 6 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  5  Lac  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">B.Tech/B.E, M.Tech</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>
											</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">Email ID</td>
						<td class="p5px"><a href="mailto:neonglobalservices07@gmail.com"> neonglobalservices07@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="747415">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="807209"><input type="hidden" name="subject" value="Applied for Ios and 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-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-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</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">(2)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</span><a href="jobs-in-media-entertainment-fid.htm" title="Media / Entertainment Jobs">Media / Entertainment</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</span><a href="jobs-in-insurance-loan-credit-fid.htm" title="Insurance / Loan / Credit Management Jobs">Insurance / Loan / Credit Mana...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</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: 'QjVqaS8zUmRENkI0aytWblRIc1Z6UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:70:"Job openings for android developer in delhi ncr | Neon Global Services";i:2;s:204:"Ios and Android Developer Jobs,Ios and Android Developer Jobs in ,Ios and Android Developer Vacancy in ,Ios and Android Developer jobs in India,IT Software - Application Programming / Maintenance jobs in ";i:3;s:296:"Apply for Ios and Android Developer Jobs in  India - Ios and Android Developer Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 6 years Work Experience, Key Skills are Android Development, android, IT Software - Application Programming / Maintenance jobs in   India";i:4;s:1820:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Ios and Android Developer",
		  "baseSalary": " 2  Lac  To  5  Lac ",
		  "description": "Job Description
Responsibilities :

- Design and build native applications for ios and Android platforms.

- Design, build and maintain high performance, reusable, and reliable  
Java code.

- Continuously discover, evaluate, and implement new technologies to  
maximize app efficiency.

- Unit-test code for robustness, including edge cases, usability, and  
general reliability

- Work on bug fixing and improving application performance

Required Hands-on Experience :

-  Minimum 1 year of relevant experience in Android & iOS application  
development.

- Strong knowledge of ios and Android SDK, different versions,and how  
to deal with different screen sizes.

- Deep understanding of SQLite and Room database, Web services and  
location-based services.

- Experience with caching of data using SQLite.

- Material Design, Data binding, Google Location Apia, Apple Location  
Apis, Push notifications, Core Java, Data structure.

- Knowledge of the open-source Android ecosystem and the libraries  
available for common tasks.

- Strong fundamentals and a good working knowledge of algorithms and  
data structures.",
		  "educationRequirements": "B.Tech/B.E, M.Tech",
		  "experienceRequirements": "2 - 6 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "B.Tech/B.E, M.Tech",
		     "skills": "Android Development, android"
		  }
		</script>
		";i:5;N;}