
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Eclipse, Android and Java training and support</title>

	<meta name="description" content="The vogella GmbH is a German company and provides services ranging from training, consulting and mentoring in the areas of Eclipse, Flutter and Git.">
	<meta name="keywords" content="Training, Tutorials, Exercises, Eclipse, RCP, OSGi, Android, GWT, JUnit, XML, JSF, JPA, Git">
	<meta name="verify-v1" content="sE7LNm8dZTyJgkDU7KR/1Hw5klYayq9ow10fOEcUHY0=">
	<meta name="robots" content="index, follow">
	<meta name="author" content="Lars Vogel">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	
	<link href="https://www.vogella.com/css/navigation.css?v=3.3" rel="stylesheet" type="text/css">
	<link href="https://www.vogella.com/css/header.css?v=3.3" rel="stylesheet" type="text/css">
	<link href="https://www.vogella.com/css/companyfooter.css?v=3.3" rel="stylesheet" type="text/css">
	<link href="https://www.vogella.com/css/responsive-design.css?v=3.3" rel="stylesheet" type="text/css">
	
	

	<link rel="shortcut icon" href="https://www.vogella.com/favicon.ico">
	<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/EclipseAndJava">
	<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="vogella">
	<link rel="copyright" href="//creativecommons.org/licenses/by-nc-sa/3.0/de/">

	<!-- Google Analytics -->
	<script>
		window.dataLayer = window.dataLayer || [];
		function gtag(){dataLayer.push(arguments);}

		gtag('consent', 'default', {
			'ad_storage': 'denied',
			'analytics_storage': 'denied',
			'region': ['BE', 'BG', 'CZ', 'DK', 'DE', 'EE', 'IE', 'GR', 'ES', 'FR', 'HR', 'IT', 'CY', 'LV', 'LT', 'LU', 'HU', 'MT', 'NL', 'AT', 'PL', 'PT', 'RO', 'SI', 'SK', 'FI', 'SE', 'US-CA', 'US-CO'],
			'wait_for_update': 500
		});
		gtag('set', 'ads_data_redaction', true);
	</script>

	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-3967758-1"></script>
	<script>
		window.dataLayer = window.dataLayer || [];
		function gtag(){dataLayer.push(arguments);}

		gtag('js', new Date());
		gtag('config', 'UA-3967758-1', { 
			'anonymize_ip': true,
			'cookie_domain': 'vogella.com',
			'cookie_flags': 'SameSite=None;Secure'
		});
	</script>
	<!-- End of Google Analytics -->

 	<!-- Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
	<script type="text/javascript" async=true>
	(function() {
	var host = window.location.hostname;
	var element = document.createElement('script');
	var firstScript = document.getElementsByTagName('script')[0];
	var url = 'https://cmp.quantcast.com'
    	.concat('/choice/', 'LU3TErYtTq8Gq', '/', host, '/choice.js?tag_version=V2');
	var uspTries = 0;
	var uspTriesLimit = 3;
	element.async = true;
	element.type = 'text/javascript';
	element.src = url;

	firstScript.parentNode.insertBefore(element, firstScript);

	function makeStub() {
		var TCF_LOCATOR_NAME = '__tcfapiLocator';
		var queue = [];
		var win = window;
		var cmpFrame;

	function addFrame() {
		var doc = win.document;
		var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);

		if (!otherCMP) {
			if (doc.body) {
				var iframe = doc.createElement('iframe');

				iframe.style.cssText = 'display:none';
				iframe.name = TCF_LOCATOR_NAME;
				doc.body.appendChild(iframe);
			} else {
				setTimeout(addFrame, 5);
			}
		}
		return !otherCMP;
	}

	function tcfAPIHandler() {
		var gdprApplies;
		var args = arguments;

		if (!args.length) {
			return queue;
		} else if (args[0] === 'setGdprApplies') {
			if (
			args.length > 3 &&
			args[2] === 2 &&
			typeof args[3] === 'boolean'
		) {
		gdprApplies = args[3];
		if (typeof args[2] === 'function') {
			args[2]('set', true);
		}
      }
      } else if (args[0] === 'ping') {
			var retr = {
			gdprApplies: gdprApplies,
			cmpLoaded: false,
			cmpStatus: 'stub'
		};

        if (typeof args[2] === 'function') {
          args[2](retr);
        }
      } else {
        if(args[0] === 'init' && typeof args[3] === 'object') {
          args[3] = Object.assign(args[3], { tag_version: 'V2' });
        }
        queue.push(args);
      }
    }

    function postMessageEventHandler(event) {
      var msgIsString = typeof event.data === 'string';
      var json = {};

      try {
        if (msgIsString) {
          json = JSON.parse(event.data);
        } else {
          json = event.data;
        }
      } catch (ignore) {}

      var payload = json.__tcfapiCall;

      if (payload) {
        window.__tcfapi(
          payload.command,
          payload.version,
          function(retValue, success) {
            var returnMsg = {
              __tcfapiReturn: {
                returnValue: retValue,
                success: success,
                callId: payload.callId
              }
            };
            if (msgIsString) {
              returnMsg = JSON.stringify(returnMsg);
            }
            if (event && event.source && event.source.postMessage) {
              event.source.postMessage(returnMsg, '*');
            }
          },
          payload.parameter
        );
      }
    }

    while (win) {
      try {
        if (win.frames[TCF_LOCATOR_NAME]) {
          cmpFrame = win;
          break;
        }
      } catch (ignore) {}

      if (win === window.top) {
        break;
      }
      win = win.parent;
    }
    if (!cmpFrame) {
      addFrame();
      win.__tcfapi = tcfAPIHandler;
      win.addEventListener('message', postMessageEventHandler, false);
    }
  };

  makeStub();

  var uspStubFunction = function() {
    var arg = arguments;
    if (typeof window.__uspapi !== uspStubFunction) {
      setTimeout(function() {
        if (typeof window.__uspapi !== 'undefined') {
          window.__uspapi.apply(window.__uspapi, arg);
        }
      }, 500);
    }
  };

  var checkIfUspIsReady = function() {
    uspTries++;
    if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
      console.warn('USP is not accessible');
    } else {
      clearInterval(uspInterval);
    }
  };

  if (typeof window.__uspapi === 'undefined') {
    window.__uspapi = uspStubFunction;
    var uspInterval = setInterval(checkIfUspIsReady, 6000);
  }

