免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的网站
现在,人们使用智能手机的时间越来越多,各种各样的应用软件也层出不穷。但是,有些人可能会发现自己需要的应用软件并不存在,或者已经存在但是没法完全满足自己的需求。如果你有一些编程知识,或者想从零开始学习编程,那么你可以制作一个自己的应用程序,在这个过程中,你可
2023-05-18
学html5做app开发
HTML5是一种最新的HTML版本,它被广泛应用于移动应用的开发中。它提供了许多新的功能和语义标签,使开发人员更容易地创建动态和互动的应用程序。HTML5可以用于开发各种类型的应用程序,如本地应用程序、Web应用程序和混合应用程序。在本文中,我们将介绍使用
2023-05-18
网站做成人app
首先,需要明确的是,成人App在大部分国家是被禁止的,因此在开发和发布成人App之前必须要仔细了解当地的法律法规。成人App的开发需要掌握以下技术:1.移动应用开发技术:开发成人App需要有足够的移动应用开发技术知识,包括基本的程序语言和开发工具,如Jav
2023-05-18
如何把电脑网页做成一个简易的app
将网页转换为一个简易的app可以为用户提供更加便捷的使用体验,让用户能够更加快速地打开网页以及对网页进行操作。下面是关于如何把电脑网页做成一个简易的app的介绍。首先,我们需要了解一下这个过程的原理。实际上,将一个网页转换为一个简易的app的过程就是将网页
2023-05-18
如何网页做app
网页是我们日常上网的主要方式,而移动应用(APP)则成为了我们使用移动设备时最常使用的应用程序。因此,将网页转换为移动应用,可以让用户更加方便地使用网页内容,并且为网站主人提供一个更直接的流量获取途径。本文就将为读者详细介绍如何将网页转换为移动应用的原理和
2023-05-18
哪些app是用用h5做的
H5是指HTML5技术,它是一种用于构建web页面的技术。HTML5已经成为了现代web应用开发的必要技术,越来越多的app采用H5进行构建。下面是一些使用H5技术构建的应用程序。1. 京东京东是一家中国电商平台,它的应用程序使用了H5技术。应用程序中的购
2023-05-18
给网站做一个app
在如今互联网飞速发展的时代,移动端应用已成为人们生活中必不可少的存在。网站做一个app不仅可以提高用户体验,还有助于品牌推广和市场拓展。那么网站如何做一个app呢?本文将从原理和详细的介绍两个方面来进行讲解。一、原理网站做一个app的原理是通过移动应用开发
2023-05-18
个人接单做网站和app哪个简单
在当今的互联网时代,网站和APP已经成为了我们生活中不可或缺的一部分。对于一些个人开发者来说,或者是想要进入这个领域的新手,可能会有这样的问题:到底是做网站还是APP更简单呢?实际上,这个问题无法简单地给出一个答案,因为它取决于很多因素,包括你的技术水平、
2023-05-18
把手机网站做成app
在现代社会中,手机已经成为人们必不可少的日常生活用品,随着移动互联网的普及,移动应用APP的使用越来越广泛。然而,许多小型企业、个人博客等网站并没有将其网站作为APP发布,因此这类网站无法在应用市场中与其他APP竞争。为了满足这些用户的需求,很多开发者开始
2023-05-18
vue做app靠谱吗
Vue是一个流行的JavaScript框架,它提供了一种声明式的渐进性应用程序框架,特别适合构建单页面应用程序(SPA)。Vue框架采用基于组件的结构,使创建可重用的组件变得容易。Vue能否用于开发app是一个相当重要的问题,因为大多数应用程序都需要能够跨
2023-05-18
php做app推送
PHP作为一种服务器端的编程语言,可以与移动端的应用进行通信,实现推送功能。下面介绍PHP推送的原理和实现方法。一、推送功能的原理推送功能的实现需要借助移动推送开发平台,比如:APNs(Apple Push Notification service)和FM
2023-05-18
app怎么做成网页版
现在App在市场上已经非常普遍,但是一些企业可能还需要将自己的App转化为网页版,以满足更多用户的使用需求。本文将介绍如何将App转化为网页版这个过程。首先,需要了解App和网页的主要区别:App是指在手机、平板电脑等移动终端上安装的应用程序,而网页是指在
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号-1