Program php on android

Как создать android приложение на php (+ html + js + css)

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

Прежде всего хочется обратиться к профессиональным разработчикам android-приложений и к людям не занимающимся вообще никакой разработкой.

Это НЕ статья о том как профессионально разрабатывать android приложения. Если вы не профессионал и ничего не знаете о профессиональной разработке android приложений, но хотите им стать, вам не надо это читать.

Если вы профессиональный разработчик android приложений, вы не найдёте здесь ничего интересного.

Приложение может стать вполне рабочим, например вот это в Google Play опубликовано без проблем. (Скачиваний маловато, но я не задавался целью раскрутить приложение, я создал его для своих нужд, а ссылка на маркете позволяет легко им делиться с друзьями).

Наверное, невозможно найти разработчика на PHP, который категорически не смог бы сверстать в HTML требуемый ему интерфейс, оживить его с помощью javascript и придать нужный ему вид с помощью css.

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

С другой стороны, когда нам нужен какой-то web-интерфейс для личного пользования, мы с лёгкостью его реализуем используя весь этот html/js/css так, как будто мы всю жизнь только фронтендом и занимались.

Читайте также:  Google apps api java

Думаю, ни для кого не секрет, что можно сделать android приложение c webView и поместить в него ваш HTML5 интерфейс, но как взаимодействовать с устройством?

Взаимодействие с устройством осуществляется добавлением программного интерфейса в виде объекта javascript. Вызывая методы этого объекта программист может из webView взаимодействовать например с файловой системой устройства, делать в принципе всё, что позволяют методы этого объекта, реализованные на языке Java.

Мне, как человеку много лет кодившим на php и иногда на javascript показалось очень удобным иметь в своём js коде объект с именем PHP и обеспечивающим как можно большее количество php функций, вызывая которые я мог бы например работать с файлами устройства, оперировать функцией date и другими.

Конечно, реализовать все PHP функции маловероятно, но мне это и не надо, буду добавлять по мере необходимости.

Сейчас реализованы вот такие функции ссылка на исходный код PHPInterface

Репозиторий на гитхаб в котором этот класс будет время от времени обновляться и совершенствоваться.

Как подтверждение, что это вполне жизнеспособная библиотека вот исходный код android приложения опубликованного на маркете.

Ниже описаны особенности реализованых методов (если метод работает полностью совместимо с стандартной функцийе php его нет в этой таблице).

Метод Особенности
file_get_contents На данным момент принимает только короткие имена файлов (например «file.txt» ). Созданный файл будет доступен только тому приложению, которое его создало. Планируется в дальнейшем поддержка полных имён файлов, например «/mnt/sdcard/app/data/file.txt» .
file_exists См. file_get_contents
file_put_contents См. file_get_contents . Также, надо иметь ввиду, что при использовании констант, например FILE_APPEND , нужно использовать PHPInterface.FILE_APPEND ;
str_replace( String search, String replace, String subject, boolean getCount) В отличии от оргигнальной php функции, если нам нужно количество замен, мы не передаём переменную по ссылке, а указываем вместо неё true. Тогда PHPInterface.STR_REPLACE_COUNT будет содержать количество замен после вызова метода.
in_array(needle, haystack) Пока работает только с массивами строк и целых чисел ( long и int )
strval Пока работает только с аргументами типа long и int
count Не работает с простыми типами java (такими как long и int ), только с теми, которые наследуются от Object

Список методов, реализванных на 2019-05-30

  • Методы PHPInterface
  • count
  • date
  • file_get_contents
  • file_exists
  • file_put_contents
  • in_array
  • intval
  • str_replace
  • strlen
  • strval
  • time

Примеры использования в java коде:

 public class MainActivity extends Activity < public PHPInterface PHP; public void foo() < PHP = new PHPInterface(this.getApplicationContext()); long currentTimestamp = PHP.time(); >> 

или, если нужен при работе приложения в фоне:

 public class ServiceDM extends Service < public PHPInterface PHP; public void foo() < PHP = new PHPInterface(this); long currentTimestamp = PHP.time(); >> 

Пример использования в javascript коде:

 //Практически в любом месте js загруженного в webView var currentTimestamp = PHP.time(); PHP.file_put_contents('time_of_start.txt', currentTimestamp); 

Источник

How to Use PHP for Android App Development

php for android

You might not hear or not that you can use PHP for your Android App Development. We can use PHP as the back-end for our Android Applications, and trust me they work flawlessly with each other. Any Android app that needs account log-in and registration can efficiently utilize PHP on its back-end.

