整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

只会html也可以做安卓app(附实例)

有人说我只会只会简单的html 能不能做安卓(android)手机上的app呢?答案是可以的。什么是android呢,用过手机的估计都知道了。App就是手机上的应用软件,一种移动客户端软件。掌握html,你就可以做一个HTML的网站了,这也不是APP啊。其实 我们利用html写出手机屏幕大小的web页面 让后放入手机浏览器内执行,就是一款web app了。在几年前的工作中有做过手机App项目,pc前端和android和ios程序员配合完成整个项目的开发,这也让我产生了学习android和ios程序开发的兴趣。于是写了第一个android程序first_app,分享给其他也想学习android移动开发的朋友或是好奇安卓app是怎么制作的朋友。Web app 也是app 的一种。可以把这个Html页面打包成app。本质上都是web,都是利用html、css、js构建的网站,不同的是,webapp利用框架技术等让你有了在使用App的感觉(比如页面不跳转刷新等)。这方面做的最好的是 HBuilder。使用它,你可以使用网页(html+css+js)快速地创建APP应用程序。并在android手机中展示和使用。(当然如果网页做得好的话,采用响应式布局,即可在手机上完美展示)。hbuilder优点:速度快,所需要的环境少,加快了开发者速度,不会因为各种JDK,java,Android环境而无法打包生成apk或ipa头疼,大大减少了开发繁琐操作。

我们首先打开web开发工具hbuilder,新建一个项目如图:

新建完成后, 在项目管理器会显示新建的项目目录,其中css,img,js和index.html这几个文件可删可改可替换。

unpackage文件夹是放置app图标和启动界面的图片。

1和2是mui框架,需要的css和js文件,不懂可以不用动。

页面入口默认是index.html,根据自己项目需要,更改APP的启动页面,3是manifest.json文件是移动App的配置文件,用于指定应用的显示名称、图标、应用入口文件地址及需要使用的设备权限等信息,用户可通过HBuilder的可视化界面视图或者源码视图来配置移动App的信息,当然如果你要设置 APP 的启动图和图标,你只需要在 manifest.json 里面进行设置即可,这就是为什么不要删掉的原因!

下图为index.html的内容,很简单,在html的body中写入内容。

云打包的好处就是我们不需要在本地搭建环境,直接提交上去,打包好会返回下载链接让我下载安装包,除了生产 Android 安装包之外,还可以生成 ios 的,我们这边只测试生成 Android 的安装包。

配置完成后,点击页面下方的图标配置:配置APP在手机上的显示图标;默认是HBuilder的图标:

点击"打开下载目录",找到app所在目录

提交之后会需要 2-5 分钟的打包,然后生成一个 apk 安装包,就可以在手机安装使用你开发得 app 了,什么签名这些全都不用搞。

打包成功后就可以将apk文件装到到android手机上查看效果了。如图:

pp开发是一个非常有趣的事情,如果你试着开发一个自己的app的话,你一定会爱上这项活动。

编者按:React Native愈发火爆,如果你尚未接触过,不如看看本文作者的入门指南,他会带你体验基于RN平台开发一款电子商务搜索类App的奇妙旅程!本文编译自Hackernoon,原文标题为:Building an e-commerce search app with react native,推荐有一定编程基础的读者阅读。

今天我们来聊一聊是如何在RN平台开发一款用于查找图书数据库的电子商务移动app。如果你之前没有使用过RN,那么现在就跟我一起开启你的移动端Javascript开发之旅吧。

2018年Javascript迎来了前所未有的发展,各种库、框架、开发工具都已经发展的相当的成熟了,整个社区也都在致力于使网上冲浪变得更加方便快捷。当然,开发过程中还是会存在一些bug,但是,如果你会用Javascript,那么这些小问题就都不是事。你可以利用JS来制作web app、后台服务器、移动端app。

React Native不仅可以像Cordova/Ionic/Phonegap等利用WebView架构和Javascript进行移动端APP开发,而且支持native编译,因此如果有需要也可以编写native代码。

