Android脚本应用开发技术

节选

[

  5Android Widget  Widget也称微件,其*初的概念是1998年一个叫Rose的苹果计算机工程师提出的,直到2003年Widget在苹果操作系统上以小工具形式出现的时候才正式为人们所知,随后无数大公司都开始接受并应用这一思路。Widget实际上是一个小型的应用程式,它可以是一个时钟,一个日记簿,一段视频,天气预报,一个Flash游戏等小程序。简单地说,Widget可以理解为“应用小插件”,一种可供用户制作和自由下载的小工具,它包含娱乐、工作和学习等多种实用功能。目前的Widget应用大体可分为三种: Desktop Widget、Web Widget以及Mobile Widget。Desktop Widget可以在计算机桌面上独立执行,用户无须通过浏览器便可连接到网络。时至今日,很多人已对苹果、雅虎、Google及微软开发的Desktop Widget比较熟悉。通过这些小型应用软件,用户可把各类网上信息(如天气、新闻头条、图片等)放到桌面上。Mobile Widget实际上是运行在移动设备上的Desktop Widget。  为了提高开发效率,Android系统提供有标准的开发类Widget,这类Widget就是开发中常用的控件。虽然控件是一个拥有一定功能的Widget,但控件不能独立运行,它需要嵌到应用程序中才可以运行。控件是对数据和方法的封装,控件可以有自己的属性和方法,属性是控件数据的简单访问者,方法是控件一些可见的功能。控件是Android用户界面中重要的组成元素之一,主要包括文本框、按钮、单选按钮、多选按钮等,能够实现人机交互,如显示文本、输入编辑文本、选择选项等。  5.1TextView  TextView控件用来向用户显示一行或多行的文本或者标签,它是不可编辑的。TextView控件中包含很多属性,如文本的颜色和大小等属性,在XML文件中可以对属性设置相应的属性值,以达到相应的效果。TextView控件常用属性如表5��1所示。  下面通过例5��1说明TextView控件。本例首先描述了一个线性布局,然后在布局中添加了一个TextView控件,用来显示文本。本例由两个文件组成,一个是用户界面XML文件mylayout.xml,另一个是JavaScript文件test.js。表5��1TextView常用属性和说明  属性说明android:gravity设置控件中文字对齐方向,其值为left、center和rightandroid:height设置控件高度android:width设置控件宽度android:hint当控件显示内容为空时显示的文本(即提示信息)android:textColorHint设置提示信息文字的颜色,默认为灰色,与hint一起使用android:text设置控件上的文本内容android:textColor设置文本颜色android:textSize设置文本字体大小android:typeface设置文本字体,Android系统默认支持三种字体,分别为: sans,serif,monospace,除此之外还可以使用其他字体文件(*.ttf)android:background设置控件背景颜色android:textStyle设置字体为粗体和斜体,取值为bold(粗体)和italic(斜体),值可以组合,组合时值之间要加|符号,例如,android:textStyle=”bold|italic”表示文本为粗斜体android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据android:autoLink当文本为URL链接/email/电话号码/map时,设置是否文本显示为可单击的链接。可选值有none/web/email/phone/map/all【例5��1】(代码位置: \5\textview)  文件mylayout.xml:  <>  xmlns:android=”http://schemas.android.com/apk/res/android”  android:orientation=”vertical”  android:layout_width=”fill_parent”  android:layout_height=”fill_parent”  >  <>  android:text=”这是TextView控件,用来显示文本,文字居中对齐。”  android:layout_width=”wrap_content”  android:layout_height=”wrap_content”  android:textSize=”25px”  android:textColor=”#fff00000″  android:background=”#00ff00″  android:textStyle=”bold”  android:gravity=”center”  android:height=”200px”  />  文件test.js: load(“/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js”);  var droid=new Android();  var layout=file_get_contents(“/sdcard/sl4a/scripts/mylayout.xml”);  droid.fullShow(layout);  droid.eventWait(10000);  function file_get_contents(fileName) {  var file=new java.io.File(fileName);  var reader=new java.io.BufferedReader(new java.io.FileReader(file));  var tempString=null;  var fileString=””;  //一次读入一行,直到读入null时文件结束  while ((tempString=reader.readLine()) !=null) {  fileString=fileString+tempString ;  }  reader.close();  return fileString;  }  在文件mylayout.xml中,首先定义了一个垂直线性布局,然后在该布局中通过TextView标签添加了一个文本显示控件,通过属性android:text设置文本显示内容为“这是TextView控件,用来显示文本,文字居中对齐。”,通过属性android:textSize设置文本字体大小为“25px”,通过属性android:textColor设置文本字体颜色,通过属性android:textStyle设置文本字体为粗体。  程序运行之前,先把文件mylayout.xml和文件test.js复制到手机或模拟器中的/sdcard/sl4a/scripts/目录,然后再运行test.js,这时屏幕上会出现一个文本控件,显示文本内容为“这是TextView控件,用来显示文本,文字居中对齐。”。  5.2EditText  用户使用手机编辑发送信息时,屏幕上会出现一个文本编辑框,用来输入、编辑信息。文本编辑框控件也就是EditText控件,它是可编辑的文本控件,用户可以在该控件中编辑要输入的内容,然后该控件接收用户的输入,并把用户的输入传输给Android应用处理,实现人机交互。EditText控件是Android应用中非常重要的控件,应用非常广泛。例如,用户在登录QQ时,需要通过密码编辑框输入密码;用户在拨打电话时,需要通过文本编辑框输入电话号码等。  用户使用EditText控件时,输入的文本内容可以是单行文本,也可以是多行文本,可以是不同的类型,如数字、文字、时间日期、邮箱地址、密码等,这时控件的属性android:inputType显得尤其重要,在XML文件中可以通过设置属性android:inputType的属性值,指定EditText控件接收相应类型的文本,同时,EditText控件还会让虚拟键盘来适应输入框中内容的类型。属性android:inputType的值及含义说明如表5��2所示。表5��2android:inputType值及含义  属 性 值含义(文本类型)属 性 值含义(文本类型)text任何文本textPassword密码输入number数字datetime时间日期numberDecimal带小数点的数字time时间phone电话号码date日期textEmailAddress邮箱地址格式textMultiLine多行输入textUri网址singleLine单行输入下面通过实例5.2描述了EditText控件。该例中通过属性android:inputType=”text”设置该控件可接受任何文本,没有格式类型约束。本例包含两个文件,一个是XML布局文件mylayout.xml;另一个是PHP文件test.php。  ……

]