// Google Analytics integration within Quantcast
	 window.__tcfapi('addEventListener', 2, function(tcData, success) {
       if (success && tcData.gdprApplies && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete') ) {
         if (tcData.vendor.consents[755] && tcData.purpose.consents[1]) {
  		   gtag('consent', 'update', {
			 'ad_storage': 'granted',
			 'analytics_storage': 'granted'
		   });
		 }
	   }
	 })
	 })();
	</script>
	<!-- End Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
	
	<!-- Open/close the sidenav -->
	<script>
		function openCloseNav() {
			if (document.getElementById("mobileTopnav").style.width === "150px")
			{
				document.getElementById("mobileTopnav").style.width = "0";
	        	document.body.style.marginLeft = "8px";
	        }
	        else
	        {
				document.getElementById("mobileTopnav").style.width = "150px";
	        	document.body.style.marginLeft = "160px";
	        }
		}
	</script>
	<!-- End of Open/close the sidenav -->
	
</head>

<body>

<div id="mobileHeaderpart">
    <span onclick="openCloseNav()"><img src="https://www.vogella.com/img/icons/burger.svg" alt=""> </span>
    <div id="mobileLogo">
        <a title="vogella.com" href="http://www.vogella.com">
            <img src="https://www.vogella.com/img/logo/index_logo.svg" alt="vogella.com">
        </a>
    </div> 
</div>

<nav id="mobileTopnav" class="sidenav">
    <a  class="currentpage" href="https://www.vogella.com/">Home</a>
	<a  href="https://www.vogella.com/tutorials/">Tutorials</a>
	<a  href="https://www.vogella.com/training/">Training</a>
    <a  href="https://www.vogella.com/consulting/">Consulting</a>
	<a  href="https://www.vogella.com/company/">Company</a>
	<a  style="margin-bottom:60px" href="https://www.vogella.com/contact.html">Contact us</a>
