免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

如何把手机网页做得像app

现在越来越多的网站都有了自己的移动端网页,但是将网页转化为app依然是许多企业和互联网人士所感兴趣的话题。因为在手机应用市场推出一款app需要受到审核等限制,而将网页转化为app可以在一定程度上避免这些限制。思路上,将网页转化为app有两种方法:一种是把网页嵌入到app里面,另一种是使用Webview方式打开网页。本文将详细介绍如何将网页转化为app。

一、嵌入方式

这种方式的优点是轻量且开发成本低,这种方式打开网页的效果和手机应用市场中的app效果类似。不过由于使用的是webview打开页面,所以加载速度和用户体验方面可能略逊于纯原生app。以下是具体实现方法:

1. 打开Android Studio,选择新建一个Project,选择Empty Activity项目,项目名称随意,记住包名和项目路径,这两个后面会需要用到。

2. 在res文件夹下建立一个xml文件夹和values文件夹,分别用于保存布局文件和字符串资源文件。

3. 在xml文件夹下新建一个activity_main.xml文件,这个文件用于设定app的界面布局,可以选择使用LinearLayout、RelativeLayout或GridLayout等方式布局,这里我们用LinearLayout为例。

```

android:orientation="vertical" android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/webView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"/>

android:id="@+id/progressBar"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:max="100"

android:layout_weight="0"/>

```

4. 在values文件夹下新建一个strings.xml文件,这个文件用于保存app中用到的各种字符串资源,包括app名称、网址等。

```

WebApp

https://www.example.com/

```

5. 打开MainActivity.java文件,设定加载网页的Webview,并设定进度条等。

```

public class MainActivity extends AppCompatActivity {

private WebView mWebView;

private ProgressBar mProgressBar;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webView);

mProgressBar = (ProgressBar) findViewById(R.id.progressBar);

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.getSettings().setSupportZoom(true);

mWebView.getSettings().setUseWideViewPort(true);

mWebView.getSettings().setLoadWithOverviewMode(true);

mWebView.setInitialScale(100);

mWebView.setWebViewClient(new MyWebViewClient());

mWebView.setWebChromeClient(new MyWebChromeClient());

mWebView.loadUrl(getString(R.string.web_url));

}

private class MyWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

}

private class MyWebChromeClient extends WebChromeClient {

@Override

public void onProgressChanged(WebView view, int newProgress) {

mProgressBar.setProgress(newProgress);

if (newProgress >= 100) {

mProgressBar.setVisibility(View.GONE);

} else {

mProgressBar.setVisibility(View.VISIBLE);

}

}

}

}

```

6. 以上就是把网页嵌入app的步骤了。最后,使用Android Studio把项目打包生成apk,就可以在手机上使用此app了。

二、Webview方式

此方式使用的相对较多,主要是因为它具有快速的开发速度并且能够多次迭代升级,但有时候需要进行深度定制。本文以Android为例,以下是具体实现方式:

1. 新建一个Activity、布局文件和Activity对应的Java类(例如MainActivity)。

2. 在activity_main.xml布局文件中加入如下代码:

```

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/webview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

```

3. 在MainActivity类中加入如下代码:

```

public class MainActivity extends AppCompatActivity {

private static final String APP_CACHE_DIRNAME = "/webcache"; // web缓存目录

private WebView mWebView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webview);

WebSettings webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

webSettings.setAllowFileAccess(true);

webSettings.setAppCacheEnabled(true);

String appCacheDir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath() + APP_CACHE_DIRNAME;

webSettings.setAppCachePath(appCacheDir);

webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); // 设置缓存模式

webSettings.setDatabaseEnabled(true);

webSettings.setDomStorageEnabled(true);

webSettings.setGeolocationEnabled(true);

webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);

webSettings.setUserAgentString(webSettings.getUserAgentString() + " android_app");

webSettings.setUseWideViewPort(true);

webSettings.setLoadWithOverviewMode(true);

mWebView.setWebChromeClient(new WebChromeClient()); // 必须

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

});

mWebView.loadUrl("https://www.example.com"); // 加载你的网页

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK

&& mWebView.canGoBack()

&& !mWebView.getUrl().equals("https://www.example.com")) {

mWebView.goBack(); // 后退操作

return true;

}

return super.onKeyDown(keyCode, event);

}

}

```

以上就是两种网页转换为app的方式,二者各有优劣,开发者可以根据实际情况结合选择。经过整合和封装,这些代码就可以应用于网页转化为app的开发过程中了。


