免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的原理其实非常简单,主要可以分
2023-05-18
做app购物商城网站建设公司
App购物商城网站建设公司是一家专门为客户设计和开发购物商城App的公司。随着手机的普及以及移动互联网的兴起,越来越多的人开始使用手机购物。在这样的情况下,App购物商城网站建设公司的业务形成了一个大市场。App购物商城网站建设公司的建设原理App购物商城
2023-05-18
怎么将自制网站做成app
想要将自制网站做成app,需要涉及到移动应用开发和网站开发两个方面的知识。本文将从技术原理和具体步骤两个方面介绍如何将自制网站做成app。一、技术原理通常来说,将网站做成app的方法有两种:一种是使用第三方应用开发平台,例如Flutter、React Na
2023-05-18
怎么把h5做成小程序和app
H5是网页开发的一种技术,它可以在浏览器中加载和展示页面。小程序和app则是在移动端运行的应用程序,能够提供更好的用户体验。为了将H5转化成小程序和app,我们需要考虑包含两个方面:代码转换和运行环境。一、代码转换1. 小程序我们可以使用微信开发者工具中的
2023-05-18
我有一个网站怎么做成app
将网站变成应用程序是一个流程繁琐的过程,需要很多技术和工具,首先,需要采用一种足够强大的框架或网站生成器来构建应用程序。所以,本文将在以下几个方面帮助你理解如何将网站转换成应用程序。以下是将网站变成应用程序的一些基本步骤和必需工具的详细介绍:1. 选择一种
2023-05-18
网页可以做的为什么都做成app
在互联网技术发展的现代社会中,网页有着广泛的应用,而将网页转化为应用也是当前的一个发展趋势。为什么许多网页都开始转化为应用呢?我们可以从几个方面来解决这个问题。一、体验更好相比于网页,应用的操作和交互更加流畅和高效,即使是在网速较慢的情况下也很少存在卡顿和
2023-05-18
网站做一个app
随着移动设备的普及和用户需求的增加,许多网站都开始考虑开发自己的移动应用程序(App)。 如果你是一个网站的管理员或拥有一个网站,这篇文章将向你介绍如何开发一个完全自定义的App,以提供更好的用户体验和增加网站流量。一、原理在讨论如何创建自己的网站App之
2023-05-18
手机app都可以用vue做吗
Vue.js是一款非常流行的JavaScript框架,可以用于构建响应式的用户界面。它提供了一系列的工具和技术,使得开发人员可以以更快、更高效的方式开发大型的Web应用程序。除了Web应用程序,Vue.js还可以用于构建移动应用程序,包括手机应用程序。在移
2023-05-18
如何把网页做成一个属于自己的app
将网页做成一个属于自己的APP的方法称作为WebApp化,其本质上是通过对网页进行封装和改造的过程,使其能够像普通手机APP一样直接在移动设备上展示和运行。WebApp化的原理主要是通过使用现代化的Web技术将网页逐步转变为一款适配移动设备的APP。在这个
2023-05-18
靠比网站做成app的软件
靠比网站提供了一种很方便的将网站转化为app的方法,可以使有自己网站的人快速地打造出一个具有原生应用程序的外观和功能的 app,让用户更方便地使用自己网站的服务。在本文中,我将介绍靠比网站制作app的原理以及详细的操作步骤。一、靠比网站制作app的原理靠比
2023-05-18
java和php哪个做app好
Java和PHP都是目前非常流行的编程语言,它们都被广泛应用于网络开发领域。但是,对于很多人来说,可能会困惑于选择Java还是PHP来进行APP的开发。在这篇文章中,我会详细阐述Java和PHP分别在开发APP方面的优缺点,帮助你更好地选择适合自己的编程语
2023-05-18
极光后台推送消息通知
怎么在极光后台推送消息通知?1.登录极光官网https://www.jiguang.cn/2.登录极光推送,选择极光开发者服务3.选择你需要推送消息的应用4.进入对应的APP推送界面点击左侧【发送通知】进入通知发送页面编写通知内容选择推送版本5.检查消息内
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号