И так... Путь к Java у меня уже долог, однако, прежние попытки его освоить потерпели фиаско. Ранние попытки были еще на кнопочных телефонах (смартфон тех лет- Nokia e63 с симбианом 9.2 и qwerty клавиатурой) - тогда помню- отдельно компилятор джавы, верификатор и компоновщик были, такая муть- скажу я вам! Тогда- сколько я не изучал это ООП, сколько не экспериментировал- больше чем хелло ворд у меня не шло. Еще попытки были- на компьютере- установил кучу всего для программирования в Java, IDE какие то- в колличестве пяти штук- редакторы кода, так же- несколько, и, в конечном итоге- сошло все на нет, запутался в нем и забросил. Теперь вот- нашел в гуглплее JStudio ide, скажу я вам- даже бесплатная версия многое может- и разработка приложений происходит прямо на андроид смартфоне!!! В общем, сперва консольные приложения в виде java class по всевозможным бесплатным интернет учебникам изучал и запускал параллельно читая учебник по Java- "JAVA - библиотека профессионала. Том 1. ОСНОВЫ" одиннадцатое издание Кей Хорстманн, собственно этот учебник выпал в поиске гугла по запросу "Java учебник топ 10 на русском". Ну и вроде все хорошо, изучал себе, почти до четвертой главы этого учебника дошел. Ну- вроде как почти все понятно- пока читаешь, а в голове вся эта муть не откладывается! А потом решил перейти к рисованию, к графической части, поскольку консоль консолью, но хочется большего! И, какого же было мое удивление- что в JStudio в Java практически эту самую графику и не создать, или может быть как то ее создать можно- но я плохо искал, однако примеры по Java рисованию не пошли. Далее опять же гугл поиск- как организовать рисование в андроид проекте (есть такой пункт в jStudio), нагуглил, создал андроид проект, а при попытке запуска сгенерированного шаблона (хелло ворд) IDE выдал- мол пакет собрать не получилось, ну думаю- "ВСЁ ПРОПАЛО!" Однако- оказалось - все дело в вводимом значении поля Package - при создании нового проекта, оказывается- его отнють не от балды и не абы как формировать надо, а с учетом имени проекта, в общем- на данный момент- запустил в JStudio проект из учебника по компьютерной среде разработки A-Studio и он у меня благополучно скомптлировался, собрался и установился- пропущенный через JStudio. Вот текст этого учебного проекта:
Создадим проект:
Project name: P1411_CanvasView
Build Target: Android 2.3.3
Application name: CanvasView
Package name: ru.startandroid.develop.p1411canvasview
Create Activity: MainActivity
- п.с. в JStudio я позаимствовал только имя проекта, AppName- как в jstudio он обозван и эту- Package -из за которой по началу у меня даже сгенерированный при создании нового проекта примеры не запускались
Код MainActivity.java:
package ru.startandroid.develop.p1411canvasview;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new DrawView(this));
}
class DrawView extends View {
public DrawView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.GREEN);
}
}
}
Ну- код программы я передрал один в один и все заработало. Так что теперь надо разобраться будет еще с той мутью что не доусвоил в консольных примерах- как то пакетирование, наследование, суперклассы и т.д. и т.п. в общем- и уже можно писать свои программы с отображеньем на Canvas-е :-) В общем, думаю- на этот раз у меня все таки получится постичь этот Java и начать уже на нем писать, понятно, что ООП это вам не процедурный язык, что тут мышление надо менять как то, тут немного другие принципы программирования! В общем- надеюсь на лучшее, что все получится!
3 минуты
15 апреля 2024