<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Blog von Benny Neugebauer &#187; Java</title>
	<atom:link href="http://www.bennyn.de/programmierung/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bennyn.de</link>
	<description>Alles über die Informatik &#38; Co.</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:31:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mit Java in eine Textdatei schreiben</title>
		<link>http://www.bennyn.de/programmierung/java/mit-java-in-eine-textdatei-schreiben.html</link>
		<comments>http://www.bennyn.de/programmierung/java/mit-java-in-eine-textdatei-schreiben.html#comments</comments>
		<pubDate>Fri, 13 Jan 2012 21:53:39 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Inhalt]]></category>
		<category><![CDATA[schreiben]]></category>
		<category><![CDATA[Textdatei]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=3128</guid>
		<description><![CDATA[Mit dem folgendem Code kann ein beliebiger Inhalt in eine Textdatei geschrieben werden. Sollte die Datei bereits existieren, wird der Text am Ende der Datei angefügt: import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; &#160; public class SimpleFileWriter &#123; &#160; static final Logger logger = Logger.getLogger&#40;SimpleFileWriter.class.getName&#40;&#41;&#41;; &#160; public static void writeFile&#40;String pathName, String [...]]]></description>
			<content:encoded><![CDATA[<p>Mit dem folgendem Code kann ein beliebiger Inhalt in eine Textdatei geschrieben werden. Sollte die Datei bereits existieren, wird der Text am Ende der Datei angefügt:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.File</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileWriter</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.logging.Level</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.logging.Logger</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SimpleFileWriter
<span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> Logger logger <span style="color: #339933;">=</span> Logger.<span style="color: #006633;">getLogger</span><span style="color: #009900;">&#40;</span>SimpleFileWriter.<span style="color: #000000; font-weight: bold;">class</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> writeFile<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> pathName, <span style="color: #003399;">String</span> content<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">File</span> file <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">File</span><span style="color: #009900;">&#40;</span>pathName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">FileWriter</span> writer <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">FileWriter</span><span style="color: #009900;">&#40;</span>file, <span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      writer.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>content<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      writer.<span style="color: #006633;">flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">try</span>
    <span style="color: #009900;">&#123;</span>
      writeFile<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;C:/Temp/test.txt&quot;</span>, <span style="color: #0000ff;">&quot;Hello World!&quot;</span> <span style="color: #339933;">+</span> <span style="color: #003399;">System</span>.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;line.separator&quot;</span>, <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Data was successfully written.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      logger.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span>Level.<span style="color: #006633;">WARNING</span>, ex.<span style="color: #006633;">getLocalizedMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/java/mit-java-in-eine-textdatei-schreiben.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Print Windows cmd output with Java</title>
		<link>http://www.bennyn.de/programmierung/java/print-windows-cmd-output-with-java.html</link>
		<comments>http://www.bennyn.de/programmierung/java/print-windows-cmd-output-with-java.html#comments</comments>
		<pubDate>Fri, 13 Jan 2012 20:17:11 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[command-line]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=3119</guid>
		<description><![CDATA[For some Java applications it might be important to access the console to print some information from a console command. That&#8217;s why I wrote a little program which reads the output from the Windows command-line interface (cmd) and shows it on the screen. Note: This script also works on a Linux shell! 1 2 3 [...]]]></description>
			<content:encoded><![CDATA[<p>For some Java applications it might be important to access the console to print some information from a console command. That&#8217;s why I wrote a little program which reads the output from the Windows command-line interface (cmd) and shows it on the screen. Note: This script also works on a Linux shell!<br />
<span id="more-3119"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.UnsupportedEncodingException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.logging.Level</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.logging.Logger</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ConsoleOutputPrinter
<span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> Logger logger <span style="color: #339933;">=</span> Logger.<span style="color: #006633;">getLogger</span><span style="color: #009900;">&#40;</span>ConsoleOutputPrinter.<span style="color: #000000; font-weight: bold;">class</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> getOutputFromConsoleCommand<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> command<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">UnsupportedEncodingException</span>, <span style="color: #003399;">IOException</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #003399;">Process</span> console <span style="color: #339933;">=</span> <span style="color: #003399;">Runtime</span>.<span style="color: #006633;">getRuntime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">exec</span><span style="color: #009900;">&#40;</span>command<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003399;">String</span> consoleEncoding <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;os.name&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">contains</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Windows&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      consoleEncoding <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CP850&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #003399;">InputStream</span> is <span style="color: #339933;">=</span> console.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// use .getErrorStream() for error messages!</span>
    <span style="color: #003399;">BufferedReader</span> br <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>is, consoleEncoding<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    StringBuilder sb <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StringBuilder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003399;">String</span> line <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>line <span style="color: #339933;">=</span> br.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;line.separator&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">return</span> sb.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">try</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">String</span> consoleOutput <span style="color: #339933;">=</span> getOutputFromConsoleCommand<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ping localhost&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>consoleOutput<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      logger.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span>Level.<span style="color: #006633;">WARNING</span>, ex.<span style="color: #006633;">getLocalizedMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/java/print-windows-cmd-output-with-java.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting Java Collections, Array of Wrapper Types and Array of Primitives</title>
		<link>http://www.bennyn.de/programmierung/java/converting-java-collections-array-of-wrapper-types-and-array-of-primitives.html</link>
		<comments>http://www.bennyn.de/programmierung/java/converting-java-collections-array-of-wrapper-types-and-array-of-primitives.html#comments</comments>
		<pubDate>Sun, 04 Sep 2011 21:10:03 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[ArrayList]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[iterate]]></category>
		<category><![CDATA[iterating]]></category>
		<category><![CDATA[Type]]></category>
		<category><![CDATA[Wrapper]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=2762</guid>
		<description><![CDATA[With this post I just want to show how to convert a Java collection into an array and how to convert a wrapper class array into an array of the corresponding primitive data type. As a bonus I will show how to iterate over an ArrayList. Code 1 2 3 4 5 6 7 8 [...]]]></description>
			<content:encoded><![CDATA[<p>With this post I just want to show how to convert a Java collection into an array and how to convert a wrapper class array into an array of the corresponding primitive data type. As a bonus I will show how to iterate over an ArrayList.</p>
<h2>Code</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"> <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Java collection (ArrayList) with Floats</span>
    ArrayList<span style="color: #339933;">&lt;</span>Float<span style="color: #339933;">&gt;</span> someFloats <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>Float<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    someFloats.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>3.72f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    someFloats.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>28.07f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    someFloats.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>2011f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Convert ArrayList into an array</span>
    <span style="color: #003399;">Float</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> floatWrapperArray <span style="color: #339933;">=</span> someFloats.<span style="color: #006633;">toArray</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Float</span><span style="color: #009900;">&#91;</span>someFloats.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> floatArray <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#91;</span>floatWrapperArray.<span style="color: #006633;">length</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Transfer array of Wrapper type (Float) into array of primitive data type (float)</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> floatArray.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      floatArray<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> floatWrapperArray<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">floatValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// 1. Float ArrayList</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;1. Float ArrayList&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Iterator</span> iterator <span style="color: #339933;">=</span> someFloats.<span style="color: #006633;">iterator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> iterator.<span style="color: #006633;">hasNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">Float</span> currentFloat <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Float</span><span style="color: #009900;">&#41;</span> iterator.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>currentFloat<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// 2. Float array</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;2. Float array&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> floatWrapperArray.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>floatWrapperArray<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// 3. float array</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;3. float array&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> floatArray.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>floatArray<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h2>Output</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">1</span>. Float ArrayList
<span style="color: #000000;">3.72</span>
<span style="color: #000000;">28.07</span>
<span style="color: #000000;">2011.0</span>
<span style="color: #000000;">2</span>. Float array
<span style="color: #000000;">3.72</span>
<span style="color: #000000;">28.07</span>
<span style="color: #000000;">2011.0</span>
<span style="color: #000000;">3</span>. float array
<span style="color: #000000;">3.72</span>
<span style="color: #000000;">28.07</span>
<span style="color: #000000;">2011.0</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/java/converting-java-collections-array-of-wrapper-types-and-array-of-primitives.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to draw a simple triangle with OpenGL ES in Android?</title>
		<link>http://www.bennyn.de/programmierung/java/how-to-draw-a-simple-triangle-with-opengl-es-in-android.html</link>
		<comments>http://www.bennyn.de/programmierung/java/how-to-draw-a-simple-triangle-with-opengl-es-in-android.html#comments</comments>
		<pubDate>Thu, 01 Sep 2011 07:43:05 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[GLES]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[OpenGL ES]]></category>
		<category><![CDATA[Triangle]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=2743</guid>
		<description><![CDATA[This code shows how to draw a simple triangle with OpenGL ES (OpenGL 1.0) on the screen of an Android mobile device. It is based on the tutorial OpenGL ES Tutorial for Android – Part I – Setting up the view from the Jaway Team Blog. To keep things simple I decided to implement only [...]]]></description>
			<content:encoded><![CDATA[<p>This code shows how to draw a simple triangle with OpenGL ES (OpenGL 1.0) on the screen of an Android mobile device. It is based on the tutorial <a href="http://blog.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/">OpenGL ES Tutorial for Android – Part I – Setting up the view</a> from the Jaway Team Blog. To keep things simple I decided to implement only the necessary parts and to comment things that are not obvious. Please note that the class <code>GL10</code> stands for <code>OpenGL 1.0</code>.<br />
<span id="more-2743"></span></p>
<h2>MainActivity.java</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">de.bennyn.examples.opengl.simple.triangle</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.opengl.GLSurfaceView</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.view.Window</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.view.WindowManager</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MainActivity <span style="color: #000000; font-weight: bold;">extends</span> Activity
<span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #008000; font-style: italic; font-weight: bold;">/** Called when the activity is first created. */</span>
  @Override
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">requestWindowFeature</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Window</span>.<span style="color: #006633;">FEATURE_NO_TITLE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    getWindow<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setFlags</span><span style="color: #009900;">&#40;</span>WindowManager.<span style="color: #006633;">LayoutParams</span>.<span style="color: #006633;">FLAG_FULLSCREEN</span>,WindowManager.<span style="color: #006633;">LayoutParams</span>.<span style="color: #006633;">FLAG_FULLSCREEN</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    GLSurfaceView view <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> GLSurfaceView<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    view.<span style="color: #006633;">setRenderer</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> OpenGLRenderer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    setContentView<span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h2>Triangle.java</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">de.bennyn.examples.opengl.simple.triangle</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.nio.ByteBuffer</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.nio.ByteOrder</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.nio.FloatBuffer</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.nio.ShortBuffer</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.khronos.opengles.GL10</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Triangle
<span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// x, y, z</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">float</span> vertices<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">-</span>1.0f, 0.0f, 0.0f,  <span style="color: #666666; font-style: italic;">// vertices[0], bottom left</span>
    1.0f, 0.0f, 0.0f,   <span style="color: #666666; font-style: italic;">// vertices[1], bottom right</span>
    0.0f, 0.5f, 0.0f,   <span style="color: #666666; font-style: italic;">// vertices[2], middle top </span>
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Just some random values *g*</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">float</span> colors<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>
  <span style="color: #009900;">&#123;</span>
    0.0f, 1.0f, 0.0f, 1.0f,
    0.0f, 1.0f, 0.0f, 1.0f,
    1.0f, 0.5f, 0.0f, 1.0f,
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// connect vertices[0] with vertices[1] and vertices[1] with vertices[2]</span>
  <span style="color: #666666; font-style: italic;">// and vertices[2] with vertices[1] :-) */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">short</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> indices <span style="color: #339933;">=</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">1</span>
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">private</span> FloatBuffer vertexBuffer<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">private</span> FloatBuffer mColorBuffer<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">private</span> ShortBuffer indexBuffer<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> Triangle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Multiply with 4 because a float is 4 bytes</span>
    ByteBuffer vbb <span style="color: #339933;">=</span> ByteBuffer.<span style="color: #006633;">allocateDirect</span><span style="color: #009900;">&#40;</span>vertices.<span style="color: #006633;">length</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    vbb.<span style="color: #006633;">order</span><span style="color: #009900;">&#40;</span>ByteOrder.<span style="color: #006633;">nativeOrder</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    vertexBuffer <span style="color: #339933;">=</span> vbb.<span style="color: #006633;">asFloatBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    vertexBuffer.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>vertices<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    vertexBuffer.<span style="color: #006633;">position</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Multiply with 4 because a float is 4 bytes</span>
    ByteBuffer byteBuf <span style="color: #339933;">=</span> ByteBuffer.<span style="color: #006633;">allocateDirect</span><span style="color: #009900;">&#40;</span>colors.<span style="color: #006633;">length</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    byteBuf.<span style="color: #006633;">order</span><span style="color: #009900;">&#40;</span>ByteOrder.<span style="color: #006633;">nativeOrder</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mColorBuffer <span style="color: #339933;">=</span> byteBuf.<span style="color: #006633;">asFloatBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mColorBuffer.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>colors<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mColorBuffer.<span style="color: #006633;">position</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Multiply with 2 because a short is 2 bytes</span>
    ByteBuffer ibb <span style="color: #339933;">=</span> ByteBuffer.<span style="color: #006633;">allocateDirect</span><span style="color: #009900;">&#40;</span>indices.<span style="color: #006633;">length</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ibb.<span style="color: #006633;">order</span><span style="color: #009900;">&#40;</span>ByteOrder.<span style="color: #006633;">nativeOrder</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    indexBuffer <span style="color: #339933;">=</span> ibb.<span style="color: #006633;">asShortBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    indexBuffer.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>indices<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    indexBuffer.<span style="color: #006633;">position</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span>GL10 gl<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    gl.<span style="color: #006633;">glFrontFace</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_CCW</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Counter-clockwise winding    </span>
    gl.<span style="color: #006633;">glEnable</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_CULL_FACE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Enable face culling    </span>
    gl.<span style="color: #006633;">glCullFace</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_BACK</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// What faces to remove with the face culling</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Enabled the vertices buffer for writing and to be used during rendering:    </span>
    gl.<span style="color: #006633;">glEnableClientState</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_VERTEX_ARRAY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    gl.<span style="color: #006633;">glEnableClientState</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_COLOR_ARRAY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Specifies the location and data format for rendering:</span>
    gl.<span style="color: #006633;">glVertexPointer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span>, GL10.<span style="color: #006633;">GL_FLOAT</span>, <span style="color: #cc66cc;">0</span>, vertexBuffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    gl.<span style="color: #006633;">glColorPointer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span>, GL10.<span style="color: #006633;">GL_FLOAT</span>, <span style="color: #cc66cc;">0</span>, mColorBuffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    gl.<span style="color: #006633;">glDrawElements</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_TRIANGLES</span>, indices.<span style="color: #006633;">length</span>, GL10.<span style="color: #006633;">GL_UNSIGNED_SHORT</span>, indexBuffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    gl.<span style="color: #006633;">glDisableClientState</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_VERTEX_ARRAY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Disable the vertices buffer   </span>
    gl.<span style="color: #006633;">glDisable</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_CULL_FACE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                <span style="color: #666666; font-style: italic;">// Disable the face culling</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h2>OpenGLRenderer.java</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">de.bennyn.examples.opengl.simple.triangle</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.opengl.GLU</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.opengl.GLSurfaceView.Renderer</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.khronos.egl.EGLConfig</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.microedition.khronos.opengles.GL10</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> OpenGLRenderer <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">Renderer</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// Initialize the triangle:</span>
  Triangle triangle <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Triangle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onSurfaceCreated<span style="color: #009900;">&#40;</span>GL10 gl, EGLConfig config<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    gl.<span style="color: #006633;">glClearColor</span><span style="color: #009900;">&#40;</span>0.0f, 0.0f, 0.0f, 0.5f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// background color (rgba)</span>
    gl.<span style="color: #006633;">glShadeModel</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_SMOOTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>          <span style="color: #666666; font-style: italic;">// Enable Smooth Shading    </span>
    gl.<span style="color: #006633;">glClearDepthf</span><span style="color: #009900;">&#40;</span>1.0f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                   <span style="color: #666666; font-style: italic;">// Depth buffer setup </span>
    gl.<span style="color: #006633;">glEnable</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_DEPTH_TEST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>          <span style="color: #666666; font-style: italic;">// Enable depth testing</span>
    gl.<span style="color: #006633;">glDepthFunc</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_LEQUAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>           <span style="color: #666666; font-style: italic;">// Type of depth testing    </span>
    gl.<span style="color: #006633;">glHint</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_PERSPECTIVE_CORRECTION_HINT</span>, GL10.<span style="color: #006633;">GL_NICEST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onDrawFrame<span style="color: #009900;">&#40;</span>GL10 gl<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Clears the screen and depth buffer:</span>
    gl.<span style="color: #006633;">glClear</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_COLOR_BUFFER_BIT</span> <span style="color: #339933;">|</span> GL10.<span style="color: #006633;">GL_DEPTH_BUFFER_BIT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// Draw triangle</span>
    gl.<span style="color: #006633;">glLoadIdentity</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    gl.<span style="color: #006633;">glTranslatef</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #339933;">-</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
    triangle.<span style="color: #006633;">draw</span><span style="color: #009900;">&#40;</span>gl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onSurfaceChanged<span style="color: #009900;">&#40;</span>GL10 gl, <span style="color: #000066; font-weight: bold;">int</span> width, <span style="color: #000066; font-weight: bold;">int</span> height<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Sets the current view port to the new size:</span>
    gl.<span style="color: #006633;">glViewport</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, width, height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
    gl.<span style="color: #006633;">glMatrixMode</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_PROJECTION</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Set projection matrix    </span>
    gl.<span style="color: #006633;">glLoadIdentity</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                  <span style="color: #666666; font-style: italic;">// Reset projection matrix</span>
    <span style="color: #666666; font-style: italic;">// Calculate the aspect ratio of the window:</span>
    GLU.<span style="color: #006633;">gluPerspective</span><span style="color: #009900;">&#40;</span>gl, 45.0f, <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#41;</span> width <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#41;</span> height, 0.1f, 100.0f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    gl.<span style="color: #006633;">glMatrixMode</span><span style="color: #009900;">&#40;</span>GL10.<span style="color: #006633;">GL_MODELVIEW</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// Select modelview matrix    </span>
    gl.<span style="color: #006633;">glLoadIdentity</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                  <span style="color: #666666; font-style: italic;">// Reset modelview matrix</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h2>AndroidManifest.xml</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;manifest</span> <span style="color: #000066;">xmlns:android</span>=<span style="color: #ff0000;">&quot;http://schemas.android.com/apk/res/android&quot;</span></span>
<span style="color: #009900;">      <span style="color: #000066;">package</span>=<span style="color: #ff0000;">&quot;de.bennyn.examples.opengl.simple.triangle&quot;</span></span>
<span style="color: #009900;">      <span style="color: #000066;">android:versionCode</span>=<span style="color: #ff0000;">&quot;1&quot;</span></span>
<span style="color: #009900;">      <span style="color: #000066;">android:versionName</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;application</span> <span style="color: #000066;">android:label</span>=<span style="color: #ff0000;">&quot;MainActivity&quot;</span> <span style="color: #000066;">android:icon</span>=<span style="color: #ff0000;">&quot;@drawable/icon&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;activity</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;MainActivity&quot;</span></span>
<span style="color: #009900;">                  <span style="color: #000066;">android:label</span>=<span style="color: #ff0000;">&quot;MainActivity&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;intent-filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;android.intent.action.MAIN&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;category</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;android.intent.category.LAUNCHER&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/intent-filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/activity<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/application<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/manifest<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<h2>Screenshot</h2>
<p><a href="http://www.bennyn.de/wp-content/uploads/simple-triangle.png"><img src="http://www.bennyn.de/wp-content/uploads/simple-triangle.png" alt="" title="simple-triangle" width="486" height="348" class="alignnone size-full wp-image-2751" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/java/how-to-draw-a-simple-triangle-with-opengl-es-in-android.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Datei innerhalb einer JAR Datei lesen</title>
		<link>http://www.bennyn.de/programmierung/java/datei-innerhalb-einer-jar-datei-lesen.html</link>
		<comments>http://www.bennyn.de/programmierung/java/datei-innerhalb-einer-jar-datei-lesen.html#comments</comments>
		<pubDate>Sun, 21 Aug 2011 17:30:53 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JAR]]></category>
		<category><![CDATA[Properties]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=2727</guid>
		<description><![CDATA[Kurzer Code-Schnippsel, um eine properties-Datei, die in einem Paket aus einer JAR-Datei steckt, einzulesen: 1 2 3 4 5 6 7 8 9 10 Properties properties = new Properties&#40;&#41;; try &#123; InputStream is = this.getClass&#40;&#41;.getClassLoader&#40;&#41;.getResourceAsStream&#40;&#34;com/oberprima/upload/client/configuration/config.properties&#34;&#41;; properties.load&#40;is&#41;; &#125; catch &#40;IOException ex&#41; &#123; System.out.println&#40;ex.getLocalizedMessage&#40;&#41;&#41;; &#125;]]></description>
			<content:encoded><![CDATA[<p>Kurzer Code-Schnippsel, um eine properties-Datei, die in einem Paket aus einer JAR-Datei steckt, einzulesen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="java" style="font-family:monospace;">    <span style="color: #003399;">Properties</span> properties <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Properties</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">try</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">InputStream</span> is <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getClass</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResourceAsStream</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;com/oberprima/upload/client/configuration/config.properties&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      properties.<span style="color: #006633;">load</span><span style="color: #009900;">&#40;</span>is<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ex.<span style="color: #006633;">getLocalizedMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/java/datei-innerhalb-einer-jar-datei-lesen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

