免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的前端开发主要使用Java语言来实现,这是因为Java有非常强大的跨平台性,可以在不同的操作系统和设备上运行。同时,Java具备良好的开发效率和易于维护的特点,这使得它成为了一种非常流行的开发语言。下面将详细介绍一下Java在安卓APP前端开发中
2023-05-18
做app前端设计
App前端设计指的是移动应用程序中用户看到和操作的界面设计。作为App设计的重要组成部分,前端设计直接决定着用户对App的第一印象和使用体验,因此它的重要性不言而喻。下面我们来详细介绍一下做App前端设计的原理和步骤。一、用户界面设计原则1.功能优先:设计
2023-05-18
做app免费封装的网站
在建立一个app的过程中,封装是一个必要的步骤。这个过程有很多方式可以实现,包括自己编码或者使用软件进行封装。最近,出现了一些免费的封装网站,让初学者更容易地制作自己的app。本文将介绍一下这些免费封装网站的原理以及一些常见的免费封装网站。封装的原理:封装
2023-05-18
做web还是app
当你决定创建一个在线业务或移动应用程序时,你需要考虑做web还是app。这个决策取决于多个因素,包括你的业务需求、预算、时间限制和目标受众。WebWeb应用程序是指在浏览器中运行的软件。Web应用程序不需要安装,直接通过互联网浏览器访问。Web应用程序的运
2023-05-18
只做网站不做app
在互联网领域,除了网站,还有一种很重要的形式就是应用程序(App)。人们习惯于通过手机应用来完成某些特定任务,例如购物、交友、运动、旅游等等。但是对于一个博主来说,为什么只做网站不做App呢?本文将从原理和详细介绍两个方面对此进行阐述。一、原理1. 技术门
2023-05-18
怎样把一个网站做成app
将一个网站转换为应用程序并不是一项复杂的任务。当今,用户习惯使用智能手机和平板电脑浏览网站,以便轻松、速度快、轻松访问所需信息。这促使很多网站将其适应移动应用程序的现实环境。以下是将现有网站转换为应用程序的原理和详细介绍。### 原理将网站转换为应用程序的
2023-05-18
我们是做app和网站搭建
App和网站的搭建是一个非常广泛的话题。从技术角度上来看,App和网站搭建可以分为前端开发、后端开发和数据库开发等多个部分。本文将以此为基础,为您介绍App和网站搭建的原理和详细介绍。一、前端开发前端开发通常包括HTML、CSS、JavaScript。HT
2023-05-18
潍坊有哪些做app网站的公司
潍坊是山东省的一个城市,拥有许多IT公司,其中有一些公司专门从事开发和设计应用程序的工作。下面将介绍潍坊几个著名的应用程序开发公司。一、潍坊互动科技有限公司潍坊互动科技有限公司是一家专业的应用程序开发公司,致力于为客户提供专业的设计开发解决方案。公司拥有一
2023-05-18
网站也能做成手机app吗
网站作为互联网上的一个载体,在日常生活中扮演着重要的角色。而随着智能手机的普及和应用程序的发展,许多网站已经开始将自己的网站转变为手机应用程序(App),这也就是网站变身App。那么,网站是如何变身为手机App的呢?下面就为大家介绍它的原理和详细步骤。一、
2023-05-18
什么网站有做面条的app
做面条的App可以让用户在家自己制作美食,享受自制美食的快乐,而不用去外面的餐馆购买。这种应用程序主要涉及食谱、食材、烹饪技巧、调味品等,可以帮助你做出美味的面条,让你在家享受到和外面餐馆一样的美味。接下来,为大家介绍几个做面条的App。1. 拜师学面条“
2023-05-18
react可以做app么
React 是一种极具热度的 JavaScript 框架,它的核心组件围绕虚拟 DOM 和组件的概念展开。React 为移动应用程序和 Web 应用程序提供了强大的解决方案,因为它使得开发过程更加流畅,技术更加清晰,同时还能使用一些被广泛接受的工具集来管理
2023-05-18
app设计中前端需要做什么
在APP开发中,前端是负责将设计师的设计图转化为代码并交互实现的角色。它承担着将应用程序界面及用户交互体验设计成实现的任务。前端主要包括 UI 设计、交互设计和前端工程师。其中UI设计是将原型图转化为具体的UI元素和样式,在此基础上进行交互设计,将用户需求
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号