你需要提前知道的事情

现在React Native非常的火,网上有很多的资源,所以你可以很容易从互联网上获取学习资源,因此,在你进行RN程序开发之前最好有一定的学习基础。如果你是刚接触这个项目,你可以先尝试学习下官方教程,如果,你更愿意跟着视频课程进行学习,那么我会强烈推荐你去看Kent C. Dodds在egghead上的免费课程“The Beginner’s Guide to ReactJS”

如果你对ES6+同样了解的话,那就再好不过了。这有一本ES6的入门指南,有了它,你就能很快上手了。

作为一个初学者,虽然我建议你去认真学习一下React,并开发一些网络版的APP,但是,如果你想抓紧时间上手开发自己的程序的话,好好的了解React的基本架构也是很有必要的,因为React和React Native具有相通的架构,只是他们最后的目标不同,一个是服务于Web APP的,另一个是服务于native APP

如果,你使用React或React Native 进行产品开发,你将节省大部分的时间和精力,因为,无论是IOS还是Andriod平台,社区上都有很多其他人共享的代码。这也是为什么RN开发平台被像爱彼迎,脸书,照片墙,沃尔玛和特斯拉等公司接受并利用它开发移动端app的原因。

基本概念

简单的介绍一下React Native是如何进行工作的以及JavaScript的代码是如何装换成到一个强大的移动端app。我们需要知道的是任何的一个React Native 应用都是双线程的:

1. 主线程

主线程管理着程序的用户界面,处理包括手势和触摸在内的所有本地交互。因为RN允许在源代码中添加android java,Objective C或swift代码,所以这些代码块也可以在此线程中执行。是不是感觉这样开发变得很舒服。

2. JavaScript 线程

这个线程执行在JavaScript编译器写的JavaScript代码(默认状态下是在iOS平台中,并且通过构件可以发送到Android设备上。)

为了使应用程序正常工作,两个线程之间就需要搭一座桥接器来实现交流,就像下面的示意图展示的那样。

React Native core architecture

正如名字所表示的,中间件可以帮助实现JavaScriprt线程和主线程之间的数据(信息)处理。这些信息可以被异步和批量处理。中间件可以保证JS代码与本机模块进行对话并且与设备API交互。

现在我们对RN的结构有了基本的了解,接下来我们来介绍实现的过程。

搭建开发环境

如果你已经安装了RN并且对开发系统比较了解,你就可以跳过去看下一部分内容了。如果你是刚入门的新手,那么你可以按照官方的安装指南(会有更加详细的介绍)去操作,或者按照我下面说的去做。首先确认你的电脑上已经成功安装了node和yarn模块。我们将利用CRNA(create-react-native-app )工具来创建模版,运行下面的指令实现程序“HelloNative”

create-react-native-app HelloNative

cd HelloNative

npm start

这将为你启动一个可扩展的服务器,并在终端输出一段QR代码。使用CRNA工具出现的警告只有:

it may not use the latest version of react-native

如果出现这个警告,你可以使用Expo CLI 或者 Expo XDE去解决。

然后安装Expo 在你的iOS系统或者Android系统上,并将手机和你的电脑一样联接到网络中。使用Expo app你就可以在你的手机上进行操作啦,想想就很令人激动把。就像下面图显示的一样:

React Native app

你可以运用yarn ios 和yarn android指令分别在iOS和Android模拟器上测试,这样你就可以运行你的React-Native app啦。

如果你知道如何打开app中的扩展菜单,你将会看到有支持热加载和实时重载选项。这些可以使你可以迅速在Andriod环境下加载你的app

A closer look at the developer options

扩展操作同时具有了debugging模块,在后面的内容中我们将进行详细的介绍。

调试模块

远程调试JS程序可以让我们查看相关的控制信息和错误信息。这让我们的开发和调试过程变得更加容易,另外,你还需要安装 React Native debugger

