package twój.pakiet.tutaj; // <- ZOSTAW TU SWOJĄ ORYGINALNĄ LINIJKĘ PACKAGE
import android.content.Context;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "tag";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "onCreate: Aktywność utworzona");
// Ustawiamy nasz własny, rysowany widok jako główny ekran aplikacji
setContentView(new MyDrawingView(this));
// Własny komponent rysujący kształty geometrii
private class MyDrawingView extends View {
private Paint paint = new Paint();
public MyDrawingView(Context context) {
paint.setAntiAlias(true);
paint.setStrokeWidth(8f);
protected void onDraw(Canvas canvas) {
// Tło ekranu (jasnoszare)
canvas.drawColor(Color.LTGRAY);
// 1. Rysujemy lewe koło podstawy (kulę)
paint.setColor(Color.DKGRAY);
canvas.drawCircle(350, 1000, 100, paint);
// 2. Rysujemy prawe koło podstawy (kulę)
canvas.drawCircle(550, 1000, 100, paint);
// 3. Rysujemy główną kolumnę (podłużny kształt w górę)
// argumenty: lewy, górny, prawy, dolny margines
canvas.drawRect(400, 500, 500, 1000, paint);
// 4. Rysujemy zaokrąglony czubek na samej górze
canvas.drawCircle(450, 500, 50, paint);
// 5. Dodajemy napis informacyjny
canvas.drawText("Rysowanie kształtów aktywne!", 150, 200, paint);
protected void onStart() {
Log.d(TAG, "onStart: Aktywność widoczna");
protected void onResume() {
Log.d(TAG, "onResume: Aktywność gotowa do interakcji");
protected void onPause() {
Log.d(TAG, "onPause: Aktywność traci fokus");
protected void onStop() {
Log.d(TAG, "onStop: Aktywność schowana do tła");
protected void onDestroy() {
Log.d(TAG, "onDestroy: Aktywność zniszczona");
protected void onRestart() {
Log.d(TAG, "onRestart: Aktywność restartowana");