Almost every Android applications need essential user data, for that they have to integrate log-in and registration options that provide user’s contact and other details to the back-end. So, let’s explore how you can use PHP on your backend of the Android Application.

Essentially we have to make a log-in and register interface for the android application so we will set up a local PHP server and MySQL database to build PHP Web Development.

PHP for Android

PHP is best known for its incredible and versatile use in Web Development but we can utilize it in many more ways. Today, We are going to use PHP in android app development and how will it going to benefit us. PHP’s best use in Android Applications is in the back-end and database. We are going to guide you through setting up a local server and MySQL Database that will help you in managing user registration and other details.

PHP for Android App Back-end

Let’s get into details about how to use PHP on the back-end of your Android Application. Follow our simple step-by-step guide to set PHP local server and MySQL database and connect them to the back-end of your Android application.

Login Registration Interface

Firstly, we are going to create a back-end web server for the android application. You can use any operating system and use XAMPP. It will help you set up a local Apache Web Server and MySQL database.

XAMPP Server Set-up

Installing XAMPP is pretty easy, just make it google, and then you can get a one-click installation file for any operating system from their website.

After successful installation, you can test it by running or calling http://localhost. It will open a new screen and check admin by http://localhost/phpmyadmin.

You can create a folder there like test and copy your files or test files and you can open them via http://localhost/test_android/test.php

Now, our local server is good to go and we need to set up the database and for PHP MySQL is the best.

Database Set-Up

To set up call phpMyAdmin by visiting http://localhost/phpmyadmin and selecting the database tab from the left top header.

Give it a name you like or your project name and create the database. It can be seen and accessed from the left slide bar. Now create a User table for your App.

Use the given codes to create and set the MySQL database.

Create DataBase

First, you have to create the database and it can be done via the above-mentioned method or you can simply run this code and it will create a database in a single click.

Create Table

After creating the database you have to create a user table which can be done by running this code.

Insert values to Tables

Tables are useless until they have some values in them. Use this code to add values to your user tables in your database.

Get & Post method

We can insert values by $_Get and $_Post commends.

 $username = $_GET['username']; $password = $_GET['password']; $result = mysqli_query($con,"SELECT Role FROM table1 where Username='$username' and Password='$password'"); $row = mysqli_fetch_array($result); $data = $row[0]; if($data) < echo $data; >mysqli_close($con); ?> 

This part is a bit tricky, We suggest you Hire PHP Developer to help you with this. They will make this technical part easier for you can go back to your android app development.

Connect PHP to MySQL database

To connect PHP to the database you will need to input three values which are Hostname, MySQL username, and password.

To check your connection run http://localhost/test_and/test-connect.php . it will give you an output, if not then restart the XAMPP.

Android Login & Registration

Now we successfully connected MySQL and backend; You will need to build a sign-in/login and registration interface.

Test some random users by entering random users to the tables to get the idea of our work and you are good to use this database and back-end made on PHP. All you need is to build the login and registration part on your android application. or you can Hire Mobile App Developers to get that done professionally.

Источник

Как запустить PHP-сервер на Android

В статье идет речь о полноценном Web-сервере, который можно очень быстро и гибко настроить под свои нужды. Такие вещи как Composer, .htaccess, php.ini будут работать.

1 Termux
2 Рабочее место
3 Настройка Apache2

приложение Termux с виртуальными кнопками

Начать разработку PHP- или Web-приложения легко.
Вам понадобится приложение Termux, скачать его можно из Play Store, а обсудить в топике форума
Запустите его и первым делом добавьте виртуальные функциональные кнопки (CTRL, ESC, стрелки) зажав кнопку громкости вверх и букву Q на клавиатуре.
Получится так:

Установите текстовый редактор nano , сервер apache2 , php и модуль Apache php-apache . Для потверждения может потребоваться ввести Y .
Для этого введите команду в Termux:

А так же разрешите приложению работать с памятью телефона.

Это папка в которой будут хранится логи, настройки и папка с сайтом.

Откройте память телефона, в Termux:

Создайте папку web — это будет корень всего, что связано с сервером. В корне создайте папки cfg — для настроек (php.ini например), log — для логов сервера и php, tmp — для временных файлов и root — файлы сайта.

Теперь через любой файлменеджер откройте папку web/root и создайте там index.php со следующим содержимым:

Для проверки достаточно, рабочее окружение создано.

Узнайте полный путь к папке web через ее свойства и запомните его. Везде, где увидите по тексту статьи надпись , заменяйте ее на значение пути. Например, у меня он /storage/emulated/0/web

Откройте папку настроек apache2 в Termux, чтобы настроить сервер:

Источник

Оцените статью