如何利用html5开发android界面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用html5开发android界面相关的知识,希望对你有一定的参考价值。

H5开发安卓界面需要注意以下三点:
(上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础
(中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试
(下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建
进入正题
● Android设备多分辨率的问题
Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示
Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍
三种解决方式:1 viewport属性 2 CSS控制 3 JS控制
1 viewport属性放在HTML的<meta>中
html代码:

<span style="font-size: x-small;"> <head>
<title>Exmaple</title>
<meta name=”viewport” content=”width=device-width,user-scalable=no”/>
</head></span>
meta中viewport的属性如下:
<span style="font-size: x-small;"> <meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi |
high-dpi | medium-dpi | low-dpi]
"
/>
</span>
2 CSS控制设备密度
为每种密度创建独立的样式表(注意其中的webkit-device-pixel-ratio 3个数值对应3种分辨率)
html代码:

<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />
3 JS控制
Android浏览器和WebView支持查询当前设别密度的DOM特性
window.devicePixelRatio 同样值有3个(0.75,1,1.5对应3种分辨率)
JS中查询设备密度的方法
js代码:
if (window.devicePixelRatio == 1.5)
alert("This is a high-density screen");
else if (window.devicePixelRation == 0.75)
alert("This is a low-density screen");

Android中构建HTML5应用
使用WebView控件 与其他控件的使用方法相同 在layout中使用一个<WebView>标签
WebView不包括导航栏,地址栏等完整浏览器功能,只用于显示一个网页。
参考技术A

单纯的使用HTML5只能通过给Android应用添加webview控件来实现,其实质是在APP上嵌入一个网页浏览框来浏览html文件,如果想彻底的通过网页前端技术去开发Android界面,那么就应该使用react native。


React Native的出现

React Native的出现,似乎是扛起的反H5的旗子。就像当年Facebook放弃H5,全部转向Native一样。那么,React Native是否又是在吞食Native的领地呢?技术的发展,是用户风向标的导向起的作用。任何一门技术的出现,都是当时用户需求的体现。


React Native相比H5的优势

1、原生应用的用户体验

2、跨平台特性

3、开发人员单一技术栈

4、上手快,入门容易

5、社区繁荣

参考技术B 1 viewport属性放在HTML的<meta>中
<SPAN style="FONT-SIZE: x-small"> <head>
<title>Exmaple</title>
<meta name=”viewport” content=”width=device-width,user-scalable=no”/>
</head></SPAN>

meta中viewport的属性如下

<SPAN style="FONT-SIZE: x-small"> <meta name="viewport"
content="
height = [pixel_value | device-height] ,
width = [pixel_value | device-width ] ,
initial-scale = float_value ,
minimum-scale = float_value ,
maximum-scale = float_value ,
user-scalable = [yes | no] ,
target-densitydpi = [dpi_value | device-dpi |
high-dpi | medium-dpi | low-dpi]
"
/></SPAN>
参考技术C 安卓有webview,跟访问网页一样,你只要写好的html5页面能够兼容各种安卓的屏幕尺寸就没问题,运行起来比原生的慢,苹果的会好些。
就是你写好页面,用客户端去调用访问你的页面就ok了。

如何利用cookie来保存用户登录账号

众所周知,cookie在网页编写中不接或缺,今天就谈谈如何利用cookie技术来保存用户登录账号

1.首先是否保存用户登录账号当然是用户自行决定,所以我们需要在用户登录界面设置一个复选框,以此取得用户意愿信息,以便为下一步操作提供判断依据。

   require_once ‘common.php‘;

   用户账号:</td><td><input type="text" name="id" value="<?php echo getCookieValue("id") ?>">

   是否保存用户账号<input type="checkbox" name="keepId"/>     //login.php

2.当用户决定保存账号信息是,我们如何以此为依据来执行setcookie()操作呢。

   $id=$_POST[‘id‘];

   if(!empty($_POST[‘keepID‘])){

         setcookie("id" , $id , time()+7*24*3600); 

   }else{

         if(!empty($_POST[‘id‘])){        //如果之前没有保存过用户账号就不用管;如果之前选择的是保存,那么就需要清除保存过的$_COOKIE[‘id‘]

              setcookie("id","",time()-100);

   }}

3.那么我们如何将保存的账号信息显示在登录页面的账号框呢? 这里就在common.php中编写一个小函数

    function getCookieValue($key){
          if (!empty($_COOKIE[$key])){
                 return $_COOKIE[$key];
               }else {
                      return "";
                 }}

以上是关于如何利用html5开发android界面的主要内容,如果未能解决你的问题,请参考以下文章

Android移动应用开发之界面跳转

Android 利用WebViewJavascriptBridge 实现js和java的交互

安卓开发学习04

如何在Android Studio上利用云数据库Mysql实现在线登录注册?

Android studio 如何启动

android 6.0 Intent 安装apk闪退