</nav>


<div class="header_container">

<div class="leftcol">
</div>

<div class="headerpart">
	<div id="logo">
		<a title="vogella.com" href="http://www.vogella.com">
			<img src="https://www.vogella.com/img/logo/index_logo.png" loading="lazy" alt="vogella.com">
		</a>
	</div> 

	<nav id="topnav">
		<ul id="home" class="topnav">
			<!--<li id="home-icon"  class="currentpage" ><a href="https://www.vogella.com/"></a></li>-->
			<li  > <a href="https://www.vogella.com/tutorials/">Tutorials</a>
				<ul>
					<li><a href="https://www.vogella.com/tutorials/eclipse.html">Eclipse RCP</a></li>
					<li><a href="https://www.vogella.com/tutorials/eclipseide.html">Eclipse IDE</a></li>
					<li><a href="https://www.vogella.com/tutorials/eclipseplatform.html">Eclipse IDE Extensions</a></li>
					<li><a href="https://www.vogella.com/tutorials/flutter.html">Flutter</a></li>
					<li><a href="https://www.vogella.com/tutorials/android.html">Android Programming</a></li>
					<li><a href="https://www.vogella.com/tutorials/web.html">Web</a></li>
					<li><a href="https://www.vogella.com/tutorials/java.html">Java</a></li>
					<li><a href="https://www.vogella.com/tutorials/technology.html">Technology</a></li>
					<li><a href="https://www.vogella.com/tutorials/algorithms.html">Software design</a></li>
					<li><a href="https://github.com/vogellacompany/">Code @ GitHub</a></li>
				</ul>
			</li>
				
			<li   ><a href="https://www.vogella.com/training/">Training</a>
				<ul>
					<li><a href="https://www.vogella.com/training/eclipse/eclipsercp.html">Eclipse RCP Training</a></li>
					<li><a href="https://www.vogella.com/training/appdevelopment/flutter.html">Flutter Mobile App Dev. Training</a></li>
					<li><a href="https://www.vogella.com/training/git/index.html">Git Version Control Training</a></li>
					<li><a href="https://www.vogella.com/training/testbuild/javatesting.html">Java Testing Training</a></li>
					<li><a href="https://learn.vogella.com/">Self-study Portal</a></li>
					<li><a href="https://www.vogella.com/training/onsite/index.html">Other Onsite Training</a></li>
				</ul>
			</li>
			<li  ><a href="https://www.vogella.com/consulting/">Consulting</a></li>
			
			<li   ><a href="https://www.vogella.com/company/">Company</a>
				<ul>
					<li><a href="https://www.vogella.com/jobs/">Jobs</a></li>
					<li><a href="https://www.vogella.com/people/index.html">People</a></li>
					<li><a href="https://www.vogella.com/customers.html" onclick="_gaq.push(['_trackEvent', 'Customers', 'clicked', 'Header']);">Customers</a></li>
					<li><a href="https://vogella.com/blog/">Blog</a></li>
					<li><a href="https://www.vogella.com/books/">Books</a>
						<ul>
							<li><a href="https://www.vogella.com/books/eclipsercp.html">Eclipse RCP</a></li>
							<li><a href="https://www.vogella.com/books/eclipseide.html">Eclipse IDE</a></li>
							<li><a href="https://www.vogella.com/books/eclipsecontribution.html">Contributing to the Eclipse Project</a></li>
							<li><a href="https://www.vogella.com/books/git.html">Git</a></li>
						</ul>
					</li>
					<li><a href="https://www.vogella.com/research.html">Research Projects</a>
					<li><a href="https://www.paypal.com/donate?hosted_button_id=D2DMTGN3LJGQU">Donate</a></li>
				</ul>
			</li>
				
			<li   ><a href="https://www.vogella.com/contact.html">Contact us</a></li>
		</ul>
	</nav>

</div>

<div class="rightcol">
</div>

</div>


<div class="main_container">
<div class="leftcol">

<!-- Empty -->
</div> <!-- leftcolumn -->

