html+css+js+Hbuilder开发一款安卓APP,根本不用学Android开发!
我们知道,要做一款安卓APP,咱们得先学安卓开发语言,例如java,前端后端。那么没有这些开发语言基础,咱们怎么做呢?其实现在有比较好的开发方案就是做webAPP,咱们可以用web前端知识构建安卓客户端,用php构建服务端。
首先我们要准备:
1、html+css+js基础知识,这是web前端开发最基础的
2、php后端,mysql数据库基础知识
3、Hbuilder,这是一款继承开发工具,集成代码编辑器,运行,真机模拟,调试等工具,还支持在线打包,也就是说你不用配置什么java开发环境就可以开发安卓软件,详情戳这里 下载软件
4、前端UI框架,本次教程我使用的是谷歌的MDUI框架,详情请戳:这里下载
OK,以上准备好,先看看做出来的并且打包好的APP界面和安装包。
demo:demo.apk
下面就开始做事了!
1、先打开Hbuilder(以下简称HB)
2、创建一个webapp工程,空模板就行
3、可以创建在桌面,然后就可以看到整个工程的目录了,但系统默认生成的文件,可以删掉,留下一个manifest.json
4、然后把我们提前下载好的前端UI所有文件Copy进来,我用的是MDUI
5、然后就可以开始对代码进行修改了,我们看到HB的代码编辑器里面左侧就有整个项目的文件了
这些项目文件不就是web前端的一些结构吗?所以很容易,咱们就用开发web前端网站的思维去做就好了。
6、网站数据怎么来?不是只做个APP,里面没数据吧?也总不能写死吧?
网站里面的数据就通过php+mysql实现的json数据接口就可以了,咱们可以用jQuery把数据拼接到index.html
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script>
$(function(){
$.ajax({
//请求方式
type:"GET",
//文件位置
url:"test.php",
//返回数据格式为json,也可以是其他格式如
dataType: "json",
//请求成功拼接html
success: function(data){
var str="<ul>";
$.each(data,function(i,n){
str+="<li>";
str+="<p>"+n.title+"</p>";
str+="</li>";
str+="<br>";
});
str+="</ul>";
$("#tab1").append(str);
}
});
});
</script>
上面的就是jQuery-ajax实现的把test.php从数据库取出来的数据拼接到index.html页面的id为tab1的div中的实例。
test.php
<?php
header("content-type:application/json");// 尽量不要用text/json 某些浏览器会不兼容
//0、隐藏错误信息
error_reporting(E_ALL^E_NOTICE^E_WARNING);
//连接数据库
$con = mysql_connect("数据库地址","数据库账号","数据库密码");
if (!$con)
{
die('连接数据库失败,失败原因:' . mysql_error());
}
//设置数据库字符集
mysql_query("SET NAMES UTF8");
//查询数据库
mysql_select_db("test", $con);
//获取最新的20条数据
$result = mysql_query("SELECT * FROM test_tb ORDER BY id DESC LIMIT 0,20");
$results = array();
while ($row = mysql_fetch_assoc($result)) {
$results[] = $row;
}
// 将数组转成json格式
echo json_encode($results);
// 关闭连接
mysql_close($con);
?>
上面的test.php就是后端,非常简单的后端,实现从数据库取数据并输出成json格式,那么运行test.php的结果返回的数据格式是json格式。
然后通过index.html的ajax请求数据并拼接在div中显示就可以了。
在这期间你可以进行真机调试,最后打包!
云打包的好处就是我们不需要在本地搭建环境,直接提交上去,打包好会返回下载链接让我下载安装包,除了生产Android安装包之外,还可以生成ios的,我们这边只测试生成Android的安装包。
提交之后会需要2-5分钟的打包,然后生成一个apk安装包,就可以在手机安装使用你开发得app了,什么签名这些全都不用搞。
当然如果你要设置APP的启动图和图标,你只需要在manifest.json里面进行设置即可,这就是一开始为什么不要删掉的原因!
本文写作用时:30分钟
作者:TANKING
技术分享博客:http://likeyunba.com/pc/jishu...
html+css+js+Hbuilder开发一款安卓APP,根本不用学Android开发!的更多相关文章
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
- 学Android开发 这19个开发工具助你顺风顺水
学Android开发 这19个开发工具助你顺风顺水 要想快速开发一个Android应用,通常会用到很多工具,巧妙利用这些工具,能让我们的开发工作事半功倍,节省大量时间,下面大连Android开发培训小 ...
- 学Android开发的人可以去的几个网站
学Android开发的人可以去的几个网站 1.<IT蓝豹>Android开源项目分享平台国内非常好的一个Android开发者分享站,分享android所有特效,每天都有最新的Android ...
- 学Android开发,入门语言java知识点
学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(四)
零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter具体解释 4.3 ListView分布与滚动事件 4.4 ListView事件监听 ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(二)
零基础学Android开发:蓝牙聊天室APP第二讲 2.1 课程内容应用场景 2.2 Android UI设计 2.3 组件布局:LinearLayout和RelativeLayout 2.4 Tex ...
- CSharp程序员学Android开发---3.Android内部元素不填充BUG
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---2.个人总结的快捷键
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
随机推荐
- 2019-2020-1 20199324《Linux内核原理与分析》第六周作业
第五章 系统调用的三层机制(下) 1.给MenuOS增加命令 进入Linuxkernel目录下,强制删除当前menu目录,再重新克隆一个新版本的menu 进入menu,运行make roofts脚本就 ...
- 吴裕雄--天生自然C语言开发:文件读写
#include <stdio.h> int main() { FILE *fp = NULL; fp = fopen("/tmp/test.txt", "w ...
- jsp页面之间传中文参数显示乱码问题的解决
最近在项目中遇到jsp页面通过url传递参数,出现乱码,但是在本地是正常显示,在服务器上却是乱码,找了好久都没找到解决方法,最终在大神的帮助下解决了这个问题 比如从a.jsp像b.jsp页面传递参数 ...
- Java源码之ArrayList
本文源码均来自Java 8 总体介绍 Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类.Set和List两个类继承于它.Set中不能包含重复的元素,也没有顺序来存放. ...
- mysql查找json格式列的指定字段值
SELECT json_extract(字段名,'$.json结构') FROM 表名;如果json里有双引号,那这样取出来的数据也带双引号,要去掉就使用REPLACE函数 例如t_submit_an ...
- 58)PHP,后台登录步骤示意图
注意上面的action提交位置: 并且注意下面的两个东西:
- javaweb三大框架SSH
1.MVC三层架构:模型层,控制层和视图层.模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作:控制层,用Struts框架来连接 ...
- understanding android build layer · Dylan
build / android 先看看Android官方的解释 Understand Build Layers The build hierarchy includes the abstraction ...
- linux下文件夹归置方式
/bin:二进制可执行命令./dev:设备特殊文件./etc:系统管理和配置文件./etc/rc.d:启动的配 置文件和脚本./home:用户主目录的基点,比如用户user的主目录就是/home/us ...
- MYSQL语句中的explain
1.使用mysql explain的原因 在我们程序员的日常写代码中,有时候会发现我们写的sql语句运行的特别慢,导致响应时间特别长,这种情况在高并发的情况下,我们的网站会直接崩溃,为什么双十一的淘宝 ...