我最近开始研究需要访问服务器的 android 应用程序。所以我被告知 VPS 是我最好的选择,所以我去购买了 VPS。我已经设置了 VPS,所以现在它有一个数据库(MySQL)。
现在的问题是,我不完全确定从这里去哪里。我现在已经做了一些研究,但还没有找到任何东西。直接在 android 应用程序中,我一直在尝试做一些 jdbc 的东西或一些 jsch,但我在某处(我认为这里有评论)读到 android 不支持 jdbc?那么有哪些常见的架构或方法可以做到这一点?
我最近开始研究需要访问服务器的 android 应用程序。所以我被告知 VPS 是我最好的选择,所以我去购买了 VPS。我已经设置了 VPS,所以现在它有一个数据库(MySQL)。
现在的问题是,我不完全确定从这里去哪里。我现在已经做了一些研究,但还没有找到任何东西。直接在 android 应用程序中,我一直在尝试做一些 jdbc 的东西或一些 jsch,但我在某处(我认为这里有评论)读到 android 不支持 jdbc?那么有哪些常见的架构或方法可以做到这一点?
访问数据的最常见方式是将其作为 REST 服务进行访问。Android 对获取和解析 JSON 有很好的支持。您必须在 Android 应用程序上将所需的数据公开为 REST 服务,并使用 AndroidsHttpClient
库来访问它
要建立与服务器的连接,您需要在服务器端有一个脚本来接收输入连接并执行一些操作。所以第一步是编写一个简单的脚本(我建议使用 PHP)。
现在,您必须创建从 android 到所述服务器的连接。您可以使用 AsyncTask 或生成一个新线程来执行任何与网络相关的操作,因为没有网络操作可以在 UI 线程上运行。示例代码:
public class BackgroundTask extends AsyncTask<Void,Void,Void>{
@Override
protected Void doInBackground(Void... params) {
//perform network operation and return response
URL url = new URL("link.to.your.VPS.script");
//now make a connection
HttpUrlConnection conn = (HttpUrlConnection) url.openConnection();
//get response code
conn.getResponseCode();
return null;
}
@Override
protected void onPostExecute(Void v){
}
}
您可以通过以下方式从您的活动中运行此代码
new BackgroundTask().execute();
这只是一个开端。您可以通过将参数发布到您的 PHP 代码并将 PHP 代码连接到 MySql DB 来改进这一点
PS 一年前我在你的位置,因此我非常乐意提供帮助。但是下次您在 StackOverflow 上发帖时,请确保您的问题是具体的。