0

我已经知道很多使用 Android java 的技巧,并且我有一个需要与 Web 应用程序同步的应用程序。它需要做的是连接到服务器并同步数据库并下载用户上传的jpg图片。Web 应用程序也应该适用于更多用户,每个用户都有自己的手机和 Android 应用程序,因此它应该可以通过登录名和密码访问。

我的问题是我对 Web 应用程序的经验为零。我只知道一点HTML。所以我的问题是,我应该如何开始?我使用什么语言?我的 Web 应用程序应该具备什么样的基本结构或原则?谢谢!

4

2 回答 2

1

我会推荐一个 PHP - MySQL 解决方案。PHP 和 MySQL 是开源的,我知道 Java 可以与那种数据库交互。两种语言都有很好的文档记录,PHP 与 Java 的相似之处在于它是基于 C 的,因此如果您对 Java 相当了解,那么 PHP 对您来说应该相对简单。我建议前往 Lynda.com 并搜索 Kevin Skoglund 的 PHP Essential Training。Lynda 是一个很棒的在线视频教程网站,您可以免费访问大量内容。但是,如果您真的想开发这个 Web 应用程序,我会进行投资(我曾经做过,我做过,我很高兴)。这就是我大部分时间学习 PHP / MySQL 的方式。

首先,要进行任何 PHP / MySQL 开发,您需要在您的计算机上安装服务器,例如 WAMP(Windows Apache MySQL PHP - 适用于 windows)、MAMP(Mac “” - 适用于 mac)或 LAMP(Linux " " - 对于 Linux),您将能够开始开发您的应用程序。这是您的“测试”服务器或“开发”服务器。例如,我使用 MAMP,因为我在 Mac 上。MAMP 和其他版本一样是免费的,但您可以付费升级。出于您的目的,请从免费版本开始。从本质上讲,*AMP 随附预先打包的 Apache 服务器软件、MySQL 数据库安装和 PHP 安装,并准备好以最少的配置运行。从那里,您可以开始编写 PHP 和 MySQL 并开始您的项目。

事实上,Lynda.com 上的标题 PHP Essential Training 将引导您完成我刚才所说的所有步骤,并且使用设置基本内容管理系统的练习项目,包括密码保护、用户登录和身份验证,以及您需要使用的所有基本 PHP 和 MySQL。说真的,看看 Lynda.com。

祝你好运!

于 2012-04-05T07:56:37.037 回答
0

这是一个非常开放的问题,您可能会得到大量不同的答案,但都不是完美的。但是,我会尝试做一个简单的回应。

拥有一台服务器并从中公开 Web 服务。此 Web 服务将处理数据的 CRUD(我假设您将使用数据库并且您有使用数据库的经验)。

Web 服务是一个很大的话题。如果您想要最简单的 Web 服务,并且您打算使用 PHP,我建议您使用带有 JSON 的 RESTful,因为它非常简单。

Web 应用程序应该在 Web 服务的同一个域/服务器中,至少在开始时(如果它增长,您可以更改此架构),因为这样您就不需要使用 JSONP,只需坚持标准 AJAX(我现在假设您不知道 JSONP 是什么,我建议您阅读:http ://remysharp.com/2007/10/08/what-is-jsonp/这只是我刚刚在 Google 上得到的第一个结果;)),它会更容易。

你说你有安卓的经验。我假设您知道如何使用 Java/Android 使用 Web 服务。如果您不这样做,这里有一个示例:http: //www.codeproject.com/Articles/267023/Send-and-receive-json-between-android-and-php

请注意那里的 PHP 代码很脏,但作为“如何”,我认为它看起来很棒。唯一需要注意的是:示例使用 HttpClient,而首选方法是使用 HttpURLConnection ( http://android-developers.blogspot.mx/2011/09/androids-http-clients.html )

话虽如此,PHP + MySQL 是标准的。在网络应用程序中,您应该使用 HTML。请不要使用 Flash 或 Java Applets(我在这里甚至提到 Java Applets 时都笑了笑)。对于 Web 服务和 HTML 客户端之间的所有通信目的,我建议使用带有 AJAX 的jQuery ( http://jquery.com/ )。

除非您希望其他网站能够使用您的 API,否则不要使用 JSONP API。

这只是一种使用您提供的少量信息创建的快速方法。您提供的信息越多(越清晰),就有可能出现更好的解决方案。

于 2012-04-05T07:48:08.943 回答