免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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还是企业级应用,都需要实现安全的用户登录流程。在实现这一流程时,前端和后端均扮演着重要的角色。前端是指应用程序中与用户直接交互的部分,包括UI界面和用户输入互动。前端的主要任务是收集
2023-05-18
做web还是app
当你决定创建一个在线业务或移动应用程序时,你需要考虑做web还是app。这个决策取决于多个因素,包括你的业务需求、预算、时间限制和目标受众。WebWeb应用程序是指在浏览器中运行的软件。Web应用程序不需要安装,直接通过互联网浏览器访问。Web应用程序的运
2023-05-18
怎么把app做成网页版链接
将一个应用程序(或APP)转化为网页链接,也就是将其转化为Web应用程序,是一种让用户无需下载相应的应用程序,就可以在浏览器中通过使用互联网来访问该应用程序的工具。这种转化是非常有用的,因为它让用户可以通过任何类型的设备来访问应用程序,而不需要担心应用程序
2023-05-18
用html5做app的话
HTML5可以用于构建跨平台的移动应用程序。通过使用HTML5和其他网络技术,可以轻松构建跨平台、可访问和移动应用程序。这些应用程序可以使用各种设备和浏览器访问,而不需要下载和安装。以下是使用HTML5构建跨平台移动应用程序的一些步骤:1.选择编程工具:使
2023-05-18
一个专门做破解app的网站
作为现代社会不可或缺的一部分,手机已经成为人们生活中必不可少的一部分。但是,手机中的很多应用都需要付费才能解锁全部功能。这对于一些用户而言,可能会造成不小的困扰,因为他们不想为这些应用支付过高的费用。因此,在互联网上,出现了一批专门做破解app的网站,以帮
2023-05-18
网站怎么做成手机app
将网站变成手机应用程序(App)并不是一件复杂的事情。将现有的网站转化为应用程序可以让用户更方便地访问网站。如果您不知道如何将网站转化为应用程序,这篇文章将告诉您如何做到这一点。一、应用程序的类型1.原生应用程序,即使用特定平台的编程语言(例如Object
2023-05-18
网页做app
随着移动互联网的发展,APP成为我们日常生活中必不可少的一部分。有些时候我们希望能够把自己的网站转化为APP,为用户提供更好的体验。本文将介绍如何将网页转化为APP的原理和详细过程。一、什么是PWA?在介绍如何将网页转化为APP之前,需要先了解PWA(Pr
2023-05-18
手机app都可以用vue做吗
Vue.js是一款非常流行的JavaScript框架,可以用于构建响应式的用户界面。它提供了一系列的工具和技术,使得开发人员可以以更快、更高效的方式开发大型的Web应用程序。除了Web应用程序,Vue.js还可以用于构建移动应用程序,包括手机应用程序。在移
2023-05-18
如何把网站做成app不收费
想要把网站做成app并且不收费,实际上是比较简单的。主要需要考虑的是将网站进行适当的移植和转换,结合开发工具和在线工具进行开发,最终将app发布到相应的应用商店中,供用户下载。1. 选择开发工具:在将网站转换为app之前,你需要对需要使用的开发工具进行选择
2023-05-18
把h5做成app
在移动互联网时代,移动应用程序已经成为人们生活中必不可少的一部分,而web应用程序开发相较于原生应用程序开发则更为简单、开发成本也更低,因此“把h5做成app”也成为了很多人的选择。那么,如何把h5做成app,应该从哪些方面入手呢?首先,我们需要了解H5技
2023-05-18
reactnative做的常见app
React Native 是 Facebook 搞出来的一种基于 React 提供的跨平台移动应用开发框架,支持 iOS 和 Android 两个平台。其特点在于可以开发本地应用般的移动应用,同时不仅可以获得更快的开发速度和更广的开发人员使用,而且还能减少
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号