1. 优化界面设计:使用简洁明了的色彩搭配和图标设计,突出重点内容。 2. 优化交互体验:简化页面跳转,提供流畅的触控体验,减少用户操作繁琐度。 3. 整合功能模块:将常用功能整合到一个页面,方便用户查找和使用。 4. 适配不同设备:专为不同屏幕大小和分辨率进行适配,确保页面在不同设备上显示良好。 5. 保持更新:及时更新内容和功能,保持与app同步更新,增加用户黏性。
以上就是一些基本的建议,希望能帮助你把手机网页做得更像app。记住,好的用户体验是留住用户的关键。
现在逐日增加的网站都有了自己的移动端网页,但是将网页转化为app仍旧是许多企业和互联网人士所感兴趣的话题。因为在手机应用市场推出一款app需要得到审核等限制,而将网页转化为app可以在很大可能性上防止这些限制。思路上,将网页转化为app有两种方法一种是把网页嵌入到app里面,另一种是使用Webview方法打开网页。这篇文章中将完整地介绍如何将网页转化为app。
一、嵌入方法
这样的方法的优点是轻量且开发成本低,这样的方法打开网页的效果和手机应用市场中的app效果类似。不过由于使用的是webview打开页面,所以加载速度和用户体验方面可能略逊于纯原生app。以下是具体实现方法
1. 打开安卓 Studio,选择新建一个Project,选择Empty Activity项目,项目名称随随便便,记住包名和项目路径,这两个后面会需要用到。
2. 在res文件夹下建立一个xml文件夹和values文件夹,分别用于保存布局文件和字符串资源文件。
3. 在xml文件夹下新建一个activity,main.xml文件,这个文件用于设定app的界面布局,可以选择使用LinearLayout、RelativeLayout或GridLayout等方法布局,这里我们用LinearLayout为例。
```
安卓:orientation=vertical 安卓:layout,width=match,parent
安卓:layout,height=match,parent>
安卓:id=@+id/webView
安卓:layout,width=match,parent
安卓:layout,height=wrap,content
安卓:layout,weight=1/>
安卓:id=@+id/progressBar
style=?安卓:attr/progressBarStyleHorizontal
安卓:layout,width=match,parent
安卓:layout,height=wrap,content
安卓:max=100
安卓:layout,weight=0/>
```
4. 在values文件夹下新建一个strings.xml文件,这个文件用于保存app中用到的各种字符串资源,包括app名称、网址等。
```
```
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的步骤了。最后,使用安卓 Studio把项目打包生成apk,就可以在手机上使用此app了。
二、Webview方法
此方法使用的相对较多,主如果因为它具有快速的开发速度并且能够多次迭代升级,但有时候需要进行深度定制。本文以安卓为例,以下是具体实现方法
1. 新建一个Activity、布局文件和Activity对应的Java类(例如MainActivity)。
2. 在activity,main.xml布局文件中加入如下代码
```
安卓:layout,width=match,parent
安卓:layout,height=match,parent>
安卓:id=@+id/webview
安卓:layout,width=match,parent
安卓: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() + 安卓,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的开发过程中了。