php - 适用于 Android、PHP 和 MySQL 的 REST API

标签 php android mysql json rest

我正在尝试使用 Android 应用程序与我的服务器进行通信。我用谷歌搜索了一下并了解了 REST API。我关注了文章http://www.androidhive.info/2014/01/how-to-create-rest-api-for-android-app-using-php-slim-and-mysql-day-12-2/ ,并编写了后端代码。

据我所知,我得到的只是后端代码,它管理来自用户的各种响应。早些时候,我所做的是像这样手动编码:

public function add_data()
    {
        // Adding data to the table using this controller.

        if ( isset($_POST['submit']))
        {
            if ( isset($_POST['heading']) && isset($_POST['content']) && isset($_POST['references']))
            {
                // echo "I am in post";
                if ( !empty($_POST['heading'] && !empty($_POST['content'] && !empty($_POST['references']))))
                {
                    $this->load->model('Admin_model');
                    $this->Admin_model->insert_data($_POST['heading'],$_POST['content'],$_POST['references']);
                    // echo "Data is inserted successfully.";
                }
            }   
        }

        $this->admin();
    }

上面的代码将数据添加到数据库。

现在,我想知道 REST API 编码与框架中的后端编码有何不同(例如 PHP 的代码点火器)?后端编码以 json 形式输出。

在 Android 应用程序中与服务器通信有哪些更好的方法?

请帮助我。

最佳答案

Codeigniter + REST

像 codeigniter 和 Restfull“后端”这样的框架并不相互排斥。事实上,您可以编写一个利用 CI 的 RESTful API。

CI的典型UI结构分割如下...

example.com/class/function/ID

没有理由不能使用此 std 结构来实现 RESTful API。尽管使用 CI 可能有点大材小用。

Example CI REST Implementation

(查看此网站上的自述文件。有一些很好的示例以及教程,可以帮助您了解如何继续前进)

就使用 RESTful API 与 Android 应用程序进行通信而言,这是一个不错的选择,因为这意味着您的应用程序不需要了解服务器底层技术,因此您可以在管理系统/代码方面获得一定的灵活性.

Android + 套接字

或者,您可以考虑使用其他协议(protocol),例如套接字。对于不同的语言和框架,有多种实现套接字的选项。

如果您采用这种方法,我建议放弃 PHP。

Android Docs

关于php - 适用于 Android、PHP 和 MySQL 的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619454/

相关文章:

php - 使用 PDO 和 oops 选择查询

php - 检索 S3 中仅根对象(文件夹)的列表 - aws sdk v3 php

php - Linux计划任务在Laravel中不起作用

php - 如何使用 Join 将最后插入的单列与子表中的多个值进行匹配

mysql错误选择输出

mysql - 通过父子关联将数据从一个表迁移到另一个表

php - CakePHP:带有 saveMany 的未知列

Android 应用程序首次启动需要更多时间甚至 30 秒或更长时间

android - 更改语言设置后 Android 应用中的空指针异常

android - 使用 getwindow() 调整背景