Архив рубрики: Android

Android с Ubuntu Touch на борту, двойная загрузка

Разработчик десктопной и карманной версии ОС Ubuntu, фирма Canonical сделала анонс предварительной версии системы с возможностью использования сразу двух мобильных ОС, Android и Ubuntu Touch. Система двойной загрузки позволяет мгновенно переключаться из среды одной системы в другую, что даёт больший простор, как для разработчиков, так и простым пользователям в будущем, ведь две системы дают в два раза больше возможностей. Это вроде одеяла с подогревом, как здесь — http://diag.com.ua/krasota-i-zdorovje/eljektrichjeskije-grjelki-eljektroodjejala/eljektroodjejala/

Переключение осуществляется по средствам приложений, написанных для Android и Ubuntu Touch. Поддерживаются как официальные прошивки Android, так и сборки от сторонних команд вроде CyanogenMod и AOSP. Решение пока не рассчитано на массового пользователя, а нацелено на разработчиков мобильных приложений. Установив Ubuntu Touch на телефон базирующийся на Android, он легко сможет переключаться на среду разработки в Ubuntu, не потеряв преимуществ Android для повседневного использования.

При двойной загрузке Ubuntu Touch устанавливается в сисемный раздел “/recovery” Android, предназначенный для восстановления операционной системы. Получается, что в режиме восстановления стартует Ubuntu Touch, а при обычном запуске Android. Образ Ubuntu Touch и системные данные хранятся в раздела ОС Android, в частности образ размещается в /data/system.img, пользовательская и системная информация в разделах /data/user-data пользовательские, /data/system-data системные соответственно. Установка, а также обновление ОС Ubuntu Touch происходит через приложение в Android.

Метод двойной загрузки прошёл тестирование на Nexus 4, и скорее всего должен работать и на других продуктах линейки Nexus.

Автор: Сергей Курган

Современное изобретение компании HTC смартфон HTS Desire 600 с двумя постоянно активными Sim — картами

Шаг в современность, можно будет сделать благодаря компании HTC и его новому изобретенному смартфону HTC Desire 600. Хотя, apache m76 тоже солидный аппарат. Новая модель смартфона имеет две Sim — кары, которые постоянно активны. Он имеет возможности интерфейса HTC Sense 5 – HTC BlinkFeed и HTC BoomSoud, а также четырехъядерный процессор. Эта модель смартфона позволяет в полной мере использовать OC Android Selly Bean, а также дополнительные возможности – в автоматическом режиме создавать видеоролики Video Highlights.

Смартфон, сделанный в современном времени имеет высокую скорость, позволяет просматривать интернет – страницы с быстротой ветра. Поскольку две Sim — карты постоянно активные – это дает возможность переходить из одного к другому мобильному аккаунту, без лишних проблем и задержек, а также переключатся между линиями во время разговора или принимать звонок по одной линии, разговаривая при этом по другой. Такие возможности смартфон имеет благодаря встроенной системе dual aktive.

Смартфон оснащен функцией HTC BlinkFeed, которая позволяет просматривать информацию в реальном времени, а экран, который имеет 4,5 дюйма, показывает новости и обновление социальных сетей, поэтому всегда есть, возможность находится, в центре всех событий. Эта модель смартфона позволяет делать в автоматическом режиме пара — секундные ролики высшего качества, не нуждаясь при этом в видеоредакторе ПО. Такая возможность предоставлена благодаря камере, которая имеет 8 – мегапиксель или 1,6 – мегапиксель, а также функции HTS Video Highlights. Выбирая разную музыку можно менять последовательность кадров в одно прикосновение.

Смартфон также имеет двойные динамики, которые размещаются на передней панели и имеют встроенные усилители. С помощью этих мощнейших динамиков звучание становится более чистым, насыщенным и приятным в прослушивании будь то музыкальный шедевр, видеоигра или просмотр фильма. С помощью новой модели смартфона станет возможным узнавать первые новости, не чувствуя никаких неудобств, использовать его вместо телевизора и электронного ящика, создавать библиотеки полные музыки и видеороликов, в полной мере участвовать в развлекательных играх.

Модель нового смартфона очень скоро можно встретить в продаже. О них можно спрашивать у мобильных операторов, в онлайн или в интернет магазинах

Автор: Сергей Курган

Износоустойчивые планшеты переходят на 7"Android

Компании, производящие износоустойчивые гаджеты, наконец-то обратили внимание на семи дюймовые таблеты.

По ожиданиям маркетологов, 7-ми и 8-ми дюймовые таблеты перевернут рынок износоустойчивых планшетов с ног на голову в следующем году.Так что некоторые компании,например тайваньская Getac и компания страны восходящего солнца — Panasonic начали осваивать этот рынок.

Давайте поговорим немного побольше о некоторых моделях вышеуказанных производителей. Getac продемонстрировала таблет Getac Z710 — устойчивое к падению с высоты до 6 футов устройство, работающее под управлением платформы Android 4.1, внутри — двухядерный процессор TI OMAP 4430 с частотой 1 гигагерц, 7-дюймовый емкостной поддерживающий работу в перчатках дисплей LumiBond и высокочувствительный GPS модуль. Длина гаджета — 21,8; ширина — 14,2; и, самый интригующий параметр: толщина — 2,7 см. Температуры, в которых возможна работа устройства от -20 до 50 градусов по Цельсию.

