免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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所面对的技术和流程是不同的,对于成本来说也是不同的。下面介绍一下做网站和做App的成本情况。一、做网站的成本1. 域名和主机租用费做网站首先需要一个域名
2023-05-18
用手机做h5有什么app
在手机上制作H5页面,需要使用一些专门的APP。以下是一些常用的手机H5制作应用及其原理和详细介绍。1. 78设计介绍:78设计是一款移动端H5制作应用,支持多种素材、字体、图标等,除了自带的模板,还能够上传自己的图片。原理:使用H5技术结合各种制图API
2023-05-18
有哪些app是用vue做的
Vue.js 是一个流行的 JavaScript 框架,用于构建现代的 Web 应用程序。近年来,越来越多的开发者开始使用 Vue.js 开发移动应用程序。在本文中,我们将探讨一些使用 Vue.js 构建的流行应用程序。1. 微信读书微信读书是一款著名的阅
2023-05-18
申请做app和网站需要注册公司吗
在中国做app和网站,需要注册公司。下面给大家讲述一下详细的原理和流程。首先,我们需要了解一下公司的概念。公司是指以盈利为目的注册成立的法人组织,公司可以用来制定经营计划,实施经营活动,受法律保护,并为所从事的商业活动负责。因此,如果要从事创业活动,特别是
2023-05-18
如何用iapp把网页做成app
iapp是一款比较流行的网页转应用程序的工具,在应用程序市场上可以找到iapp的应用程序,用户可以通过iapp制作属于自己的应用程序,将网页转换为应用程序。下面是关于用iapp将网页转为应用程序的详细介绍。iapp转换原理iapp的工作原理是将一个网页页面
2023-05-18
然后做前端app开发
前端APP开发是指使用前端技术开发移动应用程序。在过去,移动应用程序主要使用原生应用程序开发。但是,现在随着HTML5技术的普及,前端APP开发大行其道。如今,前端APP开发被广泛用于开发Android和iOS操作系统下的应用程序,充分利用了HTML、CS
2023-05-18
能把网站做成app的软件
现如今,移动互联网已经成为了互联网社会的基础之一,而在所有的移动平台中,app应用是最受欢迎的一个,因为它们可以为用户提供更好的体验和更加便捷的访问方式。对于一个网站博主来说,将自己的网站转换成app是一个非常不错的选择,不仅可以扩展自己的受众,还可以为用
2023-05-18
但想为网站做app
为网站做App的原理和方法在当今社会信息化的背景下,移动互联网的普及使得手机端上的应用程序越来越多,成为了人们最为常用和便捷的信息交流途径之一。作为一名网站博主,如果想要更好地服务于用户,或者提高用户的黏性,就可以考虑为自己的网站开发一个APP。那么,为网
2023-05-18
把手机网页做成app
随着移动互联网的发展,越来越多的企业选择开发自己的移动应用程序(App),以增强其品牌形象和提高用户体验。但对于一些中小企业或个人站长来说,开发一款专门的App仍然显得过于困难和昂贵。在这种情况下,将现有的网站做成一个App或者将其网页转化为一个App将是
2023-05-18
vue做的两个app
Vue是一种流行的JavaScript框架,可以简单快捷地构建现代Web应用程序。它提供了许多实用功能,包括组件化,响应式数据流,单文件组件等等。在本文中,我将介绍两个基于Vue开发的应用程序,它们分别是音乐播放器和ToDo清单应用程序。一、音乐播放器1.
2023-05-18
php开发app做啥
PHP是一种使用广泛的服务器端脚本语言,开发者可以使用它来创建动态Web页面、应用程序和移动应用程序。虽然PHP最初是为Web开发设计的,但它也可以用来开发移动应用程序。在本文中,我将介绍PHP开发移动应用程序的原理,并讨论该方法的功能和优劣势。一、 原理
2023-05-18
html5 做成app
HTML5 是一种用于构建 Web 页面的标准。与早期的 HTML 版本相比,HTML5 引入了一些新的功能和 API,使得 web 应用程序可以在浏览器中运行得更加流畅。HTML5 还使得开发人员可以更加轻松的向移动端扩展 web 应用程序,使其变成一个
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号