React Native Debugger in action

这是一个非常实用的工具,可以帮助我们查看React Native app中的模块声明和类树,你也可以在上面查看和码上你开发的app需要运用的模块。

准备阶段

React Native提供了一些开发app的基本模块,你可以在list of available components here中找到React Native提供的不同平台下对应的功能模块,这些模块可以帮助你进行开发属于你自己的app,这让开发过程变得更加简单。React Native支持fetch 功能,这样使得开发人员在开发过程中就可以像网页一样从服务器上获取数据和处理http请求。

对于我们将要设计的搜索app,我们将使用能够在短时间内遍历大量数据的NoSQL数据架构进行开发。它将对以JSON为对象的所有文档进行全文搜索。

可能你以前没有接触过Elasticsearch,但是你不得不接受使用Elasticsearch是个趋势。你可以从下面的介绍中学习相关的基础。

Elasticsearch的起步并不是那样的简单,设置环境、添加数据、查看数据等等操作对于一个初学者来讲并不是一件简单的事,因此,Elasticsearch的社区里面提供了很多开源的工具来帮助初学者进行开发。

· Importer 添加数据到Elasticsearch中

· Data Browser 以excel表格的形式查看Elasticsearch中的数据。

· Query Builder 组织管理关联的Elasticsearch队列。

在这些工具的帮助下,我们可以直接利用这些工具和React Native 去组建一个强大的移动端图书馆app

你可以按照官网的指导安装设计Elasticsearch服务器,或者你可以申请一个appbase.io 的账号,appbase.io 提供了一个Elasticsearch的服务器,这样就更加方便了,因此,我们就用appbase.io平台开始我们的开发。

我已经简单的创建了一个基本的数据搜索的app,你可以进入下图进行查看。

Dataset of books

你可以利用最下面的 Clone this app选项复制已经存在的模版作为你开发的基础。这些授权信任书可以帮助我们连接到UI上,我们在这篇教程中要使开发的app的授权信任模块如下

{

app: "good-books-ds",

credentials: "nY6NNTZZ6:27b76b9f-18ea-456c-bc5e-3a5263ebc63d",

type: "good-books-ds"

}

开启 Reactive search之旅

我们将使用ReactiveSearch来进行开发,因为ReactiveSearch是一个Elasticsearch上的UI模块的React和React Native通用的开源库,它提供了一个丰富的资源库、完善的配置环境以及架构,这样你就可以连接到任何一个Elasticsearch的服务器上,

为什么我们需要ReacttiveSearch呢?

ReactiveSearch提供了一整套连接到Elasticsearch服务器上的模块,可以创建队列、具有灵活直观的特点。并且可以让你的模块可以与其他的模块实现通信,比如说你创建了一个A模块,A模块实现了升级更新,这样需要B模块可以获取信息并且可以实现不依靠任何关联额自主的实现更新。

Reactivesearch-native上有很多的nativeUI模块,这些可以使你开发app的UI 模块的时候有所借鉴,让你的app变得更加的美观和智能。

开发搜索app

我们需要在我们的React Native项目下利用下面的代码安装reactivesearch-native

yarn add @appbaseio/reactivesearch-native

全部的ReactiveSearch的模块都被包装在ReactiveBase 的容器中,

我们将使用这些在App.js中Adding ReactiveBase component React Native 中的Styling和网页类似,我们这里采用的是Flex中的基本Styling,如果你之前没有接触过这个Flex的话呢,个人建议你可以尝试从FlexBox Froggy开始起步。

除了Stylesheet以外,我们的代码中还使用了React Native中的两个其他的模块。

· View 在React Native中和html中的div元素差不多是一个容器,可以支持多种操作。

· Text 这个是React Native中可以查阅相关内容的的模块。

在我们设计的BookSearch app中,我们将需要尝试Reactivesearch-native中的另外的两个模块:

1. Search box for searching the books:

我们这里将使用reactivesearch-native中的DataSearch模块去实现多区域的搜索功能,其核心如下所示

