From 0e7dbd982c5063c17b93d7e4e584c8d6700d6ee1 Mon Sep 17 00:00:00 2001 From: gumartinm Date: Wed, 2 Nov 2011 02:43:13 +0100 Subject: [PATCH] First steps with Android --- AndroidTetris/AndroidManifest.xml | 18 ++++++ AndroidTetris/default.properties | 11 ++++ AndroidTetris/gen/de/android/androidtetris/R.java | 26 ++++++++ AndroidTetris/proguard.cfg | 40 ++++++++++++ AndroidTetris/res/drawable-hdpi/icon.png | Bin 0 -> 4147 bytes AndroidTetris/res/drawable-ldpi/icon.png | Bin 0 -> 1723 bytes AndroidTetris/res/drawable-mdpi/icon.png | Bin 0 -> 2574 bytes AndroidTetris/res/drawable/greenstar.png | Bin 0 -> 7020 bytes AndroidTetris/res/drawable/redstar.png | Bin 0 -> 6680 bytes AndroidTetris/res/drawable/yellowstar.png | Bin 0 -> 6653 bytes AndroidTetris/res/layout/main.xml | 12 ++++ AndroidTetris/res/values/strings.xml | 5 ++ .../androidtetris/AndroidTetrisActivity.java | 22 +++++++ .../src/de/android/androidtetris/DrawView.java | 67 +++++++++++++++++++++ 14 files changed, 201 insertions(+) create mode 100644 AndroidTetris/AndroidManifest.xml create mode 100644 AndroidTetris/default.properties create mode 100644 AndroidTetris/gen/de/android/androidtetris/R.java create mode 100644 AndroidTetris/proguard.cfg create mode 100644 AndroidTetris/res/drawable-hdpi/icon.png create mode 100644 AndroidTetris/res/drawable-ldpi/icon.png create mode 100644 AndroidTetris/res/drawable-mdpi/icon.png create mode 100644 AndroidTetris/res/drawable/greenstar.png create mode 100644 AndroidTetris/res/drawable/redstar.png create mode 100644 AndroidTetris/res/drawable/yellowstar.png create mode 100644 AndroidTetris/res/layout/main.xml create mode 100644 AndroidTetris/res/values/strings.xml create mode 100644 AndroidTetris/src/de/android/androidtetris/AndroidTetrisActivity.java create mode 100644 AndroidTetris/src/de/android/androidtetris/DrawView.java diff --git a/AndroidTetris/AndroidManifest.xml b/AndroidTetris/AndroidManifest.xml new file mode 100644 index 0000000..217d49f --- /dev/null +++ b/AndroidTetris/AndroidManifest.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AndroidTetris/default.properties b/AndroidTetris/default.properties new file mode 100644 index 0000000..ac9e1a0 --- /dev/null +++ b/AndroidTetris/default.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-13 diff --git a/AndroidTetris/gen/de/android/androidtetris/R.java b/AndroidTetris/gen/de/android/androidtetris/R.java new file mode 100644 index 0000000..17497a4 --- /dev/null +++ b/AndroidTetris/gen/de/android/androidtetris/R.java @@ -0,0 +1,26 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package de.android.androidtetris; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int greenstar=0x7f020000; + public static final int icon=0x7f020001; + public static final int redstar=0x7f020002; + public static final int yellowstar=0x7f020003; + } + public static final class layout { + public static final int main=0x7f030000; + } + public static final class string { + public static final int app_name=0x7f040001; + public static final int hello=0x7f040000; + } +} diff --git a/AndroidTetris/proguard.cfg b/AndroidTetris/proguard.cfg new file mode 100644 index 0000000..b1cdf17 --- /dev/null +++ b/AndroidTetris/proguard.cfg @@ -0,0 +1,40 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native ; +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff --git a/AndroidTetris/res/drawable-hdpi/icon.png b/AndroidTetris/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8074c4c571b8cd19e27f4ee5545df367420686d7 GIT binary patch literal 4147 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 literal 0 HcmV?d00001 diff --git a/AndroidTetris/res/drawable-ldpi/icon.png b/AndroidTetris/res/drawable-ldpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1095584ec21f71cd0afc9e0993aa2209671b590c GIT binary patch literal 1723 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