本书特色

[

本书以SL4A技术为核心内容,以JavaScript为主要开发语言,系统地阐述了Android脚本开发技术。本书共13章,第1章对Android发展前景、历史发展、SL4A工作原理和脚本开发环境等内容进行了详细介绍。第2章对JavaScript脚本的变量、数据结构、控制语句、函数、数组、对象和Rhino引擎等内容进行了详细介绍。第3~6章详细介绍了用户屏幕界面技术,包括对话框、屏幕布局、屏幕控件和事件。第7章介绍了数据持久化技术,包括*项、数据库、文件和网络。第8章对Android的4大组件进行了详细介绍,包括意图、活动、广播、内容和服务。第9章对扫描码、浏览任务、应用管理、唤醒锁、屏幕设置和飞行模式等技术内容进行了详细介绍。第10章对电话、短信、蓝牙和WiFi通信以及指南针、GPS、方向、加速度和磁力等传感器技术进行了介绍。第11章对视频拍摄、媒体录制、媒体播放、语音合成和语音识别进行了详细介绍。第12章介绍了混合开发模式,并介绍HTML5在混合开发模式中的应用。第13章对Android脚本应用运行方式和开发常见问题进行了介绍。
本书涵盖Android众多常用开发技术,对开发技术给出了应用背景、工作原理、开发方法和应用范例,每个应用范例都有翔实可运行的代码,实例代码附有详细注释、分析说明及运行效果图。
本书适用于高等院校计算机、软件工程和软件技术专业大专生、本科生和研究生,同时可供对JavaScript等脚本比较熟悉的开发人员和研究人员等参考和研究。

]