<div class="content-wrapper">
	<div class="section_black">
		<div class="half_side">
			<div class="description_white">
			<a class="important_links" href="https://www.vogella.com/company/"> We</a>
			provide <a class="important_links" href="https://learn.vogella.com/">commercial online training</a>,
			<a class="important_links" href="https://www.vogella.com/training/onsite/index.html">onsite training</a> 
			and 
			<a class="important_links" href="https://www.vogella.com/consulting/">consulting</a>.
			We also publish lots of free 
			<a class="important_links" href="https://www.vogella.com/tutorials/">tutorials</a>. 
			</div> <!-- description_white -->
		</div> <!-- half_side -->
		
		<div class="half_side_center">
			<div class="small_img">
				<a href="https://www.vogella.com/company/">
					<img src="./img/logo/logo_very_rough_left_white.png" loading="lazy" width="408" alt="vogella">
				</a>
			</div> <!--small_img-->
		</div> <!-- half_side -->
	</div> <!-- section_black --> 
	
	<div class="section_gray">
	
		<div class="half_side_center">
			<div class="big_img">
				<a class="header_light_background" href="https://www.vogella.com/training/">
					<img src="./img/main_page/learningportaldevices.png" loading="lazy" width="800" height="180" alt="LearningPortal">
				</a>
			</div>
		</div> <!-- half_side_center -->
		<div class="half_side">
			<a class="header_light_background" href="https://www.vogella.com/training/"> Training and education</a>
			<div class="description_black">
				Learn directly from our experts 
				via our <a class="important_links" href="https://learn.vogella.com/">commercial online training</a> 
				or <a class="important_links" href="https://www.vogella.com/training/onsite/index.html">directly from our employees</a>
				in the areas of <a class="important_links" href="https://learn.vogella.com/courses/details/rich-client-platform">Eclipse RCP</a>, Git, Java and mobile development.
			</div>
		</div> <!-- half_side -->

	</div> <!--section_gray-->
	
	<div class="section_white">
		<div class="half_side_center">
			<a href="https://www.vogella.com/tutorials/">
				<img src="./img/main_page/keywords.png" loading="lazy" width="600" alt="Tutorials">
			</a>
		</div> <!-- half_side -->
	 
		<div class="half_side">
			<a class="header_light_background" href="https://www.vogella.com/tutorials/"> Tutorials</a>
			<div class="description_black">Read our free online tutorials in the areas of Eclipse, RCP, Git, Java, Dart, Flutter and Web development and others.</div>
		</div> <!-- half_side -->
	</div> <!-- section_white -->	
	
	
	<div class="section_gray_center">

	
		<div class="twothird_side_center">
			<a class="header_light_background" href="https://www.vogella.com/customers.html">Customer quotes</a>
				<div id="quote-container">
    				<div id="quote-text" class="quote-text"></div>
    				<div id="quote-meta" class="quote-meta"></div>
    				<div class="buttons">
       					<button id="prev-btn">Back</button>
        				<button id="next-btn">Next</button>
    				</div>
				</div>
		</div>
		<div class="third_side_center">
			<img class="customer-quote-img" src="./img/main_page/customer.png" loading="lazy" width="348" alt="Customers Quotes">
		</div>
	</div>

</div> <!-- content wrapper -->
<div class="rightcol">
<!--	<div id="banner2">
		<div id="banner-triangle2"> </div>
		<div id="banner-text2"> NOW <br> Hiring </div>
	</div>-->
</div> <!-- rightcol -->
</div>

<script type="text/javascript" src="./training/quotes/vogella/content-quotes.js"></script>

<script>
    var currentIndex = 0;
    var displayTime = 8000;  // 8 seconds

    function displayQuote(index) {
        var quote = quotes[index];
        // Display both English and default text
        var quoteTextEn = quote.text_en ? quote.text_en : "";
        var quoteText = quote.text ? quote.text : "";
        document.getElementById('quote-text').innerHTML = "<br>" + quoteTextEn + "<br><br>" + quoteText +"<br><br>";
        document.getElementById('quote-meta').textContent = quote.year + " " + (quote.location ? "from " + quote.location : "");
    }

    function nextQuote() {
        currentIndex = (currentIndex + 1) % quotes.length;
        displayQuote(currentIndex);
    }

    function prevQuote() {
        currentIndex = (currentIndex - 1 + quotes.length) % quotes.length;
        displayQuote(currentIndex);
    }

    // Set up event listeners for buttons
    document.getElementById('next-btn').addEventListener('click', nextQuote);
    document.getElementById('prev-btn').addEventListener('click', prevQuote);

    // Automatically move to the next quote every 8 seconds
    setInterval(nextQuote, displayTime);

    // Initial display
    displayQuote(currentIndex);