相关知识:
做一个网站贵还是app贵
做网站和做App这两种方式都可以将产品推广至全球用户,但是它们之间存在一定的差异和不同,包括成本、开发周期、可定制性以及用户体验等方面。首先,从成本角度来看,在技术成熟和项目规模相同的情况下,开发一个网站的成本通常比开发一个App更低。这是因为开发网站所需
2023-05-18
做html的app
HTML是现代Web应用程序的基础技术之一,并且是构建多平台应用程序的重要部分。本文将介绍如何使用HTML构建移动应用程序,包括原理、流程和技术选项。## 基本原理在网页中使用HTML标记表示网页的内容,而CSS则用来控制网页的样式。在构建移动应用程序时,
2023-05-18
做h5单页的app
随着移动互联网的快速发展,越来越多的企业和个人开始关注H5单页应用的开发及应用。H5是HTML5的简称,H5单页应用是一种基于Web技术开发的轻量化Web应用,通过一张或少量页面来实现所有功能,轻便快捷,适合于移动端用户体验。H5单页应用广泛应用于品牌宣传
2023-05-18
专门做app网站
随着智能手机的普及,移动应用程序成为了现今互联网行业的重要组成部分。通过APP,我们可以方便地在移动设备上进行各种操作,如游戏、社交、购物等等。因此,构建一个专门做APP的网站是有必要的。下面,我将介绍一下如何构建一个专门做APP的网站。第一步,定义网站类
2023-05-18
怎么做个同城网站app
做一个同城网站App需要经过以下几步:1.确定网站功能首先你需要明确你的同城网站具有哪些功能,比如社交、娱乐、商业、交通等等。这样有助于确定网站的定位,便于搜集信息和统计用户数据。2.选定技术方案接下来是选定技术方案,有多种方案可供选择,如Web、Nati
2023-05-18
有什么app是用h5做的
H5,全称HTML5,是一种用于编写网页的标准化语言,是Web技术的重要组成部分之一。近年来,随着移动互联网的兴起,越来越多的应用开始采用H5技术进行开发,同时也有越来越多的应用将自己的核心功能封装成H5页面,供移动端用户使用。下面将介绍一些常见的使用H5
2023-05-18
如何做个网站app 步骤
做一个网站App其实就是将一个网站转化成移动应用程序,用户在移动设备上能够更方便地浏览和使用。下面介绍一下制作网站App的步骤:一、确定需求和功能在制作网站App之前,首先要确定所需要的功能和需求。比如要转化的网站是什么,主要功能有哪些,需要展现哪些信息,
2023-05-18
如何做好app网页设计
对于现代移动设备的用户而言,应用程序是他们生活的重要组成部分。人们使用应用程序来完成各种各样的任务,包括购物、社交、娱乐和教育。因此,应用程序的设计在用户体验方面是至关重要的。对于设计师而言,设计出一个好的应用程序是需要考虑众多因素的,因此本文将从以下几个
2023-05-18
前端开发可以做app吗
前端开发可以开发跨平台移动应用,也就是在移动端使用原生应用的模式打包上线。下面我们简单介绍一下这种移动端开发方法。一、移动App的三种开发方式移动App的开发方式主要分为三种:1. 原生应用开发原生应用开发是指使用iOS、Android开发语言和开发环境(
2023-05-18
php做app服务器
PHP通常被用作Web应用程序开发,但是它也可以用于创建移动应用程序的服务器端。以下是PHP做App服务器的原理和详细介绍。1. 原理移动应用程序通常由客户端和服务器端两部分构成。客户端通常使用Java、Objective-C或Swift等语言编写,服务器
2023-05-18
html做app代码
HTML是一种标记语言,用于创建Web页面,但是HTML也可以结合其他技术用于创建跨平台的应用程序。在这篇文章中,我们将详细介绍如何使用HTML来制作App的代码。1. 开发工具在开发HTML App之前,你需要选择一个合适的开发工具。其中一个很受欢迎的开
2023-05-18
h5做app哪个好用
在移动应用市场飞速发展的今天,越来越多的企业和个人都希望能够开发一款属于自己的移动应用。而随着HTML5技术的发展,越来越多的人开始关注h5作为移动应用的选择。那么h5做app哪个好用呢?本文将就此问题进行阐述。首先,需要明确一点的是,H5开发可以使用的开
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号