BsdSrL=avd$Fao=bOnxaYL^Nf?oJ- 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 F{txGYnoj@# literal 0 HcmV?d00001 diff --git a/AndroidTetris/res/drawable/yellowstar.png b/AndroidTetris/res/drawable/yellowstar.png new file mode 100644 index 0000000000000000000000000000000000000000..134b2343cfa6e46a181de327a6d2912d8f13dc0c GIT binary patch literal 6653 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 literal 0 HcmV?d00001 diff --git a/AndroidTetris/res/layout/main.xml b/AndroidTetris/res/layout/main.xml new file mode 100644 index 0000000..3a5f117 --- /dev/null +++ b/AndroidTetris/res/layout/main.xml @@ -0,0 +1,12 @@ + + + + diff --git a/AndroidTetris/res/values/strings.xml b/AndroidTetris/res/values/strings.xml new file mode 100644 index 0000000..8c45b4c --- /dev/null +++ b/AndroidTetris/res/values/strings.xml @@ -0,0 +1,5 @@ + + + Hello World, AndroidTetrisActivity! + AndroidTetris + diff --git a/AndroidTetris/src/de/android/androidtetris/AndroidTetrisActivity.java b/AndroidTetris/src/de/android/androidtetris/AndroidTetrisActivity.java new file mode 100644 index 0000000..d74dbda --- /dev/null +++ b/AndroidTetris/src/de/android/androidtetris/AndroidTetrisActivity.java @@ -0,0 +1,22 @@ +package de.android.androidtetris; + +import android.app.Activity; +import android.os.Bundle; +import android.util.DisplayMetrics; + +public class AndroidTetrisActivity extends Activity { + DrawView drawView; + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + DisplayMetrics displayMetrics = new DisplayMetrics(); + this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + + setContentView(R.layout.main); + drawView = new DrawView(this); + drawView.setDimensions(displayMetrics.widthPixels, displayMetrics.heightPixels); + this.setContentView(drawView); + drawView.requestFocus(); + } +} \ No newline at end of file diff --git a/AndroidTetris/src/de/android/androidtetris/DrawView.java b/AndroidTetris/src/de/android/androidtetris/DrawView.java new file mode 100644 index 0000000..84264ee --- /dev/null +++ b/AndroidTetris/src/de/android/androidtetris/DrawView.java @@ -0,0 +1,67 @@ +/** + * + */ +package de.android.androidtetris; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; +import android.view.View; + +/** + * @author gustavo + * + */ +public class DrawView extends View { + Paint paint = new Paint(); + private int width; + private int height; + private static final int WIDTH = 50; + private static final int HEIGHT = 50; + private static final int STRIDE = 64; // + + DrawView(Context context) + { + super(context); + paint.setColor(Color.RED); + paint.setAntiAlias(true); + } + + @Override + public void onDraw(Canvas canvas) + { + super.onDraw(canvas); + int[] colors = new int[STRIDE * HEIGHT]; + for (int y = 0; y < HEIGHT; y++) { + for (int x = 0; x < WIDTH; x++) { + int r = x * 255 / (WIDTH - 1); + int g = y * 255 / (HEIGHT - 1); + int b = 255 - Math.min(r, g); + int a = Math.max(r, g); + colors[y * STRIDE + x] = (a << 24) | (r << 16) | (g << 8) | b; + } + } + //Resources r = this.getContext().getResources(); + Bitmap bitmap = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888); + bitmap.setPixels(colors, 0, STRIDE, 0, 0, WIDTH, HEIGHT); + Bitmap bitmapnew = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888); + bitmapnew.setPixels(colors, 0, STRIDE, 0, 0, WIDTH, HEIGHT); + //Canvas canvasnew = new Canvas(bitmap); + //Drawable tile = r.getDrawable(R.drawable.greenstar); + //tile.setBounds(1000, 1000, 1000, 1000); + //tile.draw(canvasnew); + canvas.drawBitmap(bitmap, 150, 150, this.paint); + canvas.drawBitmap(bitmapnew, 300, 300, this.paint); + //canvas.drawCircle(150, 150, 100, paint); + } + + public void setDimensions(int width, int height) + { + this.width = width; + this.height = height; + } +} \ No newline at end of file -- 2.1.4