- Creating a local HTTP server on android
- Простой клиент-сервер на Android (интернет-мессенджер)
- Делаем сервер
- Клиентская часть
- Connect Android App to Localhost Web Server Over Wi-Fi
- Connect Android App – is Local Server ready?
- Connect Android App to Localhost Over Wi-Fi
- Set up IP Pool Range in VDSL for Lasting Server Address
- Assign Fixed IP to Your Local Server and Access it in Mobile
- MnogoBlog
- как создать сайт на wordpress, настроить и оптимизировать wordpress
- Локальный сервер на Андроид (localhost android) и приложения для вебмастера на Андроид
- Похожие записи:
- Локальный сервер на Андроид (localhost android) и приложения для вебмастера на Андроид : 1 комментарий
- Добавить комментарий Отменить ответ
Creating a local HTTP server on android
Some month back, I was trying to implement an app feature that allowed users to communicate(send texts and files) via a local HTTP connection, more like the way Xender works.
I searched for a lot of ways to do this, I found a few libraries but they didn’t offer the speed and simplicity I was looking for.
Eventually, after days of trying different libraries, I found Sun’s HttpServer.
This tutorial assumes you have basic knowledge of Kotlin and android development.
Let’s get started!!
The sun packages are not available on gradle so you’d have to include them in your project’s lib folder.
You can download the two jar files here . (Courtesy of @Oluwalekae)
Copy and paste the files as shown in this picture 👈
In your MainActivity.kt
- create a function to format our client’s inputStream to a string.
2. Declare a variable mHttpServer, data type HttpServer, which will be the instance of our server.
3. Create a method startServer, this is where we would start our server.
4. variable ‘rootHandler’ is an HttpHandler instance used to handle a request to the root path.
You can create as many handlers as you want based on the number of endpoints you want to have.
The mHttpServer.createContext() method allows us assign handlers to endpoints/routes.
We can add a messageHandler, in the end, our MainActivity.kt would look like this.
You can do most operations that you’d normally do on any http server, like Setting headers, handling file uploads, etc.
You can access the server from:
1. your browser from your phone’s browser using “http://127.0.0.1:5000”
2. or another device connected to your phone’s hotspot using “http://192.168.43.1:5000”
because is 5000 is our port number from the code.
Sun httpServer is the fastest server library you can get, trust me.
You can read more about the HttpServer here, and here.
Источник
Простой клиент-сервер на Android (интернет-мессенджер)
Важно. Все написанное ниже не представляет собой какой либо ценности для профессионалов, но может служит полезным примером для начинающих Android разработчиков! В коде старался все действия комментировать и логировать.
Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.
Уделим внимание каждому элементу и отметим:
- сервер — представляет собой некую программу, работающую на удаленном компьютере, и реализующую функционал «общения» с приложениями-клиентами (слушает запросы, распознает переданные параметры и значения, корректно отвечает на них);
- клиент — в нашем случае, программа на мобильном устройстве, которая умеет формировать понятный серверу запрос и читать полученный ответ;
- интерфейс взаимодействия — некий формат и способ передачи/получения запросов/ответов обеими сторонами.
Неважно, как реализован любой из этих элементов, все они в любом случае присутствуют. Давайте реализуем примитивный сервер и Android клиент, работающий с ним. Как пример, будем использовать любой популярный мобильный интернет-мессенджер (Viber, ICQ), а приложение условно назовем «интернет-чат».
Схема взаимодействия следующая:
Клиент, установленный на устройстве А, посылает сообщение для клиента, установленного на устройстве Б. И наоборот. Сервер играет роль связующего звена между устройством А и Б… С, Д… и т.д. Также он играет роль «накопителя» сообщений, для их восстановления, на случай удаления на одном из клиентских устройств.
Для хранения сообщений используем SQL БД как на сервере, так и на устройствах-клиентах (в принципе, вся работа клиентов интернет-мессенджеров и сводится к постоянной синхронизации локальной и удаленной БД с сообщениями). Дополнительно, наш интернет-чат будет уметь стартовать вместе с запуском устройства и работать в фоне. Взаимодействие будет происходить путем HTTP запросов и JSON ответов.
Более логично, если синхронизация происходит через порт/сокет, это с одной стороны упрощает задачу (не нужно циклично слать HTTP запросы на проверку новых сообщений, достаточно проверять состояние прослушиваемого сокета), но с другой стороны, это усложняет создание серверной части приложения.
Делаем сервер
Для реализации «сервера», нам нужно зарегистрироваться на любом хостинге, который дает возможность работы с SQL и PHP.
Создаем пустую SQL БД, в ней создаем таблицу.
- author — автор сообщения;
- client — получатель сообщения;
- data — время и дата получения сообщения на сервере;
- text — сообщение.
В двух следующих файлах необходимо изменить переменные, содержащие данные для доступа к БД, на свои, полученные Вами при регистрации Вашего«сервера».
Структура запросов к api:
- обязательный атрибут action — может быть равен select (сервер ответит списком записей из своей БД), insert (сервер добавить новую запись в свою БД), delete (сервер очистит свою БД)
- если action=insert, нам нужно будет передать дополнительные параметры: author (кто написал сообщение), client (кому адресовано сообщение), text (сообщение)
- action=select может содержать дополнительный параметр data, в этом случае ответ сервера содержит не все сообщения из БД, а только те, у которых время создания позднее переданного
Примеры:
- chat.php?action=delete – удалит все записи на сервере
- chat.php?action=insert&author=Jon&client=Smith&text=Hello — добавит на сервере новую запись: автор Jon, получатель Smith, содержание Hello
- chat.php?action=select&data=151351333 — вернет все записи, полученные после переданного времени в long формате
Клиентская часть
Теперь структура Android приложения:
В фоне работает FoneService.java, который, в отдельном потоке, каждые 15 секунд делает запрос на сервер. Если ответ сервера содержит новые сообщения, FoneService.java записывает их в локальную БД и отправляет сообщение ChatActivity.java о необходимости обновить ListView, с сообщениями. ChatActivity.java (если она в этот момент открыта) получает сообщение и обновляет содержимое ListView из локальной БД.
Отправка нового сообщения из ChatActivity.java происходит сразу на сервер, минуя FoneService.java. При этом наше сообщение НЕ записывается в локальную БД! Там оно появится только после получения его назад в виде ответа сервера. Такую реализацию я использовал в связи с важным нюансом работы любого интернет-чата — обязательной группировкой сообщений по времени. Если не использовать группировку по времени, будет нарушена последовательность сообщений. Учитывая, что клиентские приложения просто физически не могут быть синхронизированы с точностью до миллисекунд, а возможно будут работать даже в разных часовых поясах, логичнее всего будет использовать время сервера. Так мы и делаем.
Создавая новое сообщение, мы передаем запросом на сервер: имя автора сообщения, имя получателя сообщения, текст сообщения. Получая эту запись назад, в виде ответа сервера, мы получаем то, что отправляли + четвертый параметр: время получения сообщения сервером.
Источник
Connect Android App to Localhost Web Server Over Wi-Fi
DISCLOSURE: This article may contain affiliate links and any sales made through such links will reward us a small commission, at no extra cost for you. Read more about Affiliate Disclosure here.
Connect android app to localhost over Wi-Fi and it gives a lot of flexibility to develop, run and test the app. My scenario was that I had created an android app which had a need to access my local web server (XAMPP) for faster testing and the application was running on the device as well as an emulator.
You might be using either PHP + MySQL or C# + MSSQL on Apache/IIS Server respectively. And you need to code and test your app before moving them to production. You can access or connect the android app to the local web server over Wi-Fi, without the need of internet connection. It saves you from waiting for the response from a remote host or your live server.
Check some excellent articles for easier PHP development.
Connect Android App – is Local Server ready?
I believe that you have already set up your localhost and files to serve the request being received from the device. Ensure that your local server is accessible (type http://localhost/ in your PC’s browser and get a response).
Just FYI, the article is intended to answer the following similar questions as well:
- Test local website on a mobile device
- Run android app against a localhost API
- How to access localhost from a mobile browser
- How to access localhost from Android over Wi-Fi
- Connecting android app to your WAMP/XAMPP server
- Connecting to localhost web server from android application
Connect Android App to Localhost Over Wi-Fi
Simply typing localhost or http://127.0.0.1 in your app code won’t work. You need to obtain the IPv4 address of your PC/server. If you’re using Windows PC, you can follow these steps to find the IPv4 address:
- On Start menu, type cmd to open Command Prompt.
- Run ipconfig command there.
- You will get the IPv4 address as highlighted in the image below.
As you can see my IPv4 address is 192.168.1.110. However, you might be worrying, do each time I need to check IP? No, absolutely not. Let me share you three facts.
- Generally, it’s needed to check only when your router gets reset.
- In my case, I had set IP address pool range in my VDSL modem and I’m getting the same address for my local server since years regardless of PC/router restart. I have mentioned how I did it to connect the android app to localhost running on my computer.
- The third is, routers/modems give you the option to reserve the IPv4 address for the specific device and you can assign fixed IP to your local server.
So fix once and always use that IP to access localhost from a mobile browser as well as your app.
Set up IP Pool Range in VDSL for Lasting Server Address
This step is optional and based on my personal experience. You generally don’t need it. Try only if your IPv4 address varies too much. Also, note that these are general instructions only and might vary from router to router.
- In your PC/laptop access http://192.168.1.1 and enter adequate credentials.
- You will have your router configuration page.
- Find the DHCP Server Settings page there.
On this page, set IP Pool Range and save changes. An IP Pool Range is a set of IP address range used by your router/modem to assign IPs to connected wired or wireless devices. Finally, don’t forget to restart the local server to take effect.
This page also shows you the list of connected devices along with their Mac Address. We will use it if this pool range setting doesn’t work for you.
Assign Fixed IP to Your Local Server and Access it in Mobile
Lastly, you can assign a permanent IP address to your local web server if above is not sufficient. Find DHCP Reserved or DHCP Static IP Configuration page in router configuration pages. You need to have Mac Address of localhost PC. Also, there is plenty of information available on the internet to find Mac Address of a device.
Give one desired IP address from range 192.168.1.2 to 192.168.1.255 (192.168.1.1 is normally the address of the router itself). Specify Mac Address (without colons if instructed) of local web server machine and save it. Restart your machine; confirm address using ipconfig command and you’re done.
Источник
MnogoBlog
как создать сайт на wordpress, настроить и оптимизировать wordpress
Локальный сервер на Андроид (localhost android) и приложения для вебмастера на Андроид
Здравствуйте, сегодня разберемся как сделать локальный сервер для Андроида, установим на него wordpress и рассмотрим также полезные приложения для вебмастера на Андроид платформе.
Скачать исходники для статьи можно ниже
Когда у вас нет доступа к компьютеру, ноутбуку – например: на работе, во время поездки – но есть смартфон, планшет с операционной системой Андроид – то можно установить на него локальный сервер, а после и wordpress.
Локальный сервер можно установить с помощью следующего Андроид приложения:
AndroPHP
На Play Маркет можно скачать здесь:
“play.google.com/store/apps/details?id=com.ayansoft.androphp”
После установки данного приложения у вас появиться папочка “www”.
Открываем встроенное приложение – “Диспетчер файлов” и заходим в папочку “www” – она пуста.
Заходим в приложение AndroPHP:
Переводим рычажок в положение ON (как на картинке выше).
Далее здесь же нам даны 2 ссылки, в примере (у вас могут быть другие):
http://176.227.24.230 – это сам сайт.
http://176.227.24.230/phpmyadmin – для создания Базы Данных сайта.
Далее приступим к установке wordpress на локальный сервер для Андроид:
1. Скачиваем wordpress с официального сайта – “ru.wordpress.org” – скачиваем zip архив с движком wordpress:
2. Далее нам нужно разархивировать zip архив – для этого устанавливаем андроид приложение – RAR или 7Zipper (скачать их можно с Play Маркет или с Яндекс.Store – более подробно в конце статьи).
После разархивации у вас получиться папочка – “wordpress-4.0-ru_RU”, открываем ее в ней еще одна папочка “wordpress” – все содержимое данной папочки копируем и переносим в папочку “www” – вот как она должна выглядеть в итоге:
Далее заходим на сайт, в данном примере:
“http://176.227.24.230” – у вас должна высветиться страничка с подготовкой к установке wordpress.
3. Создаем Базу Данных wordpress и имя пользователя:
Для этого переходим по второй ссылке, в данном примере – “http://176.227.24.230/phpmyadmin”
Здесь Username вводим root, а password – оставляем пустым.
Далее Жмем вкладку сверху “Databases” и создаем новую Базу Данных, незабываем выбрать кодировку utf8_general_ci:
После создаем пользователя Базы данных – верхняя вкладка “More” и ее подвкладка “Privileges” – здесь нажимаем ссылку “Add user”:
Для примера, можно создать пользователя:
4. Далее возвращаемся на адрес, в нашем примере: “http://176.227.24.230” – и устанавливаем wordpress, вводя созданную нами Базу Данных и пользователя базой данных.
Полезные программы для вебмастера на платформе Андроид:
1. WebMasterLite (Редактор Вебмастера Lite)
Удобный HTML редактор.
2. Архиваторы: RAR или 7Zipper
Для работы с архивами zip и rar – разархивация/архивация.
На Play Маркет скачать можно здесь:
“play.google.com/store/apps/details?id=com.rarlab.rar”
Можно скачать как с Play Маркет, так и с Яндекс.Store.
3. Total Commander
Удобный файловый менеджер и FTP клиент.
Есть как на Play Маркет, так и на Яндекс.Store.
Похожие записи:
Локальный сервер на Андроид (localhost android) и приложения для вебмастера на Андроид : 1 комментарий
Спасибо за приложение! В русскоязычном интернете про AndroPHP ничего не нашёл, всё просто.
Замечу, что AndroidPHP на play.google.com отсутствует, нашёл на инглоязычных сайтах. А так пробовал из play market разные, но ума дать не смог ( конкретно под worpress настроить), хотя опыт есть. Так что спасибо.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник