Для новичков DimonVideo
Автор статьи: TomCat16И так, в своей статье хочу отразить некоторые моменты для тех кто купил один из флагманских аппаратов Samsung. Рассмотрим такие популярные модели как Galaxy S GT-i9000 (андроид 2.3.6 ), Galaxy SII GT-9100, Galaxy SIII GT-9300, Galaxy Note N7000, Galxy NoteII N7100. Последние 4 модели работают на андроид 4.1.2 . Все эти аппараты в недавнем прошлом флагманы компании. Почему Samsung ?, потому что на данный момент это один из лидеров в производстве смартфонов.
Ну а если покупать смартфон, то уж лучше брать его от известного лидера, плюс качество, плюс поддержка и еще много чего в пользу этого брэнда. Ранее пользовался аппаратами от Sony-Ericsson (Sony), но по причине резкого ухудшения качества и поддержки их продукции, вынужден был отказаться от их смартфонов.
И так что надо знать новичкам об этих аппаратах ? Galaxy S, самая нашумевшая модель, но к сожалению не очень удачная, потому далее версии андроида 2.3.6 официальных обновлений нет и не будет. Любители ставят кастомные сборки, их множество . На этой модельке еще не было такого понятия как счётчик кастомов, который появился во всех остальных модельках. Если сработал счётчик, владелец лишается гарантии . Так что про это должен знать каждый кто купил смартфон начиная с Galaxy SII.
Теперь остановлюсь на обновлении ПО и работе с компьютером. Официально обновить ПО аппарата (прошивку) можно либо по-воздуху, или через программу от Samsung, - Kies.
Однако мой совет для новичков под № 1. Забудьте про ОТА и Kies, хотя Samsung один из лидеров в андроиде, но программа Kies для компьютера, разработанная в недрах компании, это не совсем то что вам нужно. Она слишком громоздка, потребляет много ресурсов компьютера и не очень удобна в работе. Предлагаю вместо нее более интересную программу WondershareMobileGo for Android, найти ее можно в обменнике сайта DimonVideo.ru все для мобильных устройств. Сама программа плюс русификатор, и вы обретёте легкость работы с вашим девайсом. Соединение и обмен данными возможен как через USB шнур, так и через wifi соединение, достаточно установить плагин с маркета на телефон.
Далее про прошивки (совет №2) ; новичкам рекомендую первое время пользоваться официальными прошивками от Samsung. Это дает несколько преимуществ ;
1. Вы не теряете гарантию ;
2. Вы можете не спеша разбираться в новой для многих ОС.
3. Прошивки у Samsung выходят довольно часто, постоянно вносятся улучшения и дополнения .
4. Прошивки можно ставить не зависимо от региона для которого предназначен аппарат, а русский язык и ввод есть в большинстве прошивок.
И так с прошивками определились, теперь определимся с инструментом через который мы будем обновлять ПО телефона. Для этих целей рекомендую программу от того-же Samsung, но разработанную для сервис центров, - это Odin3 (найти ее так-же можно на ресурсе DimonVideo.ru все для мобильных устройств) плюс драйвера для аппарата от программы Kies (их можно найти на сайте отдельно).
Прошиваются все флагманы программой Odin3 офлайн и времени на процедуру перепрошивки уходит совсем не много. При этом счётчик кастомов не срабатывает (мы шьём родное ПО официальной программой ) и гарантия сохранена, а мы имеем новую версию прошивки.
Обновляться не следует слишком часто, потому как одна и та-же прошивка выходит для разных регионов и отличается лишь региональными данными и дополнениями.
У Samsung есть один баг неправильного перевода в обозначении версии ПО (Сведения о системе)
По-русски мы читаем Версия прошивки (на самом деле это версия модема /телефонной части /, далее идет версия андроид, Ядро и Версия сборки, - это на самом деле и есть версия прошивки .
Так что при выходе новой прошивки нам следует обратить внимание лишь на версию сборки (или часть PDA ) – если она не сменилась, то перепрошивать аппарат нет смысла. Обычно эта информация идет в начале обозначения файла прошивки.
Теперь поговорим о рут правах, или правах администратора на своём устройстве. Как и все производители смартфонов на андроид, Самсунг защиет аппарат от вмешательства в операционную систему (ОС), но этим-же и ограничиваются права пользователя . Поэтому немного освоив работу с аппаратом и ОС андроид стоит задуматься о получении Root для своего девайса дабы пользоваться программами требующими эту привилегию (Root ) и скрытыми возможностями системы.
Совет №3, рут права просто необходимы, но прежде чем вы их получите, учтите: в случае обращения в сервис с рутованным телефоном, вас могут снять с гарантии. Так что стоит задуматься. Получение рут прав на самсунгах не так сложно, как это может показаться. Во-первых сам производитель сильно не препятствует этому шагу, во-вторых телефоны настолько популярны, что метод получения рут появляется одновременно с выходом аппарата в продажу. Например, вышел Galaxy SIV и тут-же появился метод его рутирования. Так что тут пользователям, как я считаю, крупно повезло.
Методы получения рут прав обычно сходны для моделей с одинаковым железом, для примера: рут получается одинаковым способом на SII и Note (через рекавери), так-же схожи SIII и Note II .
Не так давно появилась программа FramaRoot, которая позволяет получить рут запустив установленный арк файл, многим она помогла. Но если вам пришлось для рутирования прошить что-то через Odin3, то желательно сбросить счётчик кастомов на ноль. Поможет нам в этом программа Triangle away, установленная на телефон . Правда оговорюсь, что лучше её использовать не так часто (всякое бывает).
Совет №4 . Если вы получили Root, пользуетесь оф.прошивками и намерены обновлять ПО своего телефона по мере надобности, то чтобы не терять Root, не сбрасывать счётчик кастомов, и т.д. далее прошивайтесь с помощью программы MobileOdinPro ( её так-же можно найти на сайте DimonVideo.ru все для Symbian, Android, iPhone).
Совет №5 Не спешите после перепрошивки жаловаться на повышенное энергопотребление и большой расход батареи. Дайте всему устаканиться, аппарат за 2-4 дня создаст системный кэш, отсканирует ваши файлы и всё придёт в норму. Да и полазив по настройкам вы сможете многое изменить и настроить под себя. Если у вас нет рут прав, то те приложения которыми вы не собираетесь пользоваться отключите в Диспетчере приложений по пути Настройки / Диспетчер приложений / Все приложения. Все что можно безболезненно отключить и что не повлияет на дальнейшую работу, спокойно отключится.
Далее если у вас есть рут, то чем вы не пользуетесь и не собираетесь пользоваться, можно удалить. Для удаления приложений на мой взгляд хорошо подходит программа SystemAppRemover 4.30 (или RootUninstaller) . Программа хороша тем что в ней реализован режим помощи, всё что ни коем образом удалять нельзя, будет подсвечено красным.
Не советую вам пользоваться чужими списками для удаления встроенного софта, так как каждый оставляет то, что на его взгляд полезно и нужно, подчас убивая некоторые ситемные приложения без которых многое из функционала будет обрезано. Если подойти к процессу вдумчиво, то можно составить свой список ненужных вам приложений.
Совет №6 Оптимизация . Если начать выяснять чем у нас занята система, то можно убедиться что все приложения что мы ставим автоматически попадают в автозагрузку наравне с системными приложениями, и еще не очень приятный для многих факт, что всё хочет пользоваться интернетом (т. е. сетью, а даже безлимитный интернет у многих операторов имеет ограничение трафика), многие сразу начинают ставить всякие таск-киллеры, но вот беда …. всё что эти программы прибивают, через некоторое время снова запускается, опять загружая память и систему в целом. Как правило при этом начинает хорошо уходить заряд батареи.
Так что-же делать ? Можно установить приложения регулирующие автозагрузку, приложения для оптимизации батареи и приложение не пускающие выбранные программы в интернет .
Для себя я нашел одно приложение, которое выполняет все эти функции сразу. Таковым оказался китайский комбайн LBE Security Master. Он поможет вам оптимизировать автозагрузку (в том числе и системных приложений ), работу интернета, расход батареи, убрать надоедливую рекламу от многих приложений, плюс это еще и антивирус ( многие не верят в вирусы на андроиде, а зря), так-же менеджер звонков, Смс и многое другое. Одна из функций это работа с приложениями, удаление, перенос на карту памяти, поиск и удаление дублей, поиск приложений для установки (мало-ли вы что-то скачали и забыли куда ).
Совет №7 Амолед дисплей, как продлить его жизнь ? Многие жалуются на форумах что со временем замечают выгорание отдельных участков экрана. Это происходит из-за статичных картинок. Могу посоветовать пользоваться темными темами, плюс живые обои. Темные темы не так режут глаза, а живые обои кроме красивости, дают не статичную картинку.
Насчет механических царапин, не забываем что даже стекло, какое-бы оно прочное не было, подвержено царапинам, потому все-же желательно ваш девайс хранить в чехле.
Совет №8 бэкапы, нужны-ли они ? Если нужны, то чем и как их лучше делать?
Вопрос бэкапа приложений обязательно возникнет перед вами рано или поздно. Вы перепрошиваетесь, делаете сбросы, но при этом вам не очень хочется пол-дня сидеть и восстанавливать ваш утраченный софт. А разных полезных программ у каждого стоит предостаточно. Так каким образом облегчить себе жизнь?
Могу сказать что большинство редко задумываются над стандартными методами восстановления сторонненего софта, контактов, СМС, журнала звонков и закладок браузера . Тем не менее эти методы не так плохи, и в большинстве случаев работают. Как синхронизация с аккаунтом в google, так и с аккаунтом в Samsung. Всё это прекрасно подойдет тем, кто по каким-либо причинам не стал делать рут доступ.
Для тех у кого аппарат рутирован, есть ряд приложений сохраняющих всё что нажито непосильным трудом . Наиболее распростанена программа TitaniumBackup . В ней довольно много возможностей для бэкапа всего и вся. Ещё, на мой взгляд, хороша программа MyBacupPro, как по мне, так ее интерфейс более дружелюбен . Так-же хочу отметить программы AppSaver и AppMonster.
Ещё один совет по бэкапу, старайтесь не бэкапить системные приложения и их данные, в новой прошивке приложение может изменить версию, может оказаться полностью переработанным и тогда вас ничего хорошего не ожидает.
Совет №9 Софт. Все мы поклонники сладкого слова «Халява» или как говорила известная многим сова «т.е. Даром», потому ищем на маркетах бесплатные приложения или ищем различные ресурсы где можно накачать бесплатно, того что на маркете за денежку. Будьте осторожны, даже с маркета можно скачать приложение, которое вас может развести на приличную сумму денег.
Потому лучше скачивать приложения с таких известных ресурсов как DimonVideo.ru все для мобильных устройств, где всё проверяется на наличие вирусов и прочего вредоносного ПО.
Так-же на сайте и в обменнике можно найти довольно много книг, фильмов, музыки и другого мультимедийного контента .
Совет №10 (последний), если у вас возникли проблемы с вашими устройствами от Samsung ? То обращайтесь на форум forum/5/f_90/0 где вы всегда найдёте помощь от более опытных и продвинутых пользователей.
DimonVideo
Автор статьи: TomCat16И так, в своей статье хочу отразить некоторые моменты для тех кто купил один из флагманских аппаратов Samsung. Рассмотрим такие [...] читать описание
8300
Для новичков cellbass
Инструкция как прошить Nokia 5230 JAFом на примере Lite Modification 5.5 !ИНСТРУКЦИЯ
Установка
1 Устанавливаешь - 1 Сборка J.A.F 1.98.66.exe
2 Устанавливаешь - 2 Nokia Connectivity Cable Driver 7.1.45.msi
3 Устанавливаешь - 3 Nokia Flashing Cable Driver 8.47.0.msi
4 Устанавливаешь - 4 Lite Modification 5.5 Release for RM-588 5230 51.0.002.exe
Подготовка телефона
1 Телефон должен быть полностью заряжен !
2 Форматируешь карту памяти ! перед этим сохранив все важные данные !
3 делаешь полный сброс ( набираешь в номера набирателе *#7370# телефон запросит код телефона, вводишь свой код, если не менял то 12345 )
4 После перезапуска телефона Форматируешь карту памяти ещё раз и выключаешь телефон !
Всё Телефон готов к прошивке !
Теперь сама прошивка !!! Делай всё по порядку !!!
1 Запускаешь JAF и переходишь на вкладку BB5
2 ставишь галочки в Dead USB, Manual Flash, Factory Set
На Normal Mode Галочка должна уже стоять, если нет Поставь
3 Сними галочку с CRT 308 и Поставь в последнюю очередь галочку на USE INI
Появиться окно со списком моделей телефонов, выбираешь RM-588 Nokia 5230 ижмёшь OK
4-Подключаешь к USB Входу свой выключенный телефон и жмёшь FLASH
5-Появится окно Warning!!!, В нём жмёшь ДА и тут же кратко временно ( 1-2 с ) Нажимаешь кнопку включения телефона !
Если всё сделал правильно в логе программы появится надпись Searching for phone...found!!!
Дальше ни чего делать не нужно ( Просто сидишь и ждёшь окончания прошивки )
Как только в логе Программы появится надпись
Done!
Done!
Внимание: Если в логе программы только одна надпись
Done!
И телефон не выходит из Локал мод, при этом экран горит белым цветом
с надписью синего цвета: Local mod и версии прошивки , не паникуем !
Просто отключаем телефон от компьютера и вытаскиваем и сразу вставляем аккумулятор !
После чего телефон можно включить и спокойно пользоваться !
Значит что прошивка удачно Закончилась и телефон сам Включится !
Как только на телефоне появится Выбор Страны !
Его можно отключить от компьютера и закрыть программу JAF !
Можно выбрать первую попавшеюся страну и любое число и время, Так как
После полной загрузки телефона надо сделать еще раз Полный сброс
(набираешь в номера набирателе *#7370# телефон запросит код телефона, вводишь свой код, если не менял то 12345)
Вот теперь уже Можно настраивать свою страну дату и время !
( Спорный вопрос: На некоторых прошивках не нужно и даже не рекомендуется делать полный сброс после прошивки, по этому внимательно читаем рекомендации Автора прошивки которую ставите ! )
Всё теперь Телефон готов к работе !!!
В архиве есть всё для прошивки !
1 Сборка J.A.F 1.98.66.exe
2 Nokia Connectivity Cable Driver 7.1.45.msi
3 Nokia Flashing Cable Driver 8.47.0.msi
4 Lite Modification 5.5 Release for 5230 RM-588 V 51.0.002
АРХИВСКАЧАТЬ
ВИДЕО
ВСЕМ УДАЧНЫХ ПРОШИВОК !
Обновление: Добавил ссылку на архив для удалённой прошивки смартфонов !
ИНФОРМАЦИЯСБОРНИК ПРОГРАММ ДЛЯ УДАЛЁННОЙ ПРОШИВКИ СМАРТФОНОВ NOKIA - SYMBIAN 9.4 !
Установка:
1) Установить - 1 Сборка J.A.F 1.98.66.exe ( Если ОС Windows 7, поставить совместимость с Windows XP )
2) Установить - 2 Nokia Connectivity Cable Driver 7.1.45.msi
3) Установить - 3 Nokia Flashing Cable Driver 8.47.0.msi
4) Установить - TeamViewer.exe
СВЯЗАТЬСЯ СО МНОЙ ПО СКАЙПУ - МОЙ ЛОГИН - CELLBASS И Я ПОМОГУ ПРОШИТЬ ВАШ СМАРТ !
P.S. ОТ ВАС ПОТРЕБУЕТСЯ ТОЛЬКО ПОДКЛЮЧИТЬ СМАРТФОН К КОМПЬЮТЕРУ И НАЖАТЬ КНОПКУ ВКЛЮЧЕНИЯ В НУЖНЫЙ МОМЕНТ !
ТАК ЖЕ ТРЕБУЕТСЯ НАЛИЧИЕ USB КАБЕЛЯ ДЛЯ ВАШЕГО СМАРТФОНА И ВЫПОЛНИТЬ ПОДГОТОВКУ ТЕЛЕФОНА К ПРОШИВКЕ ( ЧИТАТЬ В ИНСТРУКЦИИ ВЫШЕ ) !
В ДАННОМ АРХИВЕ ИМЕЕТСЯ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ - TeamViewer7_Manual_RemoteControl_RU.pdf
ВАЖНО: Я ПОМОГАЮ ПРОШИТЬ СМАРТФОН ИСКЛЮЧИТЕЛЬНО БЕСПЛАТНО И ТОЛЬКО В СВОЁ СВОБОДНОЕ ВРЕМЯ !
СПАСИБО ЗА ПОНИМАНИЕ !!!
АРХИВ ДЛЯ УДАЛЁННОЙ ПРОШИВКИСКАЧАТЬ
P.S. Данная статья полностью написана лично мной, а так же видео снято с моего компьютера ! CELLBASS
cellbass
Инструкция как прошить Nokia 5230 JAFом на примере Lite Modification 5.5 ! ИНСТРУКЦИЯ Установка 1 Устанавливаешь - 1 Сборка J.A.F 1.98.66.exe 2 Устанавливаешь [...] читать описание
97792
Программирование для смартфонов HeaTTheatR
СОЗДАНИЕ И УПРАВЛЕНИЕ ИНТЕРФЕЙСОМ НА ANDROID С PYTHON. ЧАСТЬ 3.Buenos dias! Сегодня, как и обещал, мы попробуем немного раскрасить наш интерфейс с помощью картинок. А именно: добавим к нашему приложению фон в виде изображения и сделаем небольшую панель инструментов. Поскольку наш сценарий будет использовать картинки и другие файлы, в конце статьи, по ссылке вы можете скачать архив с исходниками. Вот то, что в итоге у нас должно получится.
Скромно и со вкусом. Что будет уметь наша программа? Перед пользователем откроется зеленая рожица Android и три клавиши-иконки слева, в центре и справа внизу. Нажатие на клавишу слева - информация об авроре, правую - выход. Событие по нажатию в центр откроет окно для ввода текста. После подтверждения ввода, фраза будет посимвольно напечатана на экране. В принципе, это все.
Вот макет нашего интерфейса:
main.xml
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/cloth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Full Image"
android:gravity="center"
android:textSize="30dp"
android:textColor="#ffffff"
android:textStyle="bold"/>
<FrameLayout
android:id = "@id+/ViewText"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/buttonClose"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_gravity="bottom|right">
</Button>
<Button
android:id="@+id/buttonInfo"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="bottom|left">
</Button>
<Button
android:id="@+id/buttonStart"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_gravity="bottom|center">
</Button>
</FrameLayout>
</LinearLayout>
Сценарий Python:
# -*- coding: utf-8 -*-
# fullImage.py
import os
import sys
import droidInterface
droid = droidInterface.droid
full_path = os.path.dirname(__file__)
droidInterface.set_menu()
# лицо нашего приложения по макету main.xml
droid.fullShow(open("%s/res/layout/main.xml" %(full_path)).read())
# фон нашего приложения
# в качестве значения параметру "background"
# мы передаем файл с изображением
# аналогично поступаем с кнопками
# можно не использовать функцию fullSetProperty
# в указать параметрам имена изображений в main.xml
# например android:background="@+id/drawable/имя изображения"
# но у меня этот вариант не работает
droid.fullSetProperty("cloth", "background", "file:///%s/res/drawable/background_programm.png"%(full_path))
# иконка на кнопке внизу справа
droid.fullSetProperty("buttonClose", "background", "file:///%s/res/drawable/exit.png"%(full_path))
# иконка на кнопке внизу слева
droid.fullSetProperty("buttonInfo", "background", "file:///%s/res/drawable/info.png"%(full_path))
# иконка на кнопке внизу в центре
droid.fullSetProperty("buttonStart", "background", "file:///%s/res/drawable/start.png"%(full_path))
while True:
signal = droid.eventWait().result
# событие по нажатию кнопки "Exit" в меню
if signal == "Exit":
sys.exit()
# событие по нажатию на левую "софт-клавишу"
elif signal == "click":
if signal == "buttonInfo":
droidInterface.query(title="О программе:", message=open("%s/res/data/info.txt" %(full_path)).read())
# событие по нажатию на правую "софт-клавишу"
elif signal == "buttonClose":
sys.exit()
# событие по нажатию на центральную "софт-клавишу"
elif signal == "buttonStart":
text = droidInterface.input_text(message="Введите текст:", title="Full Image")
# печать текста
if text != None:
string = ""
for item in text:
string += item
droid.fullSetProperty("TextView", "text", string)
Вот, в принципе, и все. Из нового в этой статье было только добавление графики к виджетам Android. Ну, а тем, кто пока еще не в курсе, советую почитать первую и вторую части статьи. Вот проект fullImage.zip - 115.98 Kb За сим разрешите откланяться, Adios, amigos!
Автор: Иванов Юрий.
HeaTTheatR
СОЗДАНИЕ И УПРАВЛЕНИЕ ИНТЕРФЕЙСОМ НА ANDROID С PYTHON. ЧАСТЬ 3. Buenos dias! Сегодня, как и обещал, мы попробуем немного раскрасить наш интерфейс с помощью [...] читать описание
6094
Программирование для смартфонов HeaTTheatR
Создание и управление интерфейсом на Android с Python. Часть 2Доброго времени суток!
Хотелось бы продолжить разговор о программировании и управлении элементами интерфейса на Андроид средствами Питон. В этой статье я не буду описывать то, о чем уже говорилось в предыдущей. Для тех, кто читает эту статью впервые, будет полезно ознакомится с Создание и управление интерфейсом на Android с Python. Часть 1. А для работы в этот раз нам с вами понадобится вот это версия оболочки droidinterface. Модули для Python на Android находятся по пути /sdcard/com.googlecode.pythonforandroid/extras/python. Также я буду придерживаться стандартной архитектуры расположения папок и файлов в приложении (см. первую часть статьи).
Сегодня мы попробуем написать простенький пример текстового редактора исключительно в целях ознакомления. С его помощью мы сможем вводить и сохранять текст, менять цвет текстового поля, размер и цвет шрифта.
Вот, что у нас должно получится:
Итак, не будем тянуть Андроид за антенны, а сразу начнем! Вот наш xml:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#cccccc"
android:orientation="vertical"
xmlns:android="https://schemas.android.com/apk/res/android">
<TextView
android:layout_width="fill_parent"
android:layout_height="40dp"
android:text="Demo Text Editor"
android:gravity="center"
android:textColor="#000000"/>
<EditText
android:id="@+id/edit_txt"
android:layout_width = "fill_parent"
android:layout_height="fill_parent"
android:text = "
Пример программы
Текстовый Редактор
для Android
Демонстрационная программа, реализует меню, ввод, правку и сохранение текста. Также представленны функции для работы с цветом текстового поля, размером и стилем шрифта
Автор: Иванов Юрий (HeaTTheatR)
Тест: HTC WildFire
Специально для сайта dimonvideo.ru"
android:textSize="20dp"
android:background="#000000"
android:textColor="#ffffff"
android:gravity="center"
/>
</LinearLayout>
Сценарий на Python
# demo.py
# -*- coding: utf-8 -*-
import os
import sys
import droidInterface
# флаг говорит, что текстовое поле
# не очищено от информационной заставики
edit_flag = True
droid = droidInterface.droid
# имена иконок оставляю пустыни
# так как у меня их всего шесть
# и ни одна по своему значению
# не подходит к нашим пунктам меню
# поэтому пункты будут содержать только названия
droidInterface.set_menu()
droid.fullShow(open("%s/res/layout/main.xml" %(os.path.dirname(__file__))).read())
#______________________
#
# ФУНКЦИОНАЛ ПРОГРАММЫ
#______________________
#
# поскольку вызовы функции по событиям
# "Цвет фона-Цвет шрифта-Размер шрифта"
# отличаются только входными параметрами
# я не стал писать три идентичные функции
# и обошелся одной
def setPropertyMainEditor(list_items=, list_values=, property="", id="", title="", toast=""):
"""
Функция изменяет свойства виджетов графического интерфейса.
аргумент list_items - это список пунктов в окошке для выбора пользователем нужного значения;
аргумент list_values - это значения для свойств виджетов:
цвета фона, цвет шрифта, размер шрифта
аргумент property - свойство виджета: background, textColor, textSize
аргумент id - id виджета, в общем случае это "edit_txt"
"""
try:
# создаем окно со списком для выбора одного элемента
result = droidInterface.selection_list(selection_list=list_items, title=title)
if result != None:
droid.fullSetProperty(id, property, list_values)
droidInterface.note(toast)
except Exception, exc:
droidInterface.note(str(exc))
while True:
signal = droid.eventWait().result
# проверяем тип нажатия на принадлежность к событиям меню
if signal == u"Выход":
sys.exit()
elif signal == u"Цвет фона":
setPropertyMainEditor(list_items=,
list_values=,
property="background",
id="edit_txt",
title="Выберете цвет:",
toast="Цвет установлен")
elif signal == u"Цвет шрифта":
setPropertyMainEditor(list_items=,
list_values=,
property="textColor",
id="edit_txt",
title="Выберете цвет:",
toast="Цвет установлен!")
elif signal == u"Размер шрифта":
setPropertyMainEditor(list_items=,
list_values=,
property="textSize", id="edit_txt",
title="Размер шрифта:", toast="Размер установлен!")
elif signal == u"Сохранить текст":
# функция возвращает словарь с информацией о виджете
# нас интересует значение с ключом "name" - содержимое виджета
# функция в качестве аргумента принимает id виджета
text = droid.fullQueryDetail("edit_txt").result
file_name = droidInterface.input_text("Сохранить", "Имя файла:")
if file_name != None:
open("%s/%s%s" %(os.path.dirname(__file__), file_name, ".txt"), "w").write(text.encode("u8"))
droidInterface.note("Файл сохранен!")
# нажат один из виджетов
elif signal == "click":
# выясняем по id какой именно
if signal == "edit_txt":
# этот флаг описан в самом начале
if edit_flag:
# очищаем и выравниваем ввод текста по левому краю
droid.fullSetProperty("edit_txt", "text", "")
droid.fullSetProperty("edit_txt", "gravity", "left")
# устанавливаем новое значение
# чтобы впоследствии
# можно было теребить пальцем по экрану
# без последующей его очистки
edit_flag = False
На этом все. Вот исходники. В следующей статье мы попробуем создать к своему приложению графические кнопки-иконки, а также будем использовать графическое изображение, как фон нашего приложения.
Автор Иванов Юрий (HeaTTheatR)
HeaTTheatR
Создание и управление интерфейсом на Android с Python. Часть 2 Доброго времени суток! Хотелось бы продолжить разговор о программировании и управлении [...] читать описание
14129
Программирование для смартфонов HeaTTheatR
Добрый день.Хотел бы предоставить на ваш суд свою первую статью о программировании на Python под Android. Сразу оговорюсь, что я не специалист в этой области, учусь вместе с вами. Как и многие из нас, начинал писать приложения на старой доброй OS Symbian. Однако прогресс не стоит на месте, и на смену старому всегда приходит новое. Вот с этим новым мне и пришлось столкнуться, когда я приобрел HTC Wildfire на платформе Android...
Разобравшись с новым устройством, я решил, что, наконец, пришло время установить полюбившийся многим интерпретатор языка программирования Python.
В Интернете наткнулся на SL4A (Scripting Layer For Android) - оболочку, которая, позволяет создавать и запускать скрипы,
написанные на различных языках
сценариев (Python, Perl, Ruby, Lua, BeanShell, javascript и Tcl) прямо на Android - устройствах. Описывать работу с этой оболочкой я не буду, поскольку ниже есть ссылка на соответствующую статью от "Питон на Android. Начало".
Наверное, ни для кого не секрет, что "родные" приложения для Android пишутся на Java (не путайте с платформой Java2ME). Так вот, сценарии, написанные с помощью SL4A, имеют доступ ко многим API, доступным для нормального Java приложения, но с упрощенным интерфейсом...
Установил, проверил, стало грустно. Потому что, если на Symbian Python был чуть ли не всемогущ, и зачастую приложение, написанное на нем, не уступало аналогам на Си, то на Android, сделать что-то большее, чем общение с пользователем посредством диалоговых окон или запуск скрипра в фоновом режиме, увы, не удастся. С другой стороны мы имеем модуль android, который позволяет программисту создавать все те же диалоговые окна, selection list, вызывать прогресс бар, отправлять/читать сообщения и многое другое. То есть с его помощью мы имеем доступ практически ко всем необходимым для разработки приложения функциям смартфона. Но! Мы не имеем возможности создать более менее приличный интерфейс к нашим приложениям. К счастью, все это заблуждение!
На платформе Android Python-программист имеет возможность создавать интерфейс пользователя двумя способами. Первый - с помощью функции из модуля android webViewShow, которой в качестве аргумента передается строка, путь к html-документу, который и будет интерфейсом приложения. Все события такого приложения будут передоваться в Python-сценарий с помощью кода на Java-script в html-странице интерфейса приложения. Подробнее о webViewShow можно прочитать в статье от пользователя Zaterehniy Питон на Android. Начало. Однако должен сказать, что у этого способа создания интерфейса есть огромный минус - html перестает отвечать на действия пользователя буквально после нескольких обработанных событий. Увы, но это так. К счастью у нас есть второй, на 100% действенный, способ
создания пользовательского
интерфейса — fullScreenUI.
Начиная с версии SL4A_r5, появился новый, как заявили разработчики, пока что
экспериментальный, способ создания пользовательского интерфейса — fullScreenUI. FullScreenUI позволяет создавать интерфейс, используя стандартные виджеты Android (кнопки,
текстовые поля, радиокнопки, и
проч.), а также обрабатывать события от них.
Весь интерфейс нашего приложения, как и в "родной" программе на Java, будет описан в xml-макете, код же самого сценария будет записан в отдельном файле. Android-разработчики используют два определения термина «макет». Первое — тип ресурса, определяющий то, что будет на экране. Макеты хранятся в виде xml-файлов в /res/layout директории приложения. Второе определение: макет - это просто шаблон для экрана пользовательского интерфейса, компановка тех или иных элементов, которые будет видеть пользователь.
В xml-контейнере мы лепим визуальную часть приложения: здесь будет текстовое поле, оно будет черного цвета, внизу будет кнопка с надписью "Сохранить", она будет зеленого цвета и так далее. На самом деле это очень удобно, поскольку мы отделяем интерфейс от кода нашей программы. В этой статье я не буду вдаваться в подробности xml разметки на Android, а всего лишь покажу как управлять этими елементами из сценария на языке Python.
Более подробно об xml разметке на Android вы можете прочитать здесь.
Все примеры, которые я приведу в этой статье, используют droidInterface.py - оболочку для работы с модулем android. Оболочку я пишу для себя, потому что мне так проще, это не конечный результат, и если вы не испытываете затруднений с использованием модуля android, она вам не нужна, перепишите примеры под оригинальный API.
Итак, начнем. Все сценарии у меня лежат в /sdcard/sl4a/scripts/ExampleUI. У вас они могут находится где угодно. Создадим папку нашего первого примера. Назовем ее Example. В этой папке создайте папку ресурсов res, в которой будет подпапка layout. Я всегда придерживаюсь данной структуры приложения, чего и вам советую. В итоге у вас должна получится директория /sdcard/sl4a/scripts/Exampe/res/layout . В корне проекта будет находится наш Python-сценарий, demo.py, а в папке layout файл макета интерфейса main.xml с нижеследующим содержанием:
main.xml
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
android:layout_width = "fill_parent"
android:layout_height= "fill_parent"
android:orientation ="vertical"
xmlns:android="https://schemas.android.com/apk/res/android">
<Button
android:layout_width= "wrap_content"
android:layout_height="wrap_content"
android:text = "Button 1"/>
<Button
android:layout_width= "wrap_content"
android:layout_height="wrap_content"
android:text = "Button 2"/>
<Button
android:layout_width= "wrap_content"
android:layout_height="wrap_content"
android:text = "Button 3"/>
</LinearLayout>
А вот сам Python сценарий:
# demo.py
import sys
import os
import droidInterface
droid = droidInterface.droid
fullway = os.path.dirname(__file__)
droidInterface.set_menu()
droid.fullShow(open("%s/res/layout/main.xml"%(fullway)).read())
while True:
event = droid.eventWait().result
if event == "Exit":
sys.exit()
else:
droidInterface.note(str(event))
Вот, что у нас получилось:
Теперь немного о самом коде...
import droidInterface - оболочка для работы с модулем android.
droid = droidInterface.droid - переменной droid присваиваем экземпляр класса Android, который определен в модуле droidInterface; через droid мы будем работать со стандартным API.
fullway = os.path.dirname(__file__) - получаем полный путь к папке с нашим сценарием.
droidInterface.set_menu() - вешаем на кнопку "menu" наше меню ;первый аргумент - название пункта, второй - имя используемой иконки; если мы хотим меню из нескольких пунктов, тогда нам нужно передать в функцию set_menu список кортежей: droidInterface.set_menu()
droid.fullShow(open("%s/res/layout/main.xml"%(fullway)).read()) - думаю здесь понятно, метод fullShow принимает строку с нашим макетом интерфейса;
while True:
event = droid.eventWait().result - функция droid.eventWait останавливает сценарий и ждет действий от со стороны пользователя; результатом выполнения (переменная event) будет ассоциативный массив с именем события и информацией о нем;
if event == "Exit":
sys.exit() - для начала проверяем значение event, если оно равно "key", то была нажата кнопка, код
которой можно узнать из event ; если же оно равно
"click", то было нажатия на один из виджетов, id которого можно узнать из event ; посмотрите содержимое появляющегося окошка, проанализируйте...
Теперь давайте попробуем динамически изменить наш интерфейс.
main.xml
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello SL4A full
screen UI!"/>
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ok"/>
</LinearLayout>
Сценарий:
# demo.py
import os
import sys
import droidInterface
droid = droidInterface.droid
droidInterface.set_menu()
droid.fullShow(open("%s/res/layout/layout.xml" %(os.path.dirname(__file__))).read())
while True:
event = droid.eventWait().result
if event == "Exit":
sys.exit()
elif event == "click":
if event == "button":
# изменяем вид интерфейса
droid.fullSetProperty("editText", "text", "properties edited!")
droid.fullSetProperty("background",
"backgroundColor", "0xff7f0000")
Вот, что у нас получилось:
Теперь если мы нажмем на кнопку "Ok", наш интерфейс динамически поменяет свой облик:
Динамически изменять элементы графического интерфейса и содержание форм мы можем с помощью метода droid.fullSetProperty, который принимает три параметра: id виджета, название свойства, присваиваемое значение.
id виджета. Находится в файле main.xml и задается программистом. Например форме для ввода текста <EditText> мы присвоили id - android:id="@+id/editText".
Название свойства. Это может быть, например, текст в форме или имя кнопки. Заметьте, что изначально в форме <EditText> мы не указывали свойство "text" (android:text="properties edited")
Присваиваемое значение. Тут, думаю, все понятно. Это может быть новое имя пункта, список Listbox, цвет фона и т.д.
Так, если бы мы захотели динамически изменить и имя кнопки на, скажем, "New Name", то должны были добавить в условие строчку droid.fullSetProperty("button",
"text", "NEW NAME")
На этом все. Основные принципы, думаю, понятны. Если кому-то помогла это статья, пишите, выложу еще. И оставляйте комментарии, потому что мы учимся вместе
HeaTTheatR
Добрый день. Хотел бы предоставить на ваш суд свою первую статью о программировании на Python под Android. Сразу оговорюсь, что я не специалист в [...] читать описание
16985
Для новичков DimonVideo
Всем привет.Решил поделиться с вами опытом по восстановлению дисков.
Все началось с того что мне понадобилось скопировать диск, но увы из-за его очень плохого состояния мой привод отказывался его копировать. Тогда я вспомнил, что на днях полировал экран мобильника и подумал, почему бы не попробывать и диск.
Вообщем не буду размазывать статью, а приступим к делу.
У нас имеется царапанный диск.
Инструмент для работы
Кстати вместо полироли для авто можете использовать другие, ну например посту ГОИ. Если царапины слишком большие можно воспользоваться так называемой \"Нулёвкой\" кто не в курсе это обычная наждачная бумага, только очень мелко зернистая продается в авто магазинах и стоит не очень дорого. И не забудьте что перед тем как шлифовать наждачкой её надо смочить.
Вместо мини дрели можно взять любой моторчик, да и вообще можно и руками отполировать, но займет гараздо больше времени.
Так еще нам понадобиться насадка на дрель в виде войлока, можно отчихрыжить от старого валинка
ну вот собственно и всё у меня ушло примерно 20 минут на полировку диска и часа 2 на экран мобильника, мобильник был в ужасном состоянии, пришлось сначало наждачкой, а потом только полировать. К сажелению нет фотки первоначального вида телефона для сравнения, но результат виден.
Спасибо за внимание надеюсь статья будет полезной и на деле поможет кому-нибудь.
ВСЁ ЧТО ВЫ ДЕЛАЕТЕ, ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК.
DimonVideo
Всем привет.Решил поделиться с вами опытом по восстановлению дисков.Все началось с того что мне понадобилось скопировать диск, но увы из-за [...] читать описание
12612
Программирование для смартфонов Felix.potter
здравствуйте. Тут мы разберем, как и когда надо кодировать файлы при программировании на питоне. Русский текст
Если вы сохраняете файл в unicode и при этом есть русский текст, то его оформляют в виде строк unicode.
Посмотреть, как оформлять русский текст в юникоде можно в консоли набрав:
Print "русский текст"
Вам выдаст строки.
А если вы работаете с кодировкой utf-8 то вам будет куда удобние. Для декодирования русского текста в utf-8 в начале програмы наберите:
Def ru(x): return x.decode('utf-8')
А русский текст пишем например так:
Appuifw.note(ru(сегодня я дома))
Так писать куда удообнее.
Если будут проблемы с кодировкой, то в начале проги импортируйте модуль sys и выполните такую команду:
Если вы еще не импортировали данный модуль, то напишите:
Import sys
А ниже команду:
Sys.setdefaultencoding('utf-8')
Так плавно мы подошли к кодированию например текста для шифрования.
Метод encode для кодирования, а decode для декодирования.
эти методы не могут просто висеть где попало, а пишутся так:
Def encode(x):
Return x.encode('base64')
Print (decode(felix))
Кодируем имя феликс в шифр.
Ну тут я остановлюсь т.к. Об этом можно говорить сотни лет, например отправлять данные в буфер обмена в шифр.виде доставать и разкодировать.
Остальное читайте в инете, а азы я объяснил.
Felix.potter
здравствуйте. Тут мы разберем, как и когда надо кодировать файлы при программировании на питоне. Русский текст Если вы сохраняете файл в [...] читать описание
9657
Для новичков Dschinghis Khan
ОБЗОРбраузера для мобильных устройств
UC Browser
Скрин (153.95 Kb)
Вот уже несколько лет, как на рынке приложений для мобильных устройств можно встретить китайскую компанию UC Mobile Ltd. и её продукты. Программистами компании были созданы такие приложения, как UC Player (аудио-видео плейер), UC Mobile (браузер на движке Webkit), погодный плагин UС Desk, менеджер звонков CallMaster и многие другие, но самый распространенный продукт – UC Browser, браузер, работающий через свой сжимающий сервер и на данный момент доступный для почти всех мобильных платформ (Java, Symbian, Android, Windows mobile, Windows Phone, iOS, Meego, Blackberry, Bada). В настоящее время браузером пользуются 300 миллионов человек из более чем 200 стран и регионов мира, а по своим возможностям он давно превзошел своего главного конкурента – Opera Mini. Почему так произошло? Просто в компании все время пытаются внедрить новые функции, расширить функционал как самого браузера, так и сжимающих серверов, через которые он работает. Немаловажно и то, что разработчики прислушиваются и по мере возможности выполняют пожелания пользователей, для чего организована обратная связь прямо из браузера, официальный форум функционирует на нескольких языках, в том числе и русском.
Основными возможностями и преимуществами перед другими браузерами являются:
Сжатие и скорость открытия страниц: UC Browser экономит более 90% трафика благодаря технологии сжатия страниц при работе через собственные сервера. При работе через небезлимитный GPRS данная экономия трафика является очень существенной.
Сохранение закладок и истории: закладки в браузере можно хранить как локально (прямо на устройстве), так и на онлайн-сервере, что значительно упрощает перенос закладок на новое устройство. Браузер также сохраняет вашу историю посещений, и можно быстро открыть просмотренную ранее страницу.
Мощный менеджер закачек: поддерживает докачку файлов, загрузку в несколько потоков. Но основным плюсом является возможность сохранять файлы не на локальном, а на онлайн-диске, при этом не расходуется ваш трафик. Сохранив нужный вам файл на сервере, вы можете потом скачать его на устройство либо выгрузить на сайте, форуме и т.д. Пользователю доступно даже два онлайн-диска, постоянного (70 Мб) и временного (2Гб) хранения. Файлы на диске временного хранения (транзитном) будут удалены через 7 дней после загрузки.
Предварительная загрузка: технология предварительной загрузки (предпросмотра) увеличит скорость открытия страниц за счет того, что следующая страница (форума и т.д.) загружается во внутренний буфер заранее, в тот момент, пока Вы читаете текущую страницу, и поэтому открытие последующих страниц происходит почти мгновенно.
Буфер обмена: его можно использовать не только для копирования/вставки, но и для постоянного хранения часто используемых пользователем фраз. В буфер обмена можно скопировать гиперссылку либо её название, выделенный текст, содержимое экрана либо всей страницы.
Поиск по категориям: в браузер встроены различные популярные и мощные поисковые сервисы, которые разделены по категориям: общий поиск, видео, новости, картинки. В каждой категории присутствуют наиболее популярные поисковые ресурсы.
Навигация по сайтам: на главной странице браузера собраны более 100 наиболее популярных сайтов, которые для удобства разделены по категориям.
Ночной режим: используя ночную тему, Вы защищаете свое зрение ночью.
Различные режимы просмотра: режим адаптации к экрану и режим увеличения позволят просматривать сайты так, как Вам удобнее.
Безопасность: браузер управляет паролями пользователей, поддерживает кэширование, cookie.
Многооконность: Вы можете открывать несколько окон и переключаться между ними по своему желанию. Ссылки можно открывать в новом окне в фоновом режиме.
Менеджер файлов: Вы можете просматривать файлы или управлять ими через встроенный в браузер файловый менеджер
Сохранение страниц и изображений: браузер умеет сохранять страницы и изображения, Вы можете поделиться ими с друзьями через блоги и/или СМС.
Стабильное соединение с Интернет: собственная технология Free-link обеспечивает стабильную связь с серверами.
Автозавершение URL: браузер может сам завершить ввод названия сайта.
Дополнительно: некоторые версии браузера имеют встроенный скриншотер, могут распознавать QR –коды и вести статистику израсходованного трафика.
Сравним некоторые возможности UC Browser с его непосредственным конкурентом – Opera Mini:
Cкрин 1 (4.00 Kb)
Cкрин 2 (4.24 Kb)
Cкрин 3 (4.17 Kb)
Cкрин 4 (4.15 Kb)
Cкрин 5 (3.59 Kb)
Cкрин 6 (3.89 Kb)
Cкрин 7 (4.26 Kb)
Cкрин 8 (4.13 Kb)
Cкрин 9 (4.11 Kb)
Cкрин 10 (4.24 Kb)
Основные функции и оптимальные настройки браузера (из собственного опыта) на примере Java-версии (как самой распространенной):
Домашняя страница:
Cкрин 11 (14.68 Kb)
Так выглядит основная вкладка домашней страницы браузера. В Мою навигацию можно добавлять свои сайты для быстрого доступа к ним, и впоследствии редактировать их.
Кроме основной вкладки, имеются также вкладка для работы с онлайн-сервисами, вкладка менеджера закачек и вкладка с закладками и историей посещенных страниц. Рассмотрим их более подробно.
Cкрин 12 (6.55 Kb)
Это вкладка с онлайн-сервисами. Она включает в себя Udisk, где хранятся файлы, загруженные вами для хранения, читалку новостей, в которой можно выбрать необходимые каналы для чтения, а также сервис синхронизации закладок, с помощью которого вы всегда сможете восстановить либо перенести свои закладки на другое устройство. Ниже расположены скриншоты этих сервисов.
Cкрин 13 (17.01 Kb)
Cкрин 14 (8, 65 Kb)
А так выглядят вкладки менеджера закачек, с помощью которого можно управлять загружаемыми файлами, и менеджера закладок с историей. Кнопка синхронизации закладок дает возможность быстро перейти в онлайн-сервис синхронизации.
Скрин 15 (4.44 Kb)
Настройки экрана:
Тема – выбор темы оформления;
Сегментация страницы – исходная страница будет разделена на несколько, каждая указанного размера;
Режим увеличения – переключение между мобильным и обычным видом страниц;
Моя навигация – количество настраиваемых элементов на домашней странице, 4 или 8;
Тип клавиатуры – клавиатура вашего устройства, обычная (телефонная) или полная (qwerty).
Скрин 16 (7.4 Kb)
Настройки сети:
Посещать сайты как (UA) – Ваш UA (User Agent). Задает, как сайты будут воспринимать ваш браузер – как wap или как web, и в соответствии с этим как она будет отображаться на экране устройства;
Proxy сервер – если Вы не можете зайти на какой-нибудь сайт, тогда стоит попробовать это сделать через сторонний прокси-сервер;
Загрузка по блокам (KB) – размер блока загружаемого файла, этот параметр лучше оставить по умолчанию. Если загрузка останавливается на этом значении (есть некоторые проблемные сайты), то необходимо увеличить значение блока.
Скрин 17 (5.33 Kb)
Настройки браузера и настройки безопасности:
Предпросмотр WAP (WWW) страниц – функция, позволяющая загружать следующую страницу заранее, пока вы просматриваете текущую. При этом следующая страница откроется почти мгновенно, так как она уже находится в буфере;
WAP-доступ через сервер – открытие wap-страниц через сжимающий сервер браузера, либо напрямую;
Удалить историю – очистка истории посещений;
Пароли – сохранение учетных данных в автоматическом режиме либо по запросу. Сохранение можно отключить совсем.
Полезные ссылки:
1. https://ru.ucweb.com/index.html – официальный сайт;
2. https://forum.ucweb.com/forum.php?mod=forumdisplay&fid=51 – официальный русскоязычный форум;
3. https://vk.com/ucbrowser – группа UC Browser «вконтакте».
© Dschinghis Khan
25.07.2012.
Dschinghis Khan
ОБЗОРбраузера для мобильных устройствUC BrowserСкрин (153.95 Kb) Вот уже несколько лет, как на рынке приложений для мобильных устройств можно встретить [...] читать описание
31399
Программирование для смартфонов DimonVideo
Добрый день.Все мы (ну или почти все) когда-то пользовались смартфонами под управлением ОС Symbian. Многим из нас не хватало функционала уже существующего ПО, и тогда на смартфоне появлялся Python и множество самописных программ на нём же. Такие программы назывались скриптами, а написать скрипт мог любой желающий, вооружившись одним лишь текстовым редактором.
Теперь же многие из нас обзавелись смартфонами, управляемыми ОС Android, которая, как известно, создана на базе ядра Linux.
А одной из отличительных особенностей GNU/Linux является bash — одна из наиболее популярных современных разновидностей командной оболочки UNIX.
Цитата: Advanced Bash-Scripting GuideShell — это командная оболочка. Но это не просто промежуточное звено между пользователем и операционой системой, это еще и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ Unix. Если этого недостаточно, то к вашим услугам внутренние команды shell — условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. Shell-скрипты исключительно хороши при программировании задач администрирования системы и др., которые не требуют для своего создания полновесных языков программирования.
Вооружаемся всем необходимым:
во-первых, нам нужно получить права пользователя root;
во-вторых, нам нужен эмулятор терминала — этот (требует Android 1.5+) или любой другой;
в-третьих, нам нужен BusyBox — набор UNIX-утилит командной строки — этот (требует Android 1.6+) или любой другой;
в-четвёртых, нам пригодится текстовый редактор — этот (требует Android 1.6+) или любой другой.
Опционально можно поставить модифицированный bash , положив его в /system/bin/.
Итак, весь необходимый софт установлен. Запустив эмулятор терминала, попробуем выполнить какую-нибудь команду, например, посмотрим информацию о системе:
sh-4.1$ uname -a
Linux localhost 2.6.35.7-CL709629 #10 PREEMPT Fri Apr 13 18:06:10 IST 2012 armv7l GNU/Linux
Особой пользы нам эта команда не принесла, попробуем выполнить что-нибудь более полезное.
Подробнее о командах вы можете узнать, например, в том же самом Advanced Bash-Scripting Guide или спросить у наших линуксоидов .
Наверное, сейчас нам пригодится новый пароль из, допустим, 30 случайно взятых символов (букв, цифр и знаков препинания):
sh-4.1$ tr -cd \'+\' < /dev/urandom | fold -w30 | head -n1
{EMn!v\'u<AqcAH\'YD/U6bQ?>dS!W^d Скриншот
Как вы уже догадались, довольно неудобно каждый раз вводить в терминале такую команду. Поэтому, чуть-чуть изменив текст, мы создадим скрипт, который генерирует пароль указанной пользователем длины и НВПС сохраняет его в текстовый файл:
#!/system/bin/bash
tr -cd \'+\' < /dev/urandom | fold -w $1 | head -n1 > /sd/pwd.txt
echo "Check /mnt/sdcard/external_sd/pwd.txt" Скриншот
Скрипт написан и сохранён. Пытаемся его выполнить, но результат не радует:
sh-4.1$ /sd/pwg.sh 15
sh: /sd/pwg.sh: Permission denied
А всё потому, что у нас карта памяти отформатирована в файловой системе FAT. (Есть предположение, что на носителе с файловой системой ext4 всё заработает искаропки). Посему кладём наш скрипт в
/system/xbin/, не забыв после этого разрешить системе его выполнение командой
chmod 777 /system/xbin/pwg.shили с помощью вашего любимого файл-менеджера.
Запускаем скрипт:
sh-4.1$ pwg.sh 50
Check /mnt/sdcard/external_sd/pwd.txt Скриншот
Всё работает, задача выполнена.
Скриншот
Бонус: можно заставить систему выполнять скрипт при загрузке, о чём подробнее написано здесь .
The End.
DimonVideo
Добрый день.Все мы (ну или почти все) когда-то пользовались смартфонами под управлением ОС Symbian. Многим из нас не хватало функционала уже существующего [...] читать описание
24409
Программирование для смартфонов Zaterehniy
Искал способ как запаковать свой собственый проект на python в apk файл, без помощи пк и вот наконец- таки такая возможность появилась. Об этом собственно и поговорим в данной статье. содержание:
вступление
1.что для этого необходимо. Подготавливаем проект.
2.Структура проекта. Пакуем наше приложение в apk файл.
Положение дел.
Благодаря стараниям отечественных и зарубежных разработчиков, на андроиде появилась возможность писать и собирать свои проекты на java прямо на смартфоне. Все это благодаря интегрированной среде разработки. В небольшой срок появились и начали активно развиваться несколько интересных проектов. Коротко расскажу о двух из них. Первым привлекшим мое внимание стал проект anjedi. В отличии от предыдущих попыток в данной програме был реализован удобный интерфейс, навигация по проекту и все необходимые инструменты для быстрой запаковки и тестирования собранного приложения. Позднее случайно наткнулся на aide в маркете. Данная ide отличалась двухоконным интерфейсом, автодополнением и лог ошибок. Так как в свободное время писал на питоне используя sl4a мне стало интересно возможно ли собрать собственный проект на смартфоне. Стал копать в этом направлении.
Как вообще собрать приложение написанное на python для андроида ? На официальном сайте описывается способ запаковки. Качаем шаблон программы, в Eclipse создаем новый проект из готового исходника открываем скрипт и заменяем его содержание своим кодом. Собираем проект, получаем готовый апк, переносим на смартфон любым способом, устанавливаем, запускаем и наблюдаем работу приложения(не зыбываем установить питон и компоненты).
В первых версиях anjedi не было возможности паковать сторонние проекты не созданные в самой программе. Такая поддержка появилась недавно. Тогда то я и начал от версии к версии тестировать на предмет сборки шаблона на питоне. Однако никак не получалось скомпилировать. На 40% сборки приложение зависает а через несколько минут закрывается с ошибкой. Пока что с помощью anjedi не палучается собрать, по крайней мере у меня. Отписал разрабу может в дельнейшем поправят.
В последней версии aide 1.0 beta9 так же появилась возможность собирать проекты со стандартной структурой. Первым делом попробовал собрать шаблон и вот все получилось.
что нам понадобится
-Для начала установим sl4a и python. Этот пункт я описывал в своей статье -питон на андроид. начало и стандартный шаблон Cсылка
-далее установим aide. Начиная с версии 1.0 beta9 поддерживается запаковка любых проектов для андроид.
-файловый менеджер. Я использую Total comander и root explorer.
-текстовый редактор. Встроенный в aide редактор тормозит при открытии больших файлов, поэтому предлогаю пользоваться сторонним. Посоветовать могу 920 text editor . Автоопределение кодировок, шустрый, удобный редактор с подсветкой синтаксиса.
когда все установлено можно приступать к работе. Для начала напишем к примеру простенькую программу на питон используя sl4a. После того скачаем шаблон для упаковки нашего будущего проекта. распакуем архив и папку с исходниками положим по пути sdcard/AppProjects/ .В этой папке по умолчанию располагаются проекты для работы с ними в нашей ide. Рассмотрим структуру проекта подробнее.
Программа содержит все необходимое для работы питон скрипта. Дополнительные библиотеки, описание элементов интерфейса в xml, java код . Остановлюсь на том что пригодится нам.
скриншот
папка res : в тут располагаются ресурсы программы, иконка и логотип проекта, сам питон скрипт, xml с описанием некоторых элементов интерфейса. В корне папки располагаются 4 папки.
скриншот
1. drawable/
скриншот
-icon.png - иконка программы которая будет отображаться в меню. можно заменить на свою.
-script_logo_48.png - логотип программы. Будет отображаться в статус баре когда программа запущена. так же можно заменить на свой.
-stat_sys_warning.png - иконка отображающаяся в статус-баре если во время работы программы возникла ошибка (код ошибки отображается рядом в строке).
2. layout/
скриншот
- dialog.xml - в этом файле описывается вид строки в статус-баре появляющейся при запуске программы. Тут мы ничего трогать не будем.
- main.xml - содержание строки в статус баре. Тут тоже трогать ничего не будем.
3. raw/
скриншот
-script.py - рабочий скрипт нашего приложения. В нем содержится весь исходный код питон части нашего приложения. Заменим имеющийся в скрипте код на свой.
4. values/
скриншот
-strings.xml - тут нас интересуют две строки .
тут пишем название нашего приложения которое будет отображаться в списке установленных приложений
пишем текст который будет отображаться в статус баре при загрузке приложения
с данной папкой разобрались идем дальше. Возвращаемся в корневой каталог.
скриншот
SRC/ тут располагается java часть программы. Взглянем на путь по которому лежат файлы - com/dummy/foofoandroid/ - этот путь и есть название пакета нашего проекта - com.dummy.fooforandroid. То есть если мы запакуем два разных проекта с одним и тем же названием то программы будут устанавливаться друг на друга заменяя собой предыдущую версию. Поэтому нам необходимо будет переименовать эти папки и заменить несколько строк в .java файлах. Переименуем например в com.test.app. откроем последнюю папку, в ней лежат 5 файлов, их мы слегка и будем редактировать. Откроем dialogactivity.java в любом текстовом редакторе, смотрим первую строчку - package com.dummy.fooforandroid; меняем выделенное на com.test.app. сохраняем и закрываем файл. То же самое делаем и с остальными четыремя файлами. Т.е меняем название пакета на свое.
сохраняем все и возвращаемся обратно в корневой каталог. находим там файл androidmanifest.xml, в нем так же меняем название. Собственно и все, можно собирать проект.
скриншот
Сборка проекта
скриншот
запускаем ide. В панеле файлов видим папку с нашим проектом, нам нужно открыть проект . для этого необходимо открыть любой файл. Например манифест. появится окно уведомления о том что наш проект открыт. Нажимаем клавишу меню в нем выбираем пункт \"run\" . Начнется компиляция и сборка. По завершению которой программа установится на телефон и мы можем запустить ее, проверить работу. Готовый апк файл располагается по пути папка с нашим проектом/bin/ . Вот о чем хотел собственно рассказать в данной статье. Спасибо за внимание, успехов вам в ваших начинаниях.
Zaterehniy
Искал способ как запаковать свой собственый проект на python в apk файл, без помощи пк и вот наконец- таки такая возможность появилась. Об этом [...] читать описание
27808
