免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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前端时,需要了解不同操作系统的应用程序接口(API),以及各种编程语言和框架。在现代移动应用开发中,原生应用和混合应用是最常见的,其中原生应用可以为不同的操作系统编
2023-05-18
做app和网站哪个便宜
在许多人看来,做一个app或一个网站是需要一定的资金支出的。 但实际上,这两者有不同的开发成本和运行费用。以下是一个高层次的比较,旨在给出开发一个app和一个网站的基本花费。1. 开发成本对于开发成本,由于app需要在多个平台上开发,因此需要更多的开发工作
2023-05-18
想将网站做成app
将网站做成APP是一种将网站内容进行移动化展示的方式,可以方便用户在移动端访问和使用网站服务。下面将介绍几种实现方式以及原理。1. 原生开发原生开发是指使用特定语言和开发工具进行APP开发。例如,Android应用可以使用Java语言和Android St
2023-05-18
网站app到底是怎么做出来的
网站 app 是指安装在手机或平板电脑上,可以打开网站的应用程序。它不同于传统的网页,因为网站 app 可以更好地适应移动设备的屏幕,提供轻松的导航和更好的用户体验。那么,网站 app 到底是怎么做出来的呢?接下来,我将详细介绍一下。首先,网站 app 的
2023-05-18
网页怎样做成app
将网页转换为 App,是一种将现有的网络技术与移动设备技术相结合的方法。随着移动技术的不断发展,将Web应用转化为Native App的需求也愈加强烈,原因在于Native App可以提供更好的用户体验, 拥有更快更灵敏的响应速度,并且可以减少页面加载时间
2023-05-18
前端工程师想做个app
对于前端工程师来说,如果想开发一个APP,最好的选择就是使用React Native技术。因为这个技术可以帮助开发人员快速地创建跨平台应用程序(iOS和Android)。在这篇文章中,我们将讨论如何开发一个基于React Native的应用程序。第一步:安
2023-05-18
免费做app的网站有哪些
随着移动互联网的普及和智能手机的不断发展,移动应用已经成为我们生活中不可或缺的一部分。对于企业和个人而言,拥有一款自己的App已经成为展示品牌、增加用户黏度的有效方式。但是对于没有编程技能的人而言,如何才能免费制作一款自己的App呢?本文将为你介绍一些可以
2023-05-18
公司做网站app入什么科目
公司开发网站和App是一项复杂的任务,需要掌握多种科目。以下是关键科目的详细介绍。1. HTML/CSS/JavaScriptHTML(超文本标记语言)、CSS(层叠样式表)和JavaScript是网站开发的基本组件。 HTML 是用来定义网页结构的语言,
2023-05-18
vue做的网页app
Vue.js 是一种轻量级的 JavaScript 框架,其具有响应式和组件化等特点,能够帮助开发者更高效地构建用户界面。在当前的移动设备使用量大幅增加的环境中,使用 Vue.js 开发网页 app 也变得越来越流行。本文将介绍 Vue.js 开发网页 a
2023-05-18
html5做app流程
HTML5 是一种标准和语言,具有许多用途和应用。其中一个应用就是开发应用程序(APP)。这里是一个大概的HTML5做APP的流程和原理。1. 确定业务需求和目标在开始创建应用程序之前,您需要确定您想要实现的业务需求和目标。明确您的目标可以确保您的应用程序
2023-05-18
html5 做ios app
HTML5语言已经成为了网络开发的重要技术,因为它具有兼容性、跨平台以及易于开发等特点,因此HTML5逐渐在移动应用开发中得到广泛的应用。本文将向您介绍如何使用HTML5语言开发iOS APP。一、什么是HTML5HTML5是Hyper Text Mark
2023-05-18
app开发前端是做什么
APP开发前端是指针对移动设备(如手机、平板电脑等)上的软件进行的开发,主要负责的是用户界面层的设计和实现。 APP前端开发需要使用各类编程语言和开发工具,包括HTML、CSS、JavaScript、React Native等。前端的目标是用户界面,也叫U
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号-1