内容简介

[

  本书以SL4A技术为核心内容,以JavaScript为主要开发语言,系统地阐述了Android脚本开发技术。本书共13章,第1章对Android发展前景、历史发展、SL4A工作原理和脚本开发环境等内容进行了详细介绍。第2章对JavaScript脚本的变量、数据结构、控制语句、函数、数组、对象和Rhino引擎等内容进行了详细介绍。第3~6章详细介绍了用户屏幕界面技术,包括对话框、屏幕布局、屏幕控件和事件。第7章介绍了数据持久化技术,包括数据库、文件和网络。第8章对Android的4大组件进行了详细介绍,包括意图、活动、广播、内容和服务。第9章对扫描码、浏览任务、应用管理、唤醒锁、屏幕设置和飞行模式等技术内容进行了详细介绍。第10章对电话、短信、蓝牙和WiFi通信以及指南针、GPS、方向、加速度和磁力等传感器技术进行了介绍。第11章对视频拍摄、媒体录制、媒体播放、语音合成和语音识别进行了详细介绍。第12章介绍了混合开发模式,并介绍HTML5在混合开发模式中的应用。第13章对Android脚本应用运行方式和开发常见问题进行了介绍。  本书涵盖Android众多常用开发技术,对开发技术给出了应用背景、工作原理、开发方法和应用范例,每个应用范例都有翔实可运行的代码,实例代码附有详细注释、分析说明及运行效果图。  本书适用于高等院校计算机、软件工程和软件技术专业大专生、本科生和研究生,同时可供对JavaScript等脚本比较熟悉的开发人员和研究人员等参考和研究。

]

目录

