На самом деле API Android намного более мощен, чем J2ME.
намного легче создать приложение для Android.
Используя J2ME Вы ограничены простыми формами из-за отсутствующих из подобных колебанию библиотек (хотя теперь там существует библиотека под названием LWUIT, избегая потребности воссоздать с нуля подобную колебанию библиотеку).
В Android Вы будете в состоянии создать сложную форму очень быстро, и пакет программного обеспечения для android SDK легко установить (в то время как в J2ME необходимо установить беспроводной инструментарий разработки от солнца или установить одну из Nokia, Samsung или Sonyericsson..., это становится немного сбивающим с толку иногда).
вещи я должен был измениться, когда переключение от j2me до андроида было:
1/шрифт и графический класс легче использовать на j2me. API более полон на Android, но также и более сложен.
2/, Если Вы привыкли к устройству хранения данных базы данных j2me (RecordStore), хорошо можно забыть его в Android. Необходимо будет использовать подобный SQL databased, так готовы заново продумать модель данных.
Используйте конфигурацию атрибута init_arg
(см. «Параметры конструктора» в Moose :: Manual :: Attributes ):
package SOD::KuuAnalyze::ProdId;
use Moose;
has 'users' => (
isa => 'ArrayRef[Str]', is => "ro",
init_arg => undef, # do not allow in constructor
);
1;
Как насчет
package SOD::KuuAnalyze::ProdId;
use Moose;
has 'users' => ( isa => 'ArrayRef[Str]', is => 'ro', init_arg => undef, default => sub { [ 'one', 'two' ] } );
Установка init_arg
на undef
кажется необходимой, чтобы запретить установку атрибута из конструктора.