免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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版
移动网页版简介移动网页版,指的是在移动设备上的特定浏览器(如Safari、Chrome等)中访问网页时展示出来的网页版。相较于传统的PC网页版,移动网页版在设计上更加注重页面排版、文字对比度、大小限制以及交互性设计的优化,更适合移动设备的屏幕大小和使用习惯
2023-05-18
做app赚钱试玩网站赚钱
做App赚钱是一个较为流行的赚钱方式,而试玩网站赚钱则是其中的一种。试玩网站赚钱的原理主要是让用户通过试玩App来获得一定的奖励,并且不同的试玩网站会根据试玩时长、完成任务情况、任务内容等不同的因素来决定奖励的高低。下面,我将对试玩网站赚钱进行详细介绍。一
2023-05-18
自己做app的网站
想要自己做一个app,可能很多人会觉得需要具备高超的编程技巧和大量时间投入才可实现。然而如今,随着互联网技术的快速发展,建立一个属于自己的app变得越来越容易。下面,我将为大家介绍一些网站,使你们可以轻松完成自己的app制作。1. Andromo若你是一个
2023-05-18
为什么app不做成网页
App和网页都是互联网上的展示形式,但是两者的本质却有很大不同。App是安装在设备上的本地应用,而网页是通过互联网访问的在线平台。虽然两者都提供了丰富的信息和功能,但是在实际的应用场景中它们的差异性就显而易见了。下面将从原理和详细介绍两个方面来说明为什么A
2023-05-18
能把网站做成app的软件
现如今,移动互联网已经成为了互联网社会的基础之一,而在所有的移动平台中,app应用是最受欢迎的一个,因为它们可以为用户提供更好的体验和更加便捷的访问方式。对于一个网站博主来说,将自己的网站转换成app是一个非常不错的选择,不仅可以扩展自己的受众,还可以为用
2023-05-18
漫画网站怎么做成app
制作漫画类App需要考虑几个重要的问题:1. App平台的选择2. 数据库的设计3. 良好的用户体验设计4. 付费模式的选择5. 营销推广计划的策划接下来我们将从这五个方面来讲述制作漫画类App的步骤和方法。1. App平台的选择制作漫画类App需要考虑最
2023-05-18
web怎么做成app
将Web应用程序转换为移动应用程序是一种趋势。传统的Web应用程序被设计成在桌面浏览器上访问。但是,现在,人们正在走向移动,深受触摸用户界面和移动平台的新应用程序的喜爱。如何将Web应用程序转换为移动应用程序?我们需要了解一些技术来实现这一目的。一、Hyb
2023-05-18
vue做混合式app
Vue是一种流行的JavaScript框架,可用于构建Web应用程序。但是,Vue也可以用于构建混合式应用程序,即同时在Web和原生应用程序中使用的应用程序。在本文中,我们将向您介绍如何使用Vue实现混合式应用程序。## 什么是混合式应用程序?混合应用程序
2023-05-18
java做app前端还是后端
Java是一种通用编程语言,可以用于开发各种类型的应用。Java应用程序通常被划分为前端和后端。前端指应用程序的用户界面,以及与用户交互所需的所有逻辑。后端指应用程序的服务端部分,用于处理数据、执行业务逻辑等。在Java中,前端开发主要使用JavaFX和S
2023-05-18
bootstrapstudio做app
Bootstrap Studio是一款非常流行的Web应用程序开发工具,它能够让开发人员快速创建响应式和美观的网站和Web应用程序。由于它易于学习和使用,因此越来越多的开发人员和设计师开始使用Bootstrap Studio来加快他们的Web应用程序开发流
2023-05-18
app怎么做成网页版
现在App在市场上已经非常普遍,但是一些企业可能还需要将自己的App转化为网页版,以满足更多用户的使用需求。本文将介绍如何将App转化为网页版这个过程。首先,需要了解App和网页的主要区别:App是指在手机、平板电脑等移动终端上安装的应用程序,而网页是指在
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号