我们知道,要做一款安卓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开发!的更多相关文章

  1. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  2. 学Android开发 这19个开发工具助你顺风顺水

    学Android开发 这19个开发工具助你顺风顺水 要想快速开发一个Android应用,通常会用到很多工具,巧妙利用这些工具,能让我们的开发工作事半功倍,节省大量时间,下面大连Android开发培训小 ...

  3. 学Android开发的人可以去的几个网站

    学Android开发的人可以去的几个网站 1.<IT蓝豹>Android开源项目分享平台国内非常好的一个Android开发者分享站,分享android所有特效,每天都有最新的Android ...

  4. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  5. 【视频】零基础学Android开发:蓝牙聊天室APP(四)

    零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter具体解释 4.3 ListView分布与滚动事件 4.4 ListView事件监听 ...

  6. 【视频】零基础学Android开发:蓝牙聊天室APP(二)

    零基础学Android开发:蓝牙聊天室APP第二讲 2.1 课程内容应用场景 2.2 Android UI设计 2.3 组件布局:LinearLayout和RelativeLayout 2.4 Tex ...

  7. CSharp程序员学Android开发---3.Android内部元素不填充BUG

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  8. CSharp程序员学Android开发---2.个人总结的快捷键

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  9. CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

随机推荐

  1. AOP实现防止接口重复提交

    项目中对于状态变更接口存在重复提交的问题. package com.yxx.survey.foundation.aop; import com.alibaba.fastjson.JSON; impor ...

  2. logService

    vpackage org.linlinjava.litemall.admin.service; import org.apache.shiro.SecurityUtils; import org.ap ...

  3. 在windows系统下安装使用msf

    前沿 msf基本是我在kali里最经使用的工具了 因为今天碰到一些关于VmWare的事情没有解决 windows在前一段时间更新,要求我卸载vmware虚拟机,否则就无法更新. 卸载之后再装回来就无法 ...

  4. single-value grouping |limit grouping|cutpoint grouping|Lower class limit|Upper class limit|Class width|Class mark|rounding error or roundoff error|Histograms|Dotplots|Stem-and-Leaf

    2.3 Organizing Quantitative Data group quantitative data: To organize quantitative data, we first gr ...

  5. BBuBBBlesort!

    题目描述 Snuke got an integer sequence of length N from his mother, as a birthday present. The i-th (1≦i ...

  6. EmguCV C# 安装入门教程

    EmguCv3的安装. EmguCv3下载网址 http://sourceforge.net/projects/emgucv/files/emgucv/3.0.0/ 推荐下载第一个: 点击direct ...

  7. [Windows] Windows API 串口通信

    Windows 中通过Windows API 进行串口通信主要有以下步骤: 打开串口 配置串口 读写串口 关闭串口 打开串口 关键API: CreateFile Windows 中进行设备的操作,第一 ...

  8. JVM常见问题分析

    JVM常见问题分析 启动,并且去查看日志 ./startup.sh && tail -f ../logs/catalina.out 常见有有以下几个问题: 1.java.lang.Ou ...

  9. mac命令日常总结

    查看某个端口被占用 lsof -i tcp:8080 kill进程: 找到进程的PID,使用kill命令:kill -9 716(PID) date 显示系统日期 mkdir xx 创建xx目录 rm ...

  10. js怎么获取动态链式属性呢?

    动态链式属性?我自己起的名字,样子就是 var data={ list:{ name:'zxf' } }var prop="list.name";console.log(data[ ...