免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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。一、软件网站1. 网站构架设计在设计一个
2023-05-18
做app是什么网站
做App可以理解为开发一款移动应用程序。一个成功的App可以让你获得非常不错的收益,同时也可以为你的品牌或业务增加名气和曝光率。但是,做一个App需要一定的技术储备,还需要了解一些相关的开发原理和工具。在这篇文章中,我们将会详细介绍做App的网站以及相关原
2023-05-18
怎么用vant做app界面
Vant是一款基于Vue.js的轻量级组件库,它提供了一系列风格统一、易于使用的UI组件,非常适合用于移动端Web应用的开发。下面将介绍如何使用Vant组件库来制作移动App界面。1. 安装Vant推荐使用npm来安装Vant,命令如下:```npm in
2023-05-18
有什么app免费做h5
H5是HTML5的简称,是一种用于网页开发的语言标准,可以用于PC端、移动端等各种设备的网页开发。H5的优点是兼容性好、体积小,可以实现更多的交互效果,能够为用户提供更优秀的体验。那么有哪些可以帮助我们免费制作H5的APP呢?下面我们就来介绍一些APP。1
2023-05-18
夷陵区推荐html做app驱动
HTML是一种用于创建网页的标记语言,但是随着技术的发展,它也逐渐被用于开发移动应用程序(App)。本文将介绍使用HTML来开发App的原理以及推荐几个HTML app驱动。1. 原理HTML App的原理与传统网页开发十分相似,都是基于HTML、CSS和
2023-05-18
网站app免费做成
在当今互联网时代,手机使用已经成为人们日常生活必不可少的一部分。随着智能手机的普及,许多企业和个人都开始将业务逐步转移到移动端,推出手机应用程序促进自己的业务发展。但是,对于很多小型企业或个人,制作自己的应用程序是一项非常昂贵且繁琐的投资。因此,一些网站提
2023-05-18
网站做一个app
随着移动设备的普及和用户需求的增加,许多网站都开始考虑开发自己的移动应用程序(App)。 如果你是一个网站的管理员或拥有一个网站,这篇文章将向你介绍如何开发一个完全自定义的App,以提供更好的用户体验和增加网站流量。一、原理在讨论如何创建自己的网站App之
2023-05-18
网站 做成app
将网站做成App的原理其实很简单,就是将网站的内容打包成一个APP,并添加一些APP特有的功能和交互体验,以满足用户的使用需求和体验。下面详细介绍一下如何将网站做成App。一、了解APP开发技术和常用工具在开始将网站做成App之前,我们需要了解一些APP开
2023-05-18
根据网站做app
网站是互联网上的一个页面,而APP则是一款移动应用程序,有多个平台可供开发,例如iOS和Android。许多网站主都想为自己的网站开发一个APP,以便更好地满足移动用户的需求。那么,如何根据网站做APP呢?第一步,需要明确APP的功能需求。开发APP之前,
2023-05-18
php做app接口开发
随着移动互联网的逐步普及,App已经成为人们生活中必不可少的一部分。而开发App需要调用服务器的接口来完成各种功能,其中就包括了PHP作为App接口的开发。本文将介绍PHP做App接口开发的原理以及详细介绍。一、PHP做App接口开发的原理在介绍PHP做A
2023-05-18
app源码做成h5
将app源码转换为h5版本也称为混合开发,这是一种将原生应用程序与web技术相结合的开发方式,它可以在多个平台上实现功能类似的应用程序。这种方式的优点是可以充分利用web技术,为开发人员提供了更广泛的工具和技能,同时也可以提高应用程序的响应速度和稳定性。在
2023-05-18
app浏览网页做笔记
现在的移动设备已经成为我们日常工作和学习的必备工具,越来越多的人习惯使用App浏览网页并进行笔记记录。下面将介绍App浏览网页做笔记的原理和详细操作。一、浏览器与电脑端一样,使用App浏览网页做笔记需要先选择一款合适的浏览器。市场上有许多优秀的浏览器,如C
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号