php做成app

随着移动互联网的不断发展,越来越多的网站开始考虑将其服务通过APP的形式推向用户。很多网站都采用hybrid开发模式,通过webview来嵌入网页,从而达到在移动端展示网站及其服务的目的。本文将介绍如何将网站转化为APP的过程,其中以PHP为例。

一、前置条件

在将网站转化为APP之前,需要准备以下工具和环境:

1. 一台开发计算机

2. 安装最新版的Android Studio

3. 一台Android手机或模拟器

4. Web服务器以及PHP环境

二、创建一个新项目

1. 打开Android Studio,选择"New Project";

2. 输入应用名称和包名;

3. 选择应用最低版本和目标版本;

4. 选择空白项目模板并继续;

5. 选择适合你的项目设置,并继续。

三、发起HTTP请求

要在APP中访问你的网站,需要使用Android提供的HTTP客户端。Android提供了两个主要的HTTP客户端:Apache HTTP Client和HttpURLConnection。我们可以使用其中任何一个,但Apache已经被宣布过时,所以我们将在此使用HttpURLConnection。

1. 为了在Android应用程序中使用HttpURLConnection客户端,在你的项目中添加标签允许应用程序使用网络;

2. 在MainActivity类中添加内部类,该内部类将执行HTTP请求并从取消结果中读取响应。具体实现代码如下:

```

class HttpRequestTask extends AsyncTask {

protected String doInBackground(Void... urls) {

try {

URL url = new URL("your_url_here");

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

InputStream is = urlConnection.getInputStream();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

String line ="";

StringBuilder sb = new StringBuilder();

while ((line = bufferedReader.readLine()) != null) {

sb.append(line);

}

bufferedReader.close();

return sb.toString();

} catch (Exception e) {

Log.e("ERROR", e.getMessage(), e);

return null;

}

}

protected void onPostExecute(String response) {

if(response == null) {

response = "THERE WAS AN ERROR";

}

Log.i("INFO", response);

}

}

```

四、启动PerformGetTask

在MainActivity.onCreate()方法中,启动PerformGetTask以执行HTTP请求。MainActivity.onCreate()是Android生命周期方法之一,当应用程序启动时自动调用。

```

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

new HttpRequestTask().execute();

}

```

五、显示结果

为了显示从网站返回的结果,我们可以创建一个TextView作为屏幕上的"Hello World",并将HttpRequestTask的执行结果作为其文本来设置。

```

class HttpRequestTask extends AsyncTask {

private TextView textView;

public HttpRequestTask(TextView textView) {

this.textView = textView;

}

protected String doInBackground(Void... urls) {

try {

URL url = new URL("your_url_here");

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

InputStream is = urlConnection.getInputStream();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

String line ="";

StringBuilder sb = new StringBuilder();

while ((line = bufferedReader.readLine()) != null) {

sb.append(line);

}

bufferedReader.close();

return sb.toString();

} catch (Exception e) {

Log.e("ERROR", e.getMessage(), e);

return null;

}

}

protected void onPostExecute(String response) {

if(response == null) {

response = "THERE WAS AN ERROR";

}

textView.setText(response);

}

}

```

六、在WebView中加载网站内容

目前你可以在APP中访问并显示网站的内容。但是,如果你要使APP看起来更像是网站的延续而不是单独的应用程序,可以使用WebView显示网站内容。

在activity_main.xml中添加WebView。

```

android:id="@+id/web_view"

android:layout_width="match_parent"

android:layout_height="match_parent" />

```

然后,在MainActivity的onCreate()方法中,在HttpRequestTask之后添加以下代码。

```

WebView browser = (WebView) findViewById(R.id.web_view);

browser.loadData(response, "text/html", null);

```

现在运行应用程序,它将在WebView中显示由网站返回的内容!

总结:

本文旨在介绍如何将你的网站转化为APP。我们了解了使用HttpRequestTask发起一个HTTP请求,使用WebView来显示网站内容。这里只是抛砖引玉。在实际开发中,需要更多地了解这些概念并将它们结合起来创造出高端的、更高效的APP。