第1章Android开发概述11.1Android及其前景11.2Android的优势及历史发展11.2.1Android的优势11.2.2Android发行版本21.3Android系统架构31.4SL4A及脚本引擎41.4.1SL4A是什么41.4.2SL4A工作原理41.4.3脚本和脚本引擎71.4.4Android支持的脚本引擎81.5Android 脚本开发环境91.5.1Java JDK91.5.2Android SDK安装91.5.3模拟器的创建和管理101.5.4SL4A与脚本引擎的安装111.5.5运行**个Android脚本程序111.5.6脚本编辑器131.6SL4A API数据标准131.7Android 辅助开发工具141.7.1DDMS141.7.2adb调试桥15第2章Android JavaScript脚本基础172.1JavaScript脚本编程基础172.1.1变量172.1.2数据类型182.1.3运算符和表达式202.2JavaScript控制语句262.2.1条件语句262.2.2循环语句292.3JavaScript数组、函数和对象332.3.1数组332.3.2函数332.3.3对象362.4XML和JSON392.4.1什么是XML392.4.2XML基础402.4.3什么是JSON412.4.4JSON基础412.5Rhino引擎与Java语言432.5.1搭建Rhino开发环境432.5.2Rhino和Java类库、数组、对象和接口44第3章SL4A UI API与界面开发453.1警告对话框和对话框按钮473.2请求用户输入信息和密码对话框483.3列表493.4单选和多选按钮513.5时间设置对话框543.6日期设置对话框553.7水平进度条563.8搜索进度条573.9等待完成进度条58第4章Android UI布局604.1界面布局管理604.2LinearLayout布局674.3FrameLayout布局704.4AbsoluteLayout布局724.5RelativeLayout布局724.6TableLayout布局76第5章Android Widget805.1TextView805.2EditText825.3Button875.4ImageButton895.5RadioButton和CheckBox925.6ToggleButton965.7DataPicker和TimePicker985.8ImageView1005.9ProgressBar、SeekBar和RatingBar1025.10Spinner和ListView1065.11Menu110第6章事件响应处理1146.1事件处理模型1146.2事件API1156.3事件数据结构1176.4事件处理1216.4.1菜单事件处理1216.4.2按钮事件处理1236.4.3列表事件处理1266.4.4键盘事件处理1286.4.5其他事件处理131第7章数据持久化1357.1首选项1357.2SQLite数据库1407.2.1SQLite是什么1407.2.2SQL语法1417.2.3面向脚本的SQLite3框架1447.2.4使用SQL操作SQLite31457.3文件持久化1467.3.1JavaScript与Java文件类1467.3.2文件编程过程1487.3.3文件持久化编程1497.4网络持久化1507.4.1JavaScript与Java网络类1507.4.2网络编程过程1527.4.3网络持久化编程152第8章Android的4个基本组件1558.1意图1558.1.1意图是什么1558.1.2意图数据结构1568.1.3构造意图及通用意图1598.1.4意图的启动方式1608.2活动1618.2.1活动是什么1618.2.2启动活动1628.2.3活动返回值设置1638.3广播1648.3.1广播是什么1648.3.2广播的注册和启动1648.3.3常见系统广播1668.4内容1688.4.1内容是什么1688.4.2内容的查询1688.4.3联系人内容1698.4.4系统提供的内容1708.5后台服务170第9章通用任务、应用管理和系统设置1729.1通用任务1729.1.1一维码和二维码扫描1729.1.2浏览任务1759.1.3联系人列表浏览1769.1.4地图浏览1779.1.5HTML浏览1789.1.6查询任务1789.2应用管理1799.2.1启动应用1799.2.2停止应用1809.2.3应用的包列表1819.2.4应用的类列表1829.3唤醒锁1839.3.1什么是唤醒锁1839.3.2唤醒锁申请和睡眠检测1849.4系统设置1879.4.1声音和震动设置1879.4.2屏幕设置1899.4.3飞行模式设置190第10章通信与传感器19210.1电话通信19210.1.1手机基本概念19210.1.2电话API19310.1.3手机开发19610.2短信通信19810.2.1短消息API19810.2.2短消息系统开发20010.3WiFi无线通信20110.3.1什么是WiFi及WiFi工作过程20110.3.2WiFi API20110.4蓝牙无线通信20210.4.1什么是蓝牙及蓝牙工作流程20210.4.2蓝牙API及其应用20310.5传感设备20810.5.1GPS概念和API20810.5.2GPS测距和定位开发21010.5.3模拟器与GPS21510.5.4高德地图服务21610.5.5方向传感器概念和API21710.5.6方向传感器物体倾斜开发21810.5.7加速度传感器概念和API21910.5.8加速度传感器手摇应用开发22010.5.9磁力传感器概念和API22110.5.10磁力传感器磁场检测开发221第11章多媒体和语音处理22211.1相机拍摄22211.1.1视频拍摄API22211.1.2在线拍摄开发22311.2多媒体22511.2.1多媒体简述22511.2.2多媒体录制API22611.2.3多媒体录制应用22811.2.4多媒体播放API22911.2.5多媒体播放器开发23111.3语音合成和语音识别API23611.3.1什么是语音合成23611.3.2语音合成引擎23611.3.3语音合成API及其应用23711.3.4什么是语音识别23911.3.5语音识别引擎24011.3.6语音识别API及其应用241第12章Android GUI24212.1HTML和Android GUI24212.2HTML基础24312.3CSS基础24412.4HTML和JavaScript通信24512.5HTML实现Android GUI范例250第13章脚本的运行方式及常见错误问题25413.1APK模板发布脚本25413.1.1APK模板是什么25413.1.2代理模式下的模板工作时序25413.1.3APK模板类及对外接口设计25713.1.4APK模板应用25713.2二维码发布脚本26013.3SL4A管理脚本26013.4Android 脚本中文编码问题26113.5Android 环境搭建不能访问谷歌网站问题26213.5.1环境搭建失败问题26213.5.2Web搭建Android环境原理26213.5.3环境搭建过程26313.6Android 网络缓存带来的问题265参考文献266

封面

Android脚本应用开发技术

书名:Android脚本应用开发技术

作者:邢益良

页数:207

定价:¥39.5

出版社:清华大学出版社

出版日期:2017-02-01

ISBN:9787302452324

PDF电子书大小:90MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注