package com.example;
/** Verschiedene statische Hilfsmethoden für Android-Programmierung. */
final class Android
{
/** Laufender Zähler für Ausgaben einer Aufzeichnung. */
static long logcount = 0;
/** Ausgabe einer Information in das Logbuch.
@param object eine java.lang.Object-Referenz, die wie durch einen Aufruf
der Methode {@link java.lang.String#valueOf(java.lang.Object)} ein
{@link java.lang.String}-Objekt erzeugt, welches dann mit dem Etikett
"com.example" und der Einstufung als Information in das Logbuch
geschrieben wird. */
final static void println( final java.lang.Object object )
{ try{ java.lang.Thread.sleep( 50 ); } /* otherwise slow logcat might miss some logs */
catch( final java.lang.InterruptedException exception ){ } /* modified */
android.util.Log.i
( "com.example", "[" + logcount++ + "] " + java.lang.String.valueOf( object )); }}
public class Main extends android.app.Activity
{
public class Canvas extends android.view.View
{ private final java.util.Random generator = new java.util.Random();
public Canvas( final android.content.Context context ){ super( context ); }
boolean first = true;
boolean veryFirst = true;
int oldX = -1;
int oldY = -1;
double xc = 0;
double yc = 0;
int x = -1;
int y = -1;
double vx = 0;
double vy = 0;
double j = 1;
android.graphics.Canvas screen = new android.graphics.Canvas();
android.graphics.Bitmap bitmap;
android.graphics.Paint paint;
android.graphics.Paint bgPaint;
protected void onDraw( final android.graphics.Canvas canvas )
{ boolean border = false;
boolean sticked = false;
for( int i = 0; i < j; ++i )
{ //Android.println( "i = " + i + ", j = " + j );
if( first )
{ // canvas.drawRGB( 0, 0, 0 );
switch( 1 )
{ case 0:
xc = canvas.getWidth() / 2;
yc = canvas.getHeight() / 2;
break;
case 1:
xc = generator.nextInt( canvas.getWidth() );
yc = generator.nextInt( canvas.getHeight() );
break; }
vx = 0;
vy = 0;
oldX = -1;
oldY = -1;
border = false;
sticked = false;
if( veryFirst )
{ paint = new android.graphics.Paint();
paint.setStyle( android.graphics.Paint.Style.FILL );
paint.setColor( android.graphics.Color.WHITE );
bgPaint = new android.graphics.Paint();
bgPaint.setStyle( android.graphics.Paint.Style.FILL );
bgPaint.setColor( android.graphics.Color.BLACK );
bitmap = android.graphics.Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), android.graphics.Bitmap.Config.ARGB_8888 );
screen.setBitmap( bitmap );
screen.drawRGB( 0, 0, 0 );
veryFirst = false; }
first = false; }
else
{ vx = vx +( 1 - generator.nextInt( 3 ))/10.0; if( vx > 0.8 )vx = 0.8; if( vx < -0.8 )vx = -0.8;
vy = vy +( 1 - generator.nextInt( 3 ))/10.0; if( vy > 0.8 )vy = 0.8; if( vy < -0.8 )vy = -0.8;
xc = xc + vx;
yc = yc + vy;
x =( int )xc;
y =( int )yc;
border = false; if( false
|| x >= canvas.getWidth()
|| y >= canvas.getHeight()
|| x < 0
|| y < 0 )border = true;
sticked = false;
if( oldX >= 0 && oldY >= 0 )
{ if( !border )screen.drawPoint( oldX, oldY, bgPaint ); }
if( !border &&( x != oldX || y != oldY )&&
( y > 0 &&
( false
||( x > 0 && bitmap.getPixel( x - 1, y - 1 )== android.graphics.Color.WHITE )
||( bitmap.getPixel( x, y - 1 )== android.graphics.Color.WHITE )
||( x < canvas.getWidth() - 1 && bitmap.getPixel( x + 1, y - 1 )== android.graphics.Color.WHITE ))
||( x > 0 && bitmap.getPixel( x - 1, y )== android.graphics.Color.WHITE )
||( x < canvas.getWidth() - 1 && bitmap.getPixel( x + 1, y )== android.graphics.Color.WHITE )
|| y < canvas.getHeight() - 1 &&
( false
||( x > 0 && bitmap.getPixel( x - 1, y + 1 )== android.graphics.Color.WHITE )
||( bitmap.getPixel( x, y + 1 )== android.graphics.Color.WHITE )
||( x < canvas.getWidth() - 1 && bitmap.getPixel( x + 1, y + 1 )== android.graphics.Color.WHITE ))
|| false ))sticked = true;
if( !border )if( x != oldX || y != oldY )
{ // myBitmap.setPixel(x, y, Color.rgb(45, 127, 0));
screen.drawPoint( x, y, paint ); oldX = x; oldY = y; }}
if( border || sticked )first = true; }
j = j < 100000 ? j * 1.001 : j;
canvas.drawBitmap( bitmap, 0, 0, bgPaint );
if( j < 1000 )canvas.drawCircle( x, y,( float )( 1000 / j > 10 ? 10 : 1000 / j ), paint );
super.invalidate(); }}
/*canvas.drawPoint(X, Y, paint);
Here is how you initalize Object of class android.graphics.Paint i.e paint
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);*/
@java.lang.Override public void onCreate( final android.os.Bundle bundle )
{ super.onCreate( bundle );
Main.this.requestWindowFeature( android.view.Window.FEATURE_NO_TITLE );
Main.this.getWindow().getDecorView().setSystemUiVisibility
( 0
| android.view.View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| android.view.View.SYSTEM_UI_FLAG_FULLSCREEN /* hides status bar */
| android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY );
setContentView( new Canvas( this ) ); }}