免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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
在当今数字化时代,Web 应用程序和移动应用程序(App)都是非常流行的。通常,Web 应用程序可以通过浏览器访问,而移动应用程序则必须下载和安装在移动设备上。不同的应用场景和用户需求也决定了他们的使用情况。在进行选择之前,需要了解两者的优缺点,以便判断哪
2023-05-18
做网站与做app哪个容易
在回答这个问题之前,我们需要先了解一下“网站”和“App”的本质区别。简而言之,网站是基于互联网通过浏览器访问的,而App是运行在移动设备上的应用程序(通常是通过下载、安装和打开来使用的)。由此我们可以看出,两者在技术架构、开发方式和运营模式等方面都存在较
2023-05-18
做了个网站和app
做一个网站或者APP可以说是现代社会中的一种常见活动,无论是个人还是公司,都可以通过自己的创意和技能来实现自己的想法。在此,我将分享一些我制作网站和APP的经验和知识。首先,针对网站的创建,我们常常需要确认如下几项内容:1. 确认网站类型2. 确认网站风格
2023-05-18
做一个团购app网站多少钱
做一个团购APP网站,涉及到的具体费用、技术成本等因素,要根据网站的具体需求而定。但一般情况下,需要考虑以下几个方面。1.网站领域与类别团购APP涵盖了餐饮、旅游、购物等多个领域,你需要确定自己要涉及到哪些领域,并对相应的技术进行深入的了解。另外,你还需要
2023-05-18
做一个app和做一个网页有什么区别
APP(Application)指的是应用程序,它是在移动端(手机、平板电脑等)上运行的软件程序,具有独立的功能和界面。而网页(Web Page)是网站的基本单元,是指在浏览器中打开的HTML页面。在功能上,APP具有比网页更多的本地运行能力。APP可以访
2023-05-18
做app最好的前端语言
在做app最好的前端语言方面,主要需要考虑到以下几个方面:语法简单易学、开发效率高、支持性好、页面渲染速度快、交互效果丰富等。目前,最适合做app前端的语言有以下几种:1. JavaScriptJavaScript是一种动态、弱类型的编程语言,通过脚本代码
2023-05-18
新手如何自己做网站app
对于一个新手来说,自己做一个网站或者APP可能看上去很困难,但是实际上它并不是无法做到的。我们可以通过一些工具和资源来完成这项任务。对于网站的建立,首先需要一个域名,这个域名就是你的网站名字。在选择域名时要注意一些事情,比如要短小易记,要与网站内容相关,不
2023-05-18
移动端连接智能设备app用vue做
移动端连接智能设备是当今智能家居应用的重要功能。借助移动端app,用户可以通过手机或平板电脑远程控制智能设备,如灯光、温度、音响等。本文将介绍如何使用Vue来实现这一功能。## 前言首先,让我们明确一下移动端连接智能设备app是如何运作的。在对应的应用程序
2023-05-18
如何选择是做网站还是做app
随着移动互联网的快速发展,无论是个人还是企业,都有着非常强烈的数字化建设需求。如果我们想要实现自己的数字化建设需求,我们需要做出一个很关键的决策——是做网站还是做APP?在这篇文章中,我们将重点介绍选择网站还是APP的原则或详细介绍,以帮助您做出正确的决策
2023-05-18
如何把网页做成手机app
将网页做成手机app可以提高网页的用户体验,增加网页的覆盖面,进而扩大网站的影响力。下面介绍两种方法将网页转换成移动应用程序。一、Hybrid AppHybrid App(混合应用程序)将使用Web技术编写的网页应用程序包装到本地应用程序中来实现的。通过这
2023-05-18
vant做app
Vant 是一款基于 Vue.js 的移动端组件库,提供了丰富的组件和组件交互方式,它的目标是提高移动端 Web 开发效率,优化用户体验,帮助开发者快速搭建高质量的业务界面。Vant 是一款开源的组件库,它的自由度非常高,支持开发者进行自定义修改,方便定制
2023-05-18
APP打包平台管理界面说明
APP管理界面介绍开发者中心主要分为【顶部导航】和【左侧导航】以及APP管理区域顶部区域左侧区域APP管理区域APP管理区域一般是使用最多的,点击对应需要配置管理的APP名字图标即可进入当前APP的管理配置界面。
2018-09-29
©2015-2021 智电瑞创 蜀ICP备17039183号