免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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文档介绍就显得非常重要了。下面将详细介绍网站和App文档介绍内容的原理和方法。一、网站文档介绍内容1. 网
2023-05-18
做安卓app的话前端用什么语言开发
安卓app前端开发的主要语言为Java和Kotlin,其中Java是安卓开发的基础语言。下面将分别介绍Java和Kotlin在安卓app前端开发中的应用。Java在安卓app前端开发中的应用:1. ActivityActivity是安卓应用开发的一个非常重
2023-05-18
做各类小程序app网站软件开发
随着移动互联网时代的到来,移动应用(App)的发展已经成为了一种趋势,小程序作为近年来新兴的移动应用形式,已经成为了人们越来越多的日常生活中的必备应用之一。小程序具有许多优点,例如无需下载安装、轻量化、使用方便等等。小程序的开发主要有两种方式:一种是基于小
2023-05-18
做html的app
HTML是现代Web应用程序的基础技术之一,并且是构建多平台应用程序的重要部分。本文将介绍如何使用HTML构建移动应用程序,包括原理、流程和技术选项。## 基本原理在网页中使用HTML标记表示网页的内容,而CSS则用来控制网页的样式。在构建移动应用程序时,
2023-05-18
用web做手机app
现在人们对手机应用程序的需求越来越高,而很多小型应用程序的开发者可能没有足够的资源去开发手机应用,或者进入应用商店无法获得足够的曝光度。在这种情况下,使用web技术制作手机app就成为一种不错的选择。本文将详细介绍如何用web做手机app。一、什么是web
2023-05-18
学php给app做接口
在现代互联网技术中,PHP被广泛应用于Web开发。同时,随着移动应用的发展,一种将Web应用程序扩展到移动平台的技术被广泛使用,那就是通过编写API来为手机应用提供服务,使得移动应用可以访问Web应用程序的后端数据库和功能。为了将Web应用程序扩展到移动平
2023-05-18
推荐一款做网站的手机app
随着手机使用率的不断提高,手机APP也越来越受欢迎。在发展迅速的互联网领域,有许多方便快捷的应用程序能够帮助你创建一个网站。在本文中,我们将介绍一款适用于手机的应用程序,它能够让您在几分钟内创建一个自己的网站,并且在您的手指之间轻松完成操作。Wix是一款可
2023-05-18
你们公司做网站或app的时候
当我们公司做网站或者app时,会拥有完整的流程:需求分析、UI设计、前端开发、后端开发、测试和上线发布。以下是每个环节的简要介绍:1.需求分析需求分析是实现一个网站或者app的第一步。在这个阶段,我们会和客户或者产品经理沟通,明确该网站或者app的目的、用
2023-05-18
纯webview可以做app吗
纯 webview 可以做 app,但它与原生 app 相比可能存在一些限制和问题。本文将为您介绍纯 webview 的定义、实现原理以及其与原生 app 相比的优缺点,希望能帮助您更好地理解和使用它。**什么是纯 webview**Webview 是 A
2023-05-18
把2个网站做成app软件
将网站转换成APP软件是一种非常流行的解决方案,它使得网站能够更方便、更快捷地在移动设备上运行。在本文中,我将向你介绍在开发APP软件之前需要了解的重要原理和步骤。首先要了解的是,将网站转换成APP软件与传统的开发APP软件有所不同。传统开发APP软件需要
2023-05-18
app前端开发需要做什么
App前端开发是指开发移动应用程序前端界面的过程。前端开发工程师需要将图形设计转化为用户界面,使用HTML,CSS和JavaScript等技术制作程序。以下为详细介绍。一、HTML/CSSHTML和CSS是前端开发中不可或缺的两个语言,它们是构建网站结构,
2023-05-18
什么是浮动功能面板
什么是浮动功能面板?在APP内部,界面上有一小块浮动图标,可拖拉,点击之后可以弹出一些常规功能,以供客户快捷操作!如图:真机演示点击按钮,可以弹出相关功能操作界面功能很多,如不需要,您可以在后台配置APP-浮动功能面板里面选择是否启用!
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号