</script>
<div id="companyfooter">
	
	<div class="footerrow">
        <h2><a href="https://www.vogella.com/company/">vogella company</a></h2>
        <ul>
            <li><a href="https://www.vogella.com/customers.html" onclick="_gaq.push(['_trackEvent', 'Customers', 'clicked', 'Companyfooter']);">Customers</a></li>
            <li><a href="https://www.vogella.com/faq.html">FAQ</a></li>
            <li><a href="https://www.paypal.com/donate?hosted_button_id=D2DMTGN3LJGQU">Donate for free tutorials</a></li>
            <li><a href="https://www.vogella.com/legal.html" rel="nofollow">Legal</a></li>
            <li><a href="https://www.vogella.com/privacy.html" rel="nofollow">Privacy Policy</a></li>
            <li><a class="change-consent" onclick="window.__tcfapi('displayConsentUi', 2, function() {} );">Change consent</a></li>
        </ul>
    </div><!-- footerrow -->

    <div class="footerrow" id="contact_en">
        <h2><a href="https://www.vogella.com/contact.html?lang=en">Contact us</a></h2>
        
        <a href="https://vogella.com/contact_en.html" class="darker_link" >
        	<img alt="Email" src="https://www.vogella.com/img/icons/contact_form.svg" loading="lazy" title="Email" style="width:20px">
        	Contact form
        </a>
        <br>
        <a href="mailto:sales@vogella.com" class="darker_link" >
        	<img alt="Email" src="https://www.vogella.com/img/icons/email_gray.svg" loading="lazy" title="Email" style="width:20px">
        	sales@vogella.com
        </a>
        <br>
		<a href="tel:+49 40 7880 4360" class="darker_link" >
        <img alt="Call" src="https://www.vogella.com/img/icons/call_gray.svg" loading="lazy" title="Call" style="width:20px"> 
        +49 40 7880 4360
		</a>
        
        <div id="social-icons">
    		<a href="https://www.linkedin.com/company/vogella-gmbh">
        		<img src="https://www.vogella.com/img/common/linkedin_small.png" loading="lazy" alt="Follow us on Linkedin" width="32" height="32">
    		</a>
    		<a href="https://www.xing.com/companies/vogellagmbh">
        		<img src="https://www.vogella.com/img/common/xing_small.png" loading="lazy" alt="Follow us on xing" width="32" height="32">
    		</a>
    		<a href="https://github.com/vogellacompany">
        		<img src="https://www.vogella.com/img/common/github-mark.svg" loading="lazy" alt="vogella Github" width="32" height="32">
    		</a>
    		<a href="https://vogella.com/blog/feed.xml">
        		<img src="https://www.vogella.com/img/icons/rss-svgrepo-com.svg" loading="lazy" alt="RSS Feed" width="32" height="32">
    		</a>
		
		</div> <!-- social-icons -->


 	</div> <!-- footerrow -->
 	
 	<div class="footerrow">
        <h2><a href="https://www.vogella.com/training/">Training</a></h2>

        <div class="footer_event">
            <div class="date_display">
                <a href="https://www.vogella.com/training/onsite/index.html">IT</a>
            </div>
            <a href="https://www.vogella.com/training/onsite/index.html">Inhouse Training</a><br>
        </div> 
         <div class="footer_event">
            <div class="date_display">
                <a href="https://learn.vogella.com">OT</a>
            </div><!-- date_display -->
            <a href="https://learn.vogella.com">Online training</a><br>
        </div>
    </div>  
</div> <!-- companyfooter -->

</body>
</html>