<DataSearch

componentId="searchbox"

dataField={[

'original_title',

'original_title.search',

'authors',

'authors.search',

]}

placeholder="Search for books"

autosuggest={false}

/>

DataSearch使用起来相当的方便,由于其本身就是在dataFied(s)的队列中,因此这个模块就可以轻松的帮助我们实现转入到ReactiveBase模块中,并且可以传递和接收一切索引的信息,这样就不需要我们自己去编写相关的队列算法了。

2. Result List View for displaying the search results:

结果展示模块

我们在结果的输出上主要采用的是reactivesearch-native 中的ReactiveList模块:

<ReactiveList

componentId="results"

dataField="original_title"

size={7}

showResultStats={false}

pagination={true}

react={{

and: "searchbox"

}}

onData={(res) => (

<View style={styles.result}>

<Image source={{ uri: res.image }} style={styles.image} />

<View style={styles.item}>

<Text style={styles.title}>{res.original_title}</Text>

<Text>{res.authors}</Text>

</View>

</View>

)}

/>

上面的代码是如何工作的呢?

· dataField: 通过name field去调整结果

· onData: 接收返回值为JSX相关结果的函数,这是我们常用来查看部分结果的方式。

如果你想让你的app变得美观,想要调整一些字体的话,可以在你的程序里面输入下面的代码

async componentWillMount() {

await Expo.Font.loadAsync({

Roboto: require('native-base/Fonts/Roboto.ttf'),

Roboto_medium: require('native-base/Fonts/Roboto_medium.ttf'),

Ionicons: require('@expo/vector-icons/fonts/Ionicons.ttf'),

});

}

编后语:如果你很有兴趣,还想了解更多,不妨去看看这两个论坛,和更多朋友交流下你的想法:

1. ReactiveSearch GitHub repo

2. ReactiveSearch docs

原文链接:

https://hackernoon.com/building-an-e-commerce-search-app-with-react-native-2c87760a2315

G技术的到来可以说让我们的生活变得更加便利,连接互联网的速度更快,很多人都对5G技术非常关注,如今由5G技术衍生的很多手机APP产品数不胜数,那么这些APP产品就和我们的Web前端有着密切到的联系。

前端开发是创建Web页面或APP等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。

它从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。

下面这期教程就是千锋武汉小编为大家整理的Koala老师提供的《移动端网站布局开发教程》,如何打造属于自己的一款“手机APP”同学们可要认真观看哦~

授课讲师

奚皓源-Koala

6年以上从业经验,曾在中国煤炭总局航测遥感局等知名IT公司任职,主持并参与陕西省天然气管道巡系统、中煤e鸟管道巡线系统、安徽省天然气管道泄漏探测系统、河北省霸州市数字城市共享平台等项目的开发。

授课方式生动有趣,使学生获得生动而直观的知识。

擅长HTML5、CSS3、Node、React、Vue、Angular、小程序等开发技术。

课程简介

随着5G技术的到来,人们的生活方式发生了翻天腹地的改变,同时也让开发者们的脚步逐渐踏入了移动端互联网中。学习完本节课可以让大家领略到如何开发一个专属于您自己的“手机APP”。

课程目录

1、初识移动端m站

2、根据用户设备进行页面分发

3、viewport视口

4、Web服务器创建1

5、gulp-connect使用

6、m站项目初体验

7、全局样式

8、首页header

9、slider设置

10、栏目编写

11、list列表

12、tabs样式设置

13、tab内容设置

14、特产商城列表

15、美丽乡村与新闻资讯

16、公共link导航

17、详情页面

18、详情下拉切换

19、孟经旅游tap切换页

20、美丽乡村

21、特产商城页面

22、个人页面

视频教程

(视频教程部分截图)

怎么样,是不是觉得这套教程不错?现在,你只需要在后台回复「 移动端网站布局」,即可领取全套视频教程+资料!还等什么,抓紧时间留言吧!