|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|
Перенос Java-кода на платформу Android02.08.2016, 08:59. Показов 8016. Ответов 28
Метки нет (Все метки)
Всем доброе утро!
Есть неплохой код. Но мне оказалось этого мало и хочу перенести на платформу Android с помощью Android Studio. Подскажите пожалуйста как перенести?
0
|
|
| 02.08.2016, 08:59 | |
|
Ответы с готовыми решениями:
28
Перенос кода из java на Android Перенос кода на 64-битную платформу JAVA перенос на android |
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 02.08.2016, 10:01 | |
|
Прочитать про класс Timer в андроид.
Добавлено через 21 секунду Или CountdownTimer
0
|
|
|
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 674
|
|
| 02.08.2016, 11:27 | |
|
А что вы хотите перенести, таймер, программу? Для таймера у Андроида есть свои методы. Код перенести можно, а интерфейс нужно новый делать.
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|||||||||||
| 02.08.2016, 12:08 | |||||||||||
Сообщение было отмечено msgusa как решение
Решение
делов на 5 минут
код активити Кликните здесь для просмотра всего текста
разметка активити, activity_main.xml Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|
| 02.08.2016, 14:31 [ТС] | |
|
OlegJV, спасибо, почитаю!
Vladimir93, хочу перенести все. Паблито, спасибо большое, но... я совсем не узнаю тот код. Вы реализовали свой код на основе того, что показал, или же все-таки придется все переписывать специально для Андроида? Дело в том, что логика той программы мне полностью понятна, а ваша не совсем. Например, что за аннотации @Override? В тех программах без них обошлось. И потом, ту программу я немножко изменил и добавил свое. Поэтому для первоначального понимания, думаю, мне было бы легче ориентироваться на тот "скелет" кода.
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 02.08.2016, 14:35 | |
|
1
|
|
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 02.08.2016, 15:01 | |
|
Код Паблито предельно ясен с точки зрения Андроид-программирования. Если есть желание писать (переносить) программы под Андроид, придется кое-что почитать, автоматом не прокатит. Смысл (повторюсь) понятен полностью - при нажатии кнопки startBtn срабатывает метод onClick, в котором запускается таймер на 10 секунд с интервалами 1 сек (CountDownTimer(10000, 1000)). Каждую секунду (второй параметр в конструкторе CountDownTimer) срабатывает метод onTick(long l), в котором в текстовое поле выводится оставшееся время. По окончании работы таймера срабатывает метод onFinish(). Все. При желании в эти методы можно добавлять что угодно. @Override - переопределение метода родительского класса. Что еще непонятно?
1
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|||||||||||
| 02.08.2016, 16:43 [ТС] | |||||||||||
|
Хотел немножко схалтурить там, где это возможно. Извините за невежество)
Да, еще я не хотел докучать вас вопросами. Ну, раз так... В целом, интуитивно понимаю что делает программка. Получается, что MainActivity - это как бы главный класс, с котором и начинается выполнение программы. Вопрос, можно ли менять это название как-нибудь по другому? (думаю, что нет). Тогда получается, что у каждой другой программы, будет главный класс с одним и тем же названием. Потом я не обнаружил главного метода public static void main. Реализуется ли он как-нибудь? В той программе, есть конструктор:
Потом, я не вижу внутренних классов, реализующих интерфейс ActionListener. Можно ли мне как-нибудь переписать код и поместить в класс MainActivity {}, классы типа class TimerTick implements ActionListener {...} ? И еще один нюанс, связанный с таймером. Можно ли переписать строчку кода Паблито на что-то подобное:
Т.е. вынести обработчик события во внутренний класс, и дальше с ним работать там. Пока все Пожалуйста, ответьте на мои вопросы, хотя бы так: "Да", "Нет", чтобы знал, что это возможно и что я просто неправильно что-то делаю.
0
|
|||||||||||
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 02.08.2016, 17:15 | |
|
MainActivity это типа окна в Windows. Название можно менять. Активити в программе может быть несколько. Метод onCreate это с натяжкой можно назвать конструктором. new TimerTick это ересь.
0
|
|
|
17 / 16 / 3
Регистрация: 20.05.2015
Сообщений: 115
|
|
| 02.08.2016, 18:59 | |
|
msgusa, MainActivity это класс наследник Activity. Название менять можно, но при создании такого класса (перемена названия класса в файле или самого файла вызовет ошибку в IDE). public static void main не нужен, в Android есть такая штука как манифест, в ней пишутся строки интент фильтра и при запуске приложения будет запущено то активити, для которого написан этот интент фильтр. Также нужно каждое запускаемое активити прописывать в манифесте, точнее то, что оно может быть запущено (специальные строки). Конструктор можно сделать для любого класса (это тот же java). Все тяжелые операции в андройд обязательно нужно помещать в другой поток.
0
|
|
|
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 674
|
|
| 03.08.2016, 09:52 | |
|
msgusa,
Да все можно. Андроид практически полностью "поддерживает" Java ( синтаксис, методы, классы, конструкторы, интерфейсы), за исключением UI. Андроид имеет свой. Ну и некоторые реализации у Андроида тоже свои. Насчет запуска тоже уже сказали, по сути, вы можете запустить любую активность (даже другого приложения), которую укажете в манифесте(важная часть Андроид разработок, изучите) Добавлено через 6 минут Правила для имен такие же как и Java, имя Активити должно совпадать с именем файла. Переименовали активность, переименуйте файл, и все что связно, с этой активностью
0
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
||||||
| 06.08.2016, 18:33 [ТС] | ||||||
|
Программа не сработала.
Пишет, что
0
|
||||||
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 06.08.2016, 19:08 | |
|
Как-то не очень содержательно. Какая программа, в каком месте не сработала?
0
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
||||||
| 06.08.2016, 19:13 [ТС] | ||||||
|
Извините, я думал это очевидная ошибка.
Ошибку высвечивает здесь:
И еще. Не знаю важно ли. Я создал новый модуль. И просто скопировал код активити и разметку активити. Чтоб хотя б посмотреть. И еще. Рядом с зеленым треугольником запуска приложения есть названия в списке. Так вот, андроид в названии "timerexample" перечеркнут красным крестиком.. Я не знаю, что это может означать.
0
|
||||||
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 06.08.2016, 19:15 | |
|
А код разметки можно посмотреть? Есть там эти самые R.id.startBtn и R.id.counterTv?
0
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|
| 06.08.2016, 19:18 [ТС] | |
|
0
|
|
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 06.08.2016, 19:26 | |
|
Ну я думал своя какая-то разметка... Попробуй Build - Clean Project, Rebuild Project...
Добавлено через 2 минуты Как все создавалось-то? Какой шаблон AS для проекта использовался?
0
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|||
| 06.08.2016, 19:36 [ТС] | |||
Создал проект, а в нем несколько (3 модуля). Один работает, другой почему-то нет. А третий - это пример Паблито. Создал модуль. Нашел код активити - удалил/вставил. Нашел код разметки - удалил/вставил. Шаблоны все пустые (Blank).
0
|
|||
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
| 06.08.2016, 19:51 | |
|
При создании проекта AS предлагает варианты - Basic Activity, Empty Activity и так далее. Что было выбрано?
0
|
|
|
6 / 6 / 3
Регистрация: 29.06.2011
Сообщений: 183
|
|
| 06.08.2016, 19:52 [ТС] | |
|
Empty Activity
После Clean Project, Rebuild Project..., чет все конкретно подвисло. Я психанул и закрыл через диспетчер задач AS) И терь компоненты в ComponentTree приобрели восклицательные знаки. Я вообще не понимаю, что происходит.
0
|
|
| 06.08.2016, 19:52 | |
|
Помогаю со студенческими работами здесь
20
Перенос кода клиент/сервера на Android
Построение unity проекта под платформу android? Преобразование голоса в текст с цифрами в Unity под платформу Android Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|