免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的开发过程中了。


相关知识:
怎么把we站打包做成app
将网站打包为App通常是为了增强用户的体验,使之更加便捷和易用。通过将网站打包为App,用户便可以像使用一些普通应用程序一样使用该网站,而无需额外进入浏览器等操作,提高了使用效率和舒适度。下面将为你介绍将网站打包为App的原理和详细操作步骤。1.什么是将网
2023-05-18
用php做app行吗
PHP是一种广泛使用的服务器端脚本语言,它通常用于Web开发。但是,随着移动应用程序不断普及,越来越多的人开始使用PHP来构建移动应用程序。那么,使用PHP构建移动应用程序是可行的吗?答案是肯定的。事实上,PHP可以用于构建不同类型的移动应用程序,包括iO
2023-05-18
我做网站和app
在互联网时代,网站和app是不可或缺的两个组成部分。它们都是通过网络展示信息、提供服务和商业价值的一种手段。但网站和app最基本的功能是不一样的。网站是指通过浏览器可以访问的,放置在网络上的一个能够提供信息或者服务的平台,而app是一种应用程序,需要安装在
2023-05-18
先做app还是先用网站
在判断是先做app还是先用网站之前,需要考虑到以下几个方面:1. 目标受众群体如果你的目标受众群体主要是移动设备用户,那么先做app是更好的选择。移动app相较于网站来说有更好的用户体验,并且能够利用移动设备的硬件和软件功能,例如GPS,相机等,使得用户操
2023-05-18
vue做混合式app
Vue是一种流行的JavaScript框架,可用于构建Web应用程序。但是,Vue也可以用于构建混合式应用程序,即同时在Web和原生应用程序中使用的应用程序。在本文中,我们将向您介绍如何使用Vue实现混合式应用程序。## 什么是混合式应用程序?混合应用程序
2023-05-18
vue做的app打包
Vue是一种非常流行的JavaScript框架,可以开发现代的、高效的Web应用程序、单页面应用等等。如果你使用Vue开发了一个App,你需要对应用进行打包以便在不同平台上运行和发布。Vue应用程序打包的原理是把所有的Vue组件、模板、JavaScript
2023-05-18
vue可以做native的app吗
Vue.js是一款前端框架,主要用于构建SPA(单页应用程序)和Web应用程序。Vue.js是由Google前员工尤雨溪所建立的,得到了全球各个开发者的热情追捧。Vue.js有一个非常出名的子项目vue-native,它是Vue.js的一个开源框架,可以使
2023-05-18
vue脚手架做app
Vue是一款流行的JavaScript框架,提供了很多易于使用的功能和工具,可以用于创建单页应用程序(SPA)以及移动应用程序(APP)。Vue提供了一个官方的CLI工具,可以帮助开发者快速创建Vue项目。本文将针对Vue脚手架如何实现创建APP进行详细介
2023-05-18
vue做h5混合app项目
Vue做H5混合App项目是目前比较流行的一种开发方式,其实质是使用类似WebView的组件,在原生App内运行H5页面,从而实现了使用同一代码库开发Web和App的目的。本文将介绍Vue做H5混合App项目的原理和详细步骤。一、原理1.1 WebView
2023-05-18
h5做移动app
HTML5(H5)是一种基于 Web 标准的开放式跨平台的技术,已经成为了移动应用开发的主流之一。应用 H5 技术开发移动应用,可以通过浏览器访问,也可以封装成 Android 和 iOS 的应用程序。以下是关于 H5 做移动 APP 的原理和详细介绍。一
2023-05-18
app支付功能前端需要做什么
App支付功能是一种在线支付方式,用户可以使用自己的手机App向商家付款,方便快捷。前端需要实现哪些功能呢?以下是详细介绍:1. 生成支付订单在支付前,前端需要先生成一个支付订单。支付订单包含了交易的金额、支付方式、订单号等信息。生成支付订单的时候应该注意
2023-05-18
底部工具栏配置教程
配置教程底部工具栏操作详解二次开发demo演示地址:https://www.zhidianwl.com/doc/demo.cshtml
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号