Теперь о потребителях. Данный гаджет рассчитан, прежде всего, на рынок коммунальных услуг, электроники автомобилей, ну и, конечно же, на обычных потребителей, которые боятся разбить свой дорогой таблет. Теперь ставим обои музыка на рабочий стол и ничего не страшась таскаем свой девайс с собой в любые экстремальные путешествия.

А panasonic, тем временем, тоже не дремлет. На данный момент этой компании принадлежит больше половины всех моделей удароустойчивых устройств. И она преподнесла семи дюймовый Toughpad JT-B. Этот планшет получил соответствие сертификату по стандарту MIL-STD-810G в США.

Автор: Сергей Курган

Запуск NettyJava на android эмуляторе

Сегодня 09.05.2012.
Сегодня произошла большая радость. Мне удалось откомпилировать и запустить мой тестовый консольный клиент, написанный на Netty, на android-эмуляторе!

Суть решения:
1. Создать в проекте папку «libs» и положить в неё netty.jar (ADT автоматически подгружает папку с таким именем)
2. Добавить программе разрешение на выход в интернет. В файле AndroidManifest.xml добавить запись

Просто рассказ:
Вчера я довёл до некоторого стабильного состояния классы Client и Server, основанные на NettyJava.
А сегодня утром написал короткое консольное приложение, которое может запускаться как сервер и клиент и цепляется к порту моего компьютера.
После отладки работы клиента и сервера под управлением JVM в Windows, я приступил к созданию тестового консольного приложения для Android.
Я думал, что меня встретят трудности, когда я попытаюсь использовать Client класс в android-приложении.

Так и произошло. Но на мою радость, я нашёл решение в google за один вечер.

Суть проблемы была в том, что хотя Eclipse и добавил JAR файл в текущий android-проект, но при запуске проекта на эмуляторе — библиотеку netty.jar не попадала на андроид.

Ответ оказался простым, во что я и верил, ADT плагин Eclipse не подгружал мой netty.jar.
Оказалось, что ADT подгружает внешние *.jar библиотеки только из папки «libs».
Я создал эту папку в своём проеке, поместил туда netty.jar и…
Мой клиент написанный на Netty заработал на Android эмуляторе!

Ниже пример клиент-серверной программы. (В данном состоянии пример не будет запускаться, т.к. здесь не хватает реализации классов Client и Server).

/**
* Пример клиент-серверной программы, написанной на NettyJava.

* Запуск сервера:

*
java -jar server.jar

* Запуск клиента: *

java -jar server.jar client

* На стороне клиента пишем сообщения и они отправляются на сервер в * пакете {@link Packet1Ping}. Сервер выводит пришедшие пакеты в стандартный поток * вывода. * * Клиент и сервер заточены для запуска с одного компьютера. * Сервер и клиент работают с localhost:8080 * @author Galiego710 * */ public class Main { public static final void out(String str) { System.out.println(str); } /** * @param args */ public static void main(String[] args) throws IOException { out("Program is started."); out("Print 'quit' or 'exit' to exit."); // запустить как клиент или сервер if ( (args.length > 0) && (args[0].equals("client"))) { ClientProgram(); } else { ServerProgram(); } out("Program is ended."); System.exit(0); } /** * Серверная часть * @throws IOException */ public static void ServerProgram() throws IOException { out("Mode: Server"); final Server server = new Server("MainServer", new InetSocketAddress("localhost",8080)); // Устанвить хук на завершение программы Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { // отключить сервер server.stop(); out("ShutdownHook done."); } }); // Установить слушателя серверу server.setListener(new ConnectorListener() { @Override public void connectionOpen(ConnectorHandler handler) { out("+++ SERVER: Client connected."); } @Override public void packetReceived(ConnectorHandler handler, Packet packet) { out("+++ SERVER: received " + packet); } }); // Запуск сервера if(!server.start()) { System.err.println("Server can't started!"); } else { System.out.println("Server is started"); } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // Обрабатывать ввод с клавиатуры String str; do { System.out.print("Enter: "); str = br.readLine(); out("str=" + str); } while (!(str.equals("quit") || str.equals("exit"))); } /** * Клиентская часть * @throws IOException */ public static void ClientProgram() throws IOException { out("Mode: Client"); final Client client = new Client("user","pass", new InetSocketAddress("localhost",8080)); // Установить хук на закрытие программы Runtime.getRuntime().addShutdownHook(new Thread() { public void run() {
// потушить сервер client.stop(); out("ShutdownHook done."); } }); // Запустить клиента if(!client.start()) { System.err.println("Client can't started!"); } else { System.out.println("Client is started"); } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // Обрабатывать ввода с клавиатуры String str; do { System.out.print("Enter: "); str = br.readLine(); out("str=" + str); // отправить пакет client.sendPacket(new Packet1Ping(str)); } while (!(str.equals("quit") || str.equals("exit"))); } }
Смотрите также: NettyJava — асинхронный событийно ориентированный сетевой фреймворк

Автор: galiego710