Microsoft Word - 第3章.doc

Size: px
Start display at page:

Download "Microsoft Word - 第3章.doc"

Transcription

1 第 章.1 Android UI 基本概念 用户界面 (User Interface,UI) 是用户与设备之间进行信息交流的直接媒介, 是决定用户体验最重要的部分 相比于早期的计算机的主要交互界面 批处理界面和命令行界面, 现在更为流行的是更简单直接的用户图形界面 (Graphical User Interface, GUI) GUI 简单易用, 受众面广, 直接推动了个人计算机的发展 目前, 主流大众的操作系统都采用了 GUI, 安卓也不例外 通常 GUI 上会放置各种组件, 这些组件通过巧妙的设计, 便能组成灵活美观的界面 Android 程序的 UI 组件分为 widget 控件和 layout 组件两大类, 这两类的根类都是 View 类 widget 控件 :UI 的最基本单位, 即不能在这类组件中放入其他 UI 组件 常见的 widget 组件有 Button( 按钮 ) TextView( 文本标签 ) EditText( 文字输入框 ) 等 layout 组件 : 布局组件, 像容器一般, 其中可以加入其他 layout 组件或 widget 组件 常用的 layout 组件有 LinearLayout( 线性布局 ) RelativeLayout( 相对布局 ) FrameLayout( 框架布局 ) TableLayout( 表格布局 ) GridLayout ( 网格布局 ) 等 View 类的常用 xml 文件元素属性如表 -1 所示 表 -1 View 类属性 属 性 对应方法 说 明 android.id setid(int id) 设置组件的标识符 android.background setbackground(int color) 设置背景颜色 android.visibility setvisibility(int) 设置组件的可见性 android.clickable setclickable(boolean) 设置组件是否响应单击事件 android.alpha setalpha(float) 设置组件的透明度

2 续表 属性对应方法说明 android.layout_weight android.layout_height setheight(int) setwidth(int) findviewbyid(int id) 设置组件的宽度, 一般有 match_parent 和 wrap_content 两个选项 设置组件的宽度, 一般有 match_parent 和 wrap_content 两个选项 与 id 对应的组件匹配 基于 MVC(Model-View-Controller) 模型,Android 程序开发采用界面设计与程序逻辑分离的策略 开发者应该使用 XML 文件对用户界面进行描述, 将资源文件独立保存在资源文件夹中 Android 的用户界面描述非常灵活, 允许定义用户界面组件的大小 位置 外观甚至触发事件 更上一层 MVC 模型包括处理用户输入的控制器 (Controller) 显示图像的视图 (View) 和模型 (Model) 模型是应用程序的核心, 数据和代码都保存在模型中 Android 的用户界面框架采用单线程用户界面 (Single-threaded UI) 的模式 在这种模式下, 控制器从事件队列中获取事件和视图在屏幕上绘制用户界面采用的是同一进程 因此, 用户不需要在控制器和视图之间进行同步, 而且所有事件的处理都是按照其加入事件队列的顺序进行的, 也就是事件处理函数具有原子性 但此模式也有弊端 子线程中不允许直接修改用户界面 而且如果事件处理函数过于复杂, 可能会使用户界面失去响应, 因此复杂的事件处理工作应该交给后台线程处理.2 基本控件.2.1 TextView TextView( 文本标签 ) 用于显示文本字符, 是最常用的 UI 组件之一, 支持多行文本和自动换行 常用的方法如下 : gettext() 获取文本标签的文本内容 ; settext(charsequence text) 设置文本标签的文本内容 ; settextsize(float size) 设置文本标签的文本大小 ; settext(int color) 设置文本标签的文本颜色 第 章

3 Android 程序设计 6 常用的 XML 文件元素属性如下 : android:text 文本标签的文本内容 ; android:textsize 文本标签的文本大小 ; android:textcolor 文本标签的文本颜色 ; android:typeface 文本标签的字体样式, 有 normal sans serif monospace 等选项 此外, 适用于 View 类的元素属性也适用于 TextView 等所有组件, 此处不再赘述 例 -1 演示 TextView 组件的使用方法 打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 TextViewDemo 打开界面布局文件 activity_main.xml Android Studio 已经自动在其中生成一个 Hello World! 的 Textview 切换到代码视图, 修改 activity_main.xml 的代码如下 : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView Android:id="+id/textView1" android:layout_width="wrap_content" android:textsize="20" android:text="string/textviewstring" /> </RelativeLayout> 本书后文代码中的所有省略号均表示由于篇幅所限, 部分内容省略不写 该布局文件添加了一个 TextView 组件 第 10 行表明为该组件增设一个 id 为 textview1 的 TextView; 第 行分别指定其宽度和高度 ; 第 1 行设置该文本标签的文本大小 ; 第 14 行指定其文本内容引用 string.xml 下的 textviewstring, 开发者也可以在布局文件中设置直接字符串, 而不引用字符串资源, 但这不利于复用和后期修改, 不推荐

4 在 value 目录下的 string.xml 中添加字符串资源 <resources> <string name="app_name">textviewdemo1</string> <string name="textviewstring">"textview 文本标签内容 "</string> </resources> 为了在代码中引用控件, 需要在代码中引入相应的 android.widget 开发包, 然后使用 findviewbyid(int id) 函数通过 id 引用该控件, 并将该控件赋值给创建的空间对象 如下编写代码, 将 TextView 的文本颜色改为红色 package com.example.textviewdemo; import android.graphics.color; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.textview; public class MainActivity extends AppCompatActivity { TextView protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); textview=(textview)findviewbyid(r.id.textview); textview.settextcolor(color.red); } } 代码第 7 行声明了一个 TextView 组件对象 第 12 行使用 findviewbyid(int id) 函数关联到对应 id 的组件, 但该函数返回的组件类型是 View, 需要强制转换为 TextView 第 1 行, 通过调用 TextView 的 SetTextColor(int color) 函数修改 TextView 的文本颜色为红色 编译 运行程序, 最终界面如图 -1 所示.2.2 Button 和 ImageButton Button( 按钮 ) 是普通按钮控件, 用于处理人机交互事件 用户单击该控件, 第 章

5 Android 程序设计 8 能触发相应的响应事件 如果需要在按钮上显示图像, 则可以使用 ImageButton ( 图像按钮 ) Button 继承了 TextView 的所有方法和属性, 而 ImageButton 继承自 ImageView 设置 ImageButton 的图像时, 需要提前将图像文件放置在 res/drawable 目录下, 然后在 xml 文件中设置 ImageButton 的 android.src 属性 此外, 还可以在 Java 代码中调用 ImageButton 的 setimagesource(int id) 方法设置图像 图 -1 TextView 样式 注册 Button 响应事件的常用方式是实现 OnClickListener 接口 单击按钮时, 通过该监听接口触发 OnClick() 方法, 可以实现特定功能 Button 调用 OnClickListener 接口可用如下方法 : 按钮对象.setOnClickListener(onClickListener listener) 参数 listener 可以传入直接的 OnClickListener 对象, 也可以在 Activity 实现 OnClickListener 后, 直接传入 this 例 -2 演示 Button 和 ImageButton 控件的使用方法 打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 ButtonDemo 打开 activity_main.xml, 分别添加一个 Button 控件和一个 ImageButton 控件, 此外再添加一个 TextView, 以便显示按钮单击事件的结果 具体代码如下 : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> android:layout_width="wrap_content"

6 android:text="button" android:id="@+id/button" /> <ImageButton android:layout_width="wrap_content" android:id="@+id/imagebutton" android:src="@mipmap/ic_launcher" /> <TextView android:layout_width="wrap_content" android:id="@+id/textview" /> </LinearLayout> 第 7~11 行声明了一个 ID 为 button 的 Button 控件 第 12~18 行声明了一个 ID 为 ImageButton 的控件, 第 16 行表明该 ImageButton 的图像为 mipmap 下的 ic_launcher 图像 ( 此为 Android Studio 默认的应用图标 ), 如果是应用自定义图像, 则该语句为 android:src="@drawable/*** ",*** 为文件名, 不带后缀 打开 MainActivity.class 文件, 引用两个按钮控件, 实现并注册单击事件监听器 OnClickListener 修改如下: package com.example.buttondemo; import ; public class MainActivity extends AppCompatActivity implements View. OnClickListener { ImageButton imagebutton; TextView textview; Button protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); imagebutton = (ImageButton)findViewById(R.id.imageButton); textview = (TextView)findViewById(R.id.textView); button = (Button)findViewById(R.id.button); imagebutton.setonclicklistener(this); button.setonclicklistener(this); 第 章

7 Android 程序设计 } public void onclick(view v) { if(v==imagebutton) textview.settext("imagebutton 被点击 "); else if(v==button) textview.settext("button 被点击 "); } 其中第 行分别注册了 imagebutton 和 button 的单击事件监听器 第 19 行到第 2 行实现了接口 View.OnClickListener 的 OnClick() 函数, 从而实现了该接口 单击 button 后, 运行结果如图 -2(a) 所示, 单击 imagebutton 后运行结果如图 -2(b) 所示 (a) (b) 图 -2 Button 和 ImageButton 样式.2. EditText EditText( 文本编辑框 ) 是用来输入和编辑字符的控件 EditText 继承自 TextView, 是一个特殊的具有编辑功能的 TextView 控件, 所以 TextView 的方法和 xml 文件元素属性都适用于 EditText, 如图 - 所示 EditText 的主要 xml 文件元素属性有 : android.editable 是否可编辑, 取值为 true 或 false android.inputtype 输入字符类型, 取值主要有 text( 文本 ) TextPassword ( 密码 ) number( 数字 ) phone( 手机号码 ) 等, 可以用 连接多个取

8 值 此外输入类型也可以单独由 android.numeric android.password android. phonenumber 等属性设置 图 - EditText 的继承关系 android.hint 文本编辑框的提示语 更上一层 EditText 对象.getText() 返回的是 Editable 类型, 用于字符串处理时, 需调用它的 tostring() 函数, 即 EditText 对象.getText().toString() 例 - 演示 EditText 控件的使用方法打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 EditTextDemo 打开 activity_main.xml, 分别添加输入类型为 text( 默认 ) password 的用户名 EditText 和密码 EditText, 再添加一个 Button 作为登录按钮, 和一个 TextView 提示登录结果信息 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:id="@+id/edittext1" android:hint=" 用户名 "/> <EditText android:layout_width="match_parent" android:inputtype="textpassword" 第 章

9 Android 程序设计 android:id="@+id/edittext2" android:hint=" 密码 "/> android:layout_width="wrap_content" android:text=" 登录 " android:id="@+id/button" /> <TextView android:layout_width="wrap_content" android:id="@+id/textview" /> </LinearLayout> 其中用户名 EditText 的输入类型是默认的 Text( 文本 ), 而第 15 行设置密码 EditText 的输入类型是 TextPassword( 密码 ), 在输入的时候, 只会显示对应个数的 * 修改 MainActivity.java 文件, 实现登录按钮的 OnClickListener 接口, 设置为当用户名 EditText 输入为 android 且密码 EditText 输入为 12 时, 显示登录成功, 否则显示登录失败 package com.example.edittextdemo; import ; public class MainActivity extends AppCompatActivity { EditText usernameedit,passwdedit; Button loginbutton; TextView protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); usernameedit = (EditText)findViewById(R.id.editText1); passwdedit = (EditText)findViewById(R.id.editText2); loginbutton = (Button)findViewById(R.id.button); textview = (TextView)findViewById(R.id.textView); loginbutton.setonclicklistener(new View.OnClickListener() public void onclick(view v) {

10 if(usernameedit.gettext().tostring().equals("android")&& passwdedit.gettext().tostring().equals("12")) textview.settext(" 登录成功 "); else textview.settext(" 登录失败 "); } }); } } 此类中实现 Button 的单击事件没有采用 Activity 实现 OnClickListener 接口的方法, 而是直接在第 15 行注册监听器传参数时新建一个 OnClickListener 对象, 这种方法也是可行的, 但在 Button 较多时, 代码会显得比较臃肿 运行结果如图 -4 所示 图 -4 EditText 样式. Layout 组件 Layout 组件是布局组件, 其中可以嵌套容纳其他组件, 又称为容器 (container) Layout 组件规定了子组件的摆放规则, 因此开发者通过 Layout 组件在 xml 布局文件中控制组件的位置 间距 排列及对齐方式等, 从而设计出更具结构化 更为美观, 同时兼容多种分辨率的界面 Layout 组件的共同父类是 ViewGroup 正常情况下,xml 布局文件的根节点是一个 layout 组件, 该组件必须有命名空间 :xmlns:android=" 开发者可以根 第 章

11 Android 程序设计 44 据需求在该节点下嵌套添加其他组件作为子节点, 以丰富界面 开发者可以设置 Layout 组件的 android:gravity 属性, 控制子组件在组件中的位置 或者设置 android:layout_gravity 属性控制组件自身在父组件中的位置 这两个属性的值可以为 top( 上 ) bottom( 下 ) left( 左 ) right( 右 ) center_horizontal ( 水平居中 ) center_vertical( 垂直居中 ) 常用的 layout 组件有 FrameLayout( 框架布局 ) LinearLayout( 线性布局 ) RelativeLayout( 相对布局 ) TableLayout( 表格布局 ) GridLayout( 网格布局 )..1 FrameLayout FrameLayout( 框架布局 ) 是所有布局中最为简单的一种, 也叫帧布局 该布局直接在屏幕上开辟出了一块空白区域, 当向其中添加组件的时候, 默认情况下, 所有的组件都会放置于这块区域的左上角 开发者可以为子组件添加 layout_gravity 属性, 从而指定组件的对齐方式 如果有多个子元素, 那么后加的子元素就会覆盖先加的子元素 例 -4 演示 FrameLayout 的用法打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 FrameLayout 按默认方式先后添加两个 TextView, 分别命名为 第一层 和 第二层, 再添加名为 第三层 的 TextView, 并设置其位置为 FrameLayout 的中央 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="200dp" android:layout_height="200dp" android:text=" 第一层 " android:textsize="50sp" android:background="#e9521" android:gravity="center"/> <TextView gravity 属性控制 View 中子内容的分布位置 android:layout_width="90dp" android:layout_height="90dp" android:text=" 第二层 " android:textsize="0sp"

12 android:background="#d9e18" android:gravity="center"/> <TextView android:id="@+id/textview" android:layout_width="200dp" android:layout_height="200dp" android:textsize="50sp" android:text=" 第三层 " android:layout_gravity="center" android:background="#18f50d" android:gravity="center" /> </FrameLayout> 第 5~11 行声明了一个 200dp 200dp 的背景为 #e9521( 十六进制颜色 ) 文本为 第一层 的 TextView 第 12~18 行声明了一个 90dp 90dp 的背景为 #d9e18 文本为 第二层 的 TextView 后生成的子元素会覆盖先生成的子元素, 因此 第二层 会覆盖 第一层 第 19~28 行生成一个 200dp 200dp 的背景为 #18f50d 文本为 第三层 的 TextView, 并通过设置其属性 android:layout_gravity 为 center, 以达到将其放置在 FrameLayout 中央的效果 最后的运行界面如图 -5 所示 图 -5 FrameLayout..2 LinearLayout LinearLayout ( 线性布局 ) 是一般开发中最常用的布局组件之一 在 第 章

13 Android 程序设计 46 LinearLayout 中, 所有的子元素都在水平或垂直方向依次排列 若为垂直方向, 则每行只有一个子元素 ; 若为水平方向, 则每列只有一个子元素, 如图 -6 所示 默认情况下,LinearLayout 的排列方向为水平 开发者可以设置 android:orientation 属性控制方向, 取值可以为 horizontal( 水平 ) 或 vertical( 垂直 ) (a) 水平方向排列 图 -6 LinearLayout 水平和垂直样式 (b) 垂直方向排列 如果开发者想令子组件按比例分配, 可以将子组件对应方向的长度设为 0, 即水平分布时令 android:layout_width="0dp", 垂直分布时令 android:layout_height= "0dp", 然后设置 android.layout_weight 的值 最后组件所占比例为该组件 layout_weight 值除以该组件父组件的所有子元素的 layout_weight 之和 例 -5 演示如何令 LinearLayout 组件中的子组件按比例分布打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 LinearLayout 打开 activity_main.xml 文件, 在根节点 LinearLayout 下分别添加用户名 EditText 密码 EditText 和登录 Button, 令其在水平方向按 2:2:1 的比例分布 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <EditText android:layout_width="0dp" android:layout_weight="2" android:hint=" 用户名 "/> <EditText android:layout_width="0dp"

14 android:layout_weight="2" android:inputtype="textpassword" android:id="@+id/edittext2" android:hint=" 密码 "/> android:layout_width="0dp" android:layout_weight="1" android:text=" 登录 " android:id="@+id/button" /> </LinearLayout> 第 6 行设置 LinearLayout 子组件的排列方式为水平 第 行分别设置所在组件的 layout_weight 为 2 2 和 1, 所以这三个组件最后所占比例分别为 2/(2+2+1)=40% 40% 和 20% 应用程序界面如图 -7 所示 图 -7 LinearLayout 样式.. RelativeLayout RelativeLayout( 相对布局 ) 是一种非常灵活的布局控件, 采用相对其他组件的位置的布局方式 RelativeLayout 中通常使用相对父组件的位置或通过 id 关联其他组件, 以达到上 下 左 右对齐的目的 为达到灵活的目的, 相对布局有很多属性, 如表 -2 所示 表 -2 相对布局的属性 属性取值说明 android:centerinparent true false 是否在父控件的中央 android:centerinhorizontal true false 水平方向上是否在父控件的中央 android:centerinvertical true false 垂直方向上是否在父控件的中央 第 章

15 Android 程序设计 续表 属性取值说明 48 android:layout_alignparenttop true false 是否与父组件顶部对齐 android:layout_alignparentbottom true false 是否与父组件底部对齐 android:layout_alignparentleft true false 是否与父组件左端对齐 android:layout_alignparentright true false 是否与父组件右端对齐 与 id 为 *** 的控件顶部平齐 与 id 为 *** 的控件底部平齐 与 id 为 *** 的控件左端平齐 与 id 为 *** 的控件右端平齐 底部和 id 为 *** 的控件顶部平齐 顶部和 id 为 *** 的控件底部平齐 右端和 id 为 *** 的控件左端平齐 左端和 id 为 *** 的控件右端平齐 例 -6 演示 RelativeLayout 的用法打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 RelativeLayout 添加一个 TextView, 使其居中, 再添加四个 TextView, 分别分布在其四个角上 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:text=" 中央 " android:id="@+id/textview" android:layout_centerinparent="true" android:textsize="50sp" /> <TextView android:layout_width="wrap_content" android:textsize="50sp" android:text=" 左上 "

16 android:layout_above="@+id/textview" android:layout_toleftof="@+id/textview" /> <TextView android:layout_width="wrap_content" android:textsize="50sp" android:text=" 右上 " android:layout_above="@+id/textview" android:layout_torightof="@+id/textview" /> <TextView android:layout_width="wrap_content" android:textsize="50sp" android:text=" 左下 " android:id="@+id/textview4" android:layout_below="@+id/textview" android:layout_toleftof="@+id/textview" /> <TextView android:layout_width="wrap_content" android:textsize="50sp" android:text=" 右下 " android:layout_below="@+id/textview" android:layout_torightof="@+id/textview" /> </RelativeLayout> 其中, 第 6~12 行声明了一个 id 为 textview 的 TextView 控件, 第 11 行将其放置在父组件 RelativeLayout 的中央 第 1~42 行分别声明了 4 个 TextView 控件, 并分别通过 android:layout_above 和 android:toleftof android:above 和 android:torightof android:layout_below 和 android:toleftof android:layout_below 和 android:torightof 的组合放置到 id 为 textview 的组件的左上 右上 左下 右 下角 最终程序运行界面如图 -8 所示 第 章

17 Android 程序设计 50 图 -8 RelativeLayout 样式..4 TableLayout TableLayout( 表格布局 ) 是将布局页面划分为行和列构成的单元格, 继而将子元素放置在单元格中的一种布局 该布局组件中用 <TableRow> 和 </TableRow> 标记表示一行单元格 与大多数编程语言相似,TableRow 的行数和列数都是从 0 开始计数 此外,Table 中子元素可以不指定 android:layout_height 和 android:layout_width, 因为它们默认为单个单元格的高和宽 TableLayout 的主要全局属性如下 : android:collapsecolumns 隐藏 TableLayout 里面指定的列 若有多列需要隐藏, 可用逗号将需要隐藏的列序号隔开 若需要隐藏所有单元格, 则将其设置为 * ; android:stretchcolumns 设置指定的列为可伸展的列, 以填满该行中剩下的空白空间 若有多列, 则需要设置为可伸展, 可用逗号将需要伸展的列序号隔开 android:shrinkcolumns 设置指定的列为可收缩的列 当可收缩的列太宽时, 此列会自动收缩, 以免被挤出屏幕 当需要设置多列为可收缩时, 可

18 用逗号隔开需要收缩的列序号 子元素即单元格的属性如下所示 android:layout_column 指定该控件在 TableRow 中占据的列 android:layout_span 指定该控件所跨越的列数 例 -7 演示 TableLayout 的主要用法打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 TableLayout 打开 activity_main.xml 文件, 按下列代码添加一个 4 行 列的 TableLayout <TableLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:shrinkcolumns="2"> android:text=" 单独占据一行 "/> <TableRow> android:text="1 行 0 列 "/> android:text="1 行 1 列 " /> </TableRow> <TableRow> android:text="2 行 0 列 "/> android:text="2 行 1 列 "/> android:text="...2 行 2 列..."/> </TableRow> <TableRow> android:text=" 行 0 列 "/> android:text=" 行 2 列 " android:layout_column="2" /> </TableRow> </TableLayout> 第 章

19 Android 程序设计 52 第 5 6 行声明的 Button 并没有放置在任何一个 TableRow 中, 因此它会被当作单独的一行, 故完全占据了第 0 行 第 7~12 行 TableRow 标签表示这是完整的一行, 其中声明的两个 Button 自动按照前后顺序排列, 成为第 1 行第 0 列和第 1 行第 1 列 同样, 第 1~20 行再次声明一行, 即第 2 行 原本第 2 行第 2 列的 Button 空间会由于过大显示到屏幕外, 但第 4 行设置了 android:shrinkcolumns="2", 即第 2 列会自动收缩适配屏幕大小, 所以第 2 行第 2 列的 Button 最终完整显示出来了 第 21~28 行又声明一行, 即第 行 此行中的第 2 个 Button 原本应该放置在第 1 列, 但是第 26 行 android:layout_column="2" 设置了其占据第 2 列, 故其最终位置为第 行第 2 列 程序的最终运行界面如图 -9 所示 图 -9 TableLayout 样式..5 GridLayout GridLayout( 网格布局 ) 是 Android 4.0 以上版本新增加的一种布局, 与 TableLayout 大同小异, 同样将布局划分为行 列和单元格, 并同样支持调整容器中组件的对齐方式 但相比 TableLayout,GridLayout 更为灵活, 支持同时控制水平和垂直方向的空间对齐方式, 并且支持控件跨行分布 和 TableLayout 一样, GridLayout 对行和列的计数也是从 0 开始的 如果没有指定行数和列数, 控件会被默认放在上个控件右边的单元格, 若此行已满, 则会放在下一行的第 1 个单元格 GridLayout 的主要全局属性有 :

20 android:rowcount 设置行数 android:columncount 设置列数 子元素属性主要有 : android:layout_gravity 设置控件的对齐方式 android:layout_row 设置控件所在行数 android:layout_column 设置控件所在列数 android:layout_rowspan 设置控件横跨的行数 android:layout_columnspan 设置空间横跨的列数 例 -8 演示 GridLayout 的主要用法打开 Android Studio, 新建一个带空白 Activity 的项目, 命名为 GridLayout 打开 activity_main.xml 文件, 声明一个 行 列的 GridLayout <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" android:layout_width="match_parent" android:rowcount="" android:columncount=""> android:text="1" android:layout_gravity="fill" android:layout_rowspan="2" android:layout_columnweight="1"/> android:text="2" android:layout_gravity="fill" android:layout_columnspan="2" android:layout_columnweight="1"/> android:text="" android:layout_gravity="fill" android:layout_columnspan="2" android:layout_column="0" android:layout_columnweight="1"/> android:text="4" 第 章

21 Android 程序设计 android:layout_gravity="fill" android:layout_row="1" android:layout_rowspan="2" android:layout_column="2" android:layout_columnweight="1"/> android:text="5" android:layout_row="1" android:layout_columnweight="1" android:layout_column="1"/> </GridLayout> 其中第 5 行声明 GridLayout 的行数为, 第 6 行声明列数为 第 7~11 行, 声明了一个 Button 控件 没有指定行和列的时候, 控件默认按从左到右 从上到下排列, 所以该 Button 在第 0 行第 0 列 第 10 行设置 android:layout_rowspan="2", 即其横跨两行, 所以其最终会占据第 0 1 行第 1 列 android:layout_columnweight 是为了设置列的宽度比例, 此处所有 Button 控件的该属性都设为相同的值 1, 所以最后单列的宽度相等 其余 Button 控件的设置方法都与第一个相似, 此处不再赘述 最终程序运行的界面如图 -10 所示 图 -10 GridTable 样式..6 Layout 布局小结 除上述详细介绍的常用布局之外, 有时可能还会用到其他布局, 比如 AbsoluteLayout( 绝对布局 ) 通过指定组件的 x y 坐标控制组件的位置 在

22 实际开发中, 倘若只用一种布局, 往往难以做出美观的界面 因此多数情况下, 界面会有多种布局嵌套使用, 以达到复杂精巧的预期效果 相同布局可以嵌套, 不同布局也可以相互嵌套, 非常灵活.4 复合按钮 Android 系统本身封装了多种按钮, 除了默认的 Button, 常用的还有 Checkbox RadioButton 和 ToggleButton 三种复合按钮 这三种特殊按钮都继承自类 CompoundButton, 而 CompoundButton 类又继承自 Button 类.4.1 CheckBox CheckBox 有选中与未选中两种状态, 默认是未选中状态, 其一般形式如图 -11 所示 其最重要的属性是 Checked, 在代码中可以用 ischeck() 方法判断 改变该属性的方式有三种 1.XML 中声明 android:checked="false" 或者 android:checked="true" 2. 代码动态改变 对象. setchecked(false) 或者 对象.setChecked(true) 或者 对象.toggle(). 用户触摸 Checked 属性的改变会触发 OnCheckedChange 事件, 因此可以注册 OnCheckedChangeListener 监听器来监听此事件 第 章

23 Android 程序设计 56 图 -11 CheckBox.4.2 RadioButton RadioButton 为单选按钮, 一般样式如图 -12 所示 通常需要与 RadioGroup 一同使用 RadioGroup 是可以容纳多个 RadioButton 的容器 每个 RadioGroup 中的 RadioButton 同时只能有一个被选中 不同的 RadioGroup 中的 RadioButton 互不相干, 即如果组 A 中有一个被选中了, 组 B 中依然可以有一个被选中 大部分场合下, 一个 RadioGroup 中至少有两个 RadioButton 大部分场合下, 一个 RadioGroup 中的 RadioButton 默认会有一个被选中, 并建议将其放在 RadioGroup 中的起始位置 Checked 属性也是 RadioButton 最重要的属性, 与 checkbox 相同, 它也可以用三种方式改变 check 属性 而且当 checked 属性改变时, 也会触发 OnCheckedChange 事件, 因此也可以注册 OnCheckedChangeListener 监听器来监听此事件 图 -12 RadioButton.4. ToggleButton ToggleButton 允许用户在两种状态之间切换一个设置, 比如灯的 开 和 关, 其基本样式如图 -1 所示 Android 4.0(API level 14) 及以上版本还引入了一种全新的复合按钮 Switch, 它的功能与 ToggleButton 相同, 但样式发生了变化, 其样式如图 -14 所示 图 -1 ToggleButton 图 -14 Switch

24 与 CheckBox 和 RadioButton 相同,ToggleButton 也是 CompoundButton 的子类 Checked 属性也是其最重要的属性 也可以用三种方式改变 check 属性 而且当 checked 属性改变时, 也会触发 OnCheckedChange 事件, 因此也可以注册 OnCheckedChangeListener 监听器来监听此事件 习题 1. 请编程实现 TextView 类的一个子类, 使得它默认指定某些特性, 比如文字大小 颜色和样式 2. 请编程实现 View 类的一个子类, 使得它具有某些样式 ( 可能需要用到 Android 绘图功能 ). 请实现一个简易加法计算器, 它应该有两个输入和一个输出 请注意界面的美观 4. 请实现一个计算器, 它应该有 0~9 十个数字 小数点和加减乘除以及等于 清空 删除一个字符等按钮 5. 请实现一个学生信息录入系统, 它应该可以输入姓名 学号 联系方式和选择性别, 以及确认是否团员 请注意界面的美观 第 章

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

Android Fragment

Android Fragment Android Fragment 建國科技大學資管系饒瑞佶 2017/10 V1 Android 3.0 後才支援 Fragment 解決部分 App 適應螢幕大小的問題 它類似於 Activity, 可以像 Activity 可以擁有自己的版面設計, 也和 Activity 一樣有自己的生命週期 ( 具備 oncreate() oncreateview() 與 onpause() 方法 ) LifeCycle

More information

单击以编辑母片 Content 标题样式 LinearLayout 排版模式 TableLayout 排版模式 RelativeLayout 排版模式 AbsoluteLayout 排版模式 FrameLayout 排版模式 GridLayout 排版模式 TabWidget 切換卡 Lab 5 2

单击以编辑母片 Content 标题样式 LinearLayout 排版模式 TableLayout 排版模式 RelativeLayout 排版模式 AbsoluteLayout 排版模式 FrameLayout 排版模式 GridLayout 排版模式 TabWidget 切換卡 Lab 5 2 单击以编辑母片标题样式 安卓系统 Android 的排版 授课老师 : 谢兆贤 2016/4/18 1 单击以编辑母片 Content 标题样式 LinearLayout 排版模式 TableLayout 排版模式 RelativeLayout 排版模式 AbsoluteLayout 排版模式 FrameLayout 排版模式 GridLayout 排版模式 TabWidget 切換卡 Lab 5

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

More information

Android 开发教程

Android 开发教程 封面 1 GUI 可视化设计器 DroidDraw DroidDraw 是一个基于 Java Swing 的 Android 界面设计器, 可以通过它来生成复杂的 Android Layout XML 文 件,Android 的 Layout 和 Swing Layout 中有很好的对应, 设计器的代码编写起来比较容易 2 AnDroidDraw AnDroidDraw 是一个与 DroidDraw

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

人民邮电

人民邮电 第 2 章 布 局 布 局 是 所 有 带 界 面 的 Android 程 序 的 开 端 布 局 应 用 得 好 坏 直 接 决 定 了 程 序 的 用 户 体 验 虽 然 布 局 看 似 没 有 组 件 复 杂, 但 也 涉 及 到 了 很 多 技 巧 在 各 大 公 司 的 面 试 题 中 也 会 经 常 遇 到 关 于 布 局 的 一 些 问 题 通 过 这 些 问 题 可 以 考 查 应

More information

Microsoft PowerPoint - 04 界面编程.ppt [兼容模式]

Microsoft PowerPoint - 04 界面编程.ppt [兼容模式] 手机应用平台软件开发 4 界面编程 刘宁 Email:liuning2@mail.sysu.edu.cn UI 简介 UI(User Interface) 用户界面系统和用户之间进行交互和信息交换的媒介, 主要作用是实现信息内部形式与人类可接受形式之间的转换 人机交互实践中, 一个好的界面设计不仅让软件变得更加有个性和创意, 同时还能让软件的操作变得舒适 简单 自由, 充分体现软件的定位和特点 一个友好美观的界面会给人带来舒适的视觉享受,

More information

Microsoft Word - Android 7.x.doc

Microsoft Word - Android 7.x.doc 第 4 章 Android GUI 开发 Android 系统提供了丰富的可视化界面组件, 包括菜单 按钮 对话框等 Android 系统采用 Java 程序设计中的 UI 设计思想, 其中包括事件处理机制及布局管理方式 Android 系统中的所有 UI 类都是建立在 View 和 ViewGroup 两个类的基础之上的, 所有 View 的子类称为 Widget, 所有 ViewGroup 的子类称为

More information

Microsoft PowerPoint - 05.Android 介面元件-RelativeLayout、Button、TextVeiw、EditText

Microsoft PowerPoint - 05.Android 介面元件-RelativeLayout、Button、TextVeiw、EditText 計劃名稱 : 104 年度教育部資通訊軟體創新人才推升推廣計畫跨校資源中心 : 雲端運算 ( 國立中山大學 ) 課程名稱 : 網路及平台服務 Part1- 課程教材 教材名稱 :Android 介面元件 -RelativeLayout Button TextVeiw EditText 國立高雄大學資訊工程學系張保榮教授 大綱 RelativeLayout 版面配置 Button 版面配置 TextView

More information

图 6-1 主界面 MainActivity 界面对应的布局文件 (activity_main.xml) 如下所示 : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="

图 6-1 主界面 MainActivity 界面对应的布局文件 (activity_main.xml) 如下所示 : <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android= 第 6 章广播接收者 应用案例 案例 6-1 CallRecord( 通话记录 ) 一 案例描述 1 考核知识点 030006001: 广播接收者简介 030006002: 广播接收者的创建 2 练习目标 广播的静态注册和使用 使用广播处理处理事件 3 需求分析手机最重要的功能就是通话功能, 同样储存通话记录也是必不可少的 该案例使用广 播接收者自己实现通话记录的功能 包括呼出电话 已接来电 未接来电以及通话产生的

More information

任务实施 (1) 创建项目 图 3-1 欢迎界面 首先创建一个工程, 将其命名为 BoXueGu, 指定包名为 com.boxuegu (2) 导入界面图片将欢迎界面所需要的背景图片 launch_bg.png 导入到 drawable 文件夹中, 项目的 icon 图标 app_icon.png

任务实施 (1) 创建项目 图 3-1 欢迎界面 首先创建一个工程, 将其命名为 BoXueGu, 指定包名为 com.boxuegu (2) 导入界面图片将欢迎界面所需要的背景图片 launch_bg.png 导入到 drawable 文件夹中, 项目的 icon 图标 app_icon.png 第 3 章注册与登录模块 学习目标 掌握欢迎界面的开发, 能够独立制作欢迎界面 ; 掌握注册和登录模块的开发, 能够实现用户登录功能 博学谷项目的注册与登录模块主要用于创建用户账号, 管理用户信息 当用户注册成功后会跳转到登录界面, 用户登录后可以修改密码以及设置密保, 且只有设置过密保的账户才可以找回密码 本章将针对注册与登录模块进行详细讲解 3.1 欢迎界面 任务综述 在实际开发中, 开启应用程序时首先会呈现一个欢迎界面,

More information

RecyclerView and CardVew

RecyclerView and CardVew RecyclerView and CardView 建國科技大學資管系饒瑞佶 2017/10 V1 CardView CardView A CardView is a ViewGroup. Like any other ViewGroup, it can be added to youractivity or Fragment using a layout XML file. To create an

More information

Android 编程基础 Android 开发教程 & 笔记 1

Android 编程基础 Android 开发教程 & 笔记 1 Android 开发教程 & 笔记 1 多式样 ProgressBar 撰写 : 地狱怒兽 联系 :zyf19870302@126.com 普通圆形 ProgressBar 该类型进度条也就是一个表示运转的过程, 例如发送短信, 连接网络等等, 表示一个过程正 在执行中 一般只要在 XML 布局中定义就可以了

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 Android 控件进阶 要设计出让用户喜欢的 Android 应用程序界面, 除了需要用到在第 2 章讲的最基本的 TextView EditText 和 Button 控件外, 还要用到其他控件, 如 ImageButton 控件 ImageView 控件 RadioButton 控件 CheckBox 控件和 ListView 控件等 本章主要讲解功能强大 应用广泛的一些控件 3.1

More information

Microsoft Word - 扉页.doc

Microsoft Word - 扉页.doc 第 3 章 Andro 常用基本控件 我们在进行界面布局时, 添加的按钮 文本框 编辑框和图片等, 都是 Andro 的基本控件 这些控件实现了程序的一些基本功能 本章将针对这类控件进行详细的介绍, 使读者掌握基本控件的使用, 开发出简单的 Andro 程序 3.1 文本控件概述 Andro 系统提供给用户已经封装好的界面控件称为系统控件 系统控件更有利于帮助用户进行快速开发, 同时能够使 Andro

More information

0511-Android程式之GPS應用_專題週記4

0511-Android程式之GPS應用_專題週記4 逢甲大學通訊工程學系專題研究 Android 程式之 GPS 應用 專題週記 0511 學生姓名 陳彥儒 D0035131 廖元譽 D0077791 指導老師 楊豐瑞老師繳交日期 2014.05.11 1 匯入 GoogleMap 1.1 取得授權步驟 目前進度 取得 Google 授權鑰匙 實作程式尚未成功 1.1.1 建立個人的 keystore 1.1.2 由個人的 keystore 查詢 SHA1

More information

PowerPoint 簡報

PowerPoint 簡報 UI 設計 Android 專案目錄架構 Android 專案建立後會自動產生 3 個主要目錄 src:java 程式檔案 res: 資源 ( 文字 圖形 聲音檔案等 ) 與 UI 設定有關的 layout 檔 此目錄內檔案名稱只能為小寫字母 數字 _. gen:r.java 根據 res 目錄內容自動產生 不要去修改 R.java Android 中所有的資源檔案 ( 圖片 XML 等 ) 命名都必須使用英文小寫,

More information

第二章 Android 界面编程基础 一 学情分析 本章课程主要讲述界面控件和布局管理器, 学生可以结合前面学习课程 HTML 前端界面设计和 Java 程序设计中图形界面设计 swing 组件学习 本章学习难点因为未接触 XML 页面开发, 在界面设计中需要重新认识, 尤其组件名及组件属性需要 着

第二章 Android 界面编程基础 一 学情分析 本章课程主要讲述界面控件和布局管理器, 学生可以结合前面学习课程 HTML 前端界面设计和 Java 程序设计中图形界面设计 swing 组件学习 本章学习难点因为未接触 XML 页面开发, 在界面设计中需要重新认识, 尤其组件名及组件属性需要 着 第二章 Android 界面编程基础 一 学情分析 本章课程主要讲述界面控件和布局管理器, 学生可以结合前面学习课程 HTML 前端界面设计和 Java 程序设计中图形界面设计 swing 组件学习 本章学习难点因为未接触 XML 页面开发, 在界面设计中需要重新认识, 尤其组件名及组件属性需要 着重掌握 本章属于 Android 开发初级阶段, 本章应该着重培养学生学习成就感, 让学生踏入 Android

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

第一章 Android 简介与开发环境搭建

第一章 Android 简介与开发环境搭建 安卓开发环境与常用布局 第一章 Android 简介与开发环境搭建 本章目标 3G 的概念 Android 的改变 Android 开发环境的搭建编写第一个 Android 程序 Android 程序的目录结构 手机发展史 1. 3G 的概念 3G 全称为 :3rd Generation, 中文含义即为第三代数字通信, 是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统 2. 符合 3G

More information

Android + NFC

Android + NFC Android + NFC 建國科技大學資管系饒瑞佶 2017/3 v1 讀取 Tag UUID Android 2.3.3 (API Level 10) 才有支援完整的 NFC 功能 只要 NFC 相容都讀的到 (NFC 或 Mifare) 建立新專案修改 AndroidManifest.xml 加入 , 如果有 NFC Tag 進入感測範圍, 本 App 也會變成可處理的

More information

Microsoft Word - Android App开发从入门到精通.doc

Microsoft Word - Android App开发从入门到精通.doc 第 2 章 Android 控件 本章主要介绍 Android 中常用的控件及其使用方法,Android SDK 本身给我们提供大量的 UI 控件, 合理熟练地使用这些控件才能做出优美的界面 有时候 Android 自带的控件不一定能满足业务需求, 所以本章还会介绍自定义控件 2.1 View 介绍 在 Android 开发中,Android 的 UI 界面都是由 View 及其派生类组合而成的 View

More information

Microsoft Word - 第4章 3D相册.doc

Microsoft Word - 第4章 3D相册.doc 第 4 章 3D 相册 学习目标 u 掌握相册界面的开发, 实现相册的立体与倒影效果 在现实生活中, 我们浏览照片时, 不同的相册软件有不同的浏览效果 本章主要实现了一个 3D 效果的相册, 该相册中的图片可以循环滑动展示 4.1 3D 相册 任务综述 相册界面主要是展示一组图片的立体效果, 并显示每个图片的倒影, 左右滑动可以切换不同的图片到 界面的中间位置, 同时在图片下方显示当前图片的标题,

More information

Microsoft PowerPoint - 07.Android 介面元件-TableLayout、Toast、AlertDialog

Microsoft PowerPoint - 07.Android 介面元件-TableLayout、Toast、AlertDialog 計劃名稱 : 104 年度教育部資通訊軟體創新人才推升推廣計畫跨校資源中心 : 雲端運算 ( 國立中山大學 ) 課程名稱 : 網路及平台服務 Part1- 課程教材 教材名稱 :Android 介面元件 -TableLayout Toast AlertDialog 國立高雄大學資訊工程學系張保榮教授 大綱 TableLayout 版面配置 Toast 版面配置 AlertDialog 版面配置 TableLayout

More information

幻灯片 1

幻灯片 1 Delivering accurate maps to Chinese Android users 为中国安卓用户提供准确的地图服务 Work at Mapbox includes: Android apps, demos, starter kits, documentation, support, syncing Android team with other departments, etc.

More information

Chapter 4

Chapter 4 Chapter 4 手機控制項應用 元件佈局 線性佈局共有兩個方向 : 垂直 (vertical) 水帄 (horizontal) 決定垂直或是水帄的屬性為 Orientation android:orientation="vertical" 線性佈局就是將在 < LinearLayout > 內的元件以線性的方式來呈現

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 多个用户界面的程序设计 3.1 页面的切换与传递参数值 3.1.1 传递参数组件 Intent Intent 是 Android 系统的一种运行时的绑定机制, 在应用程序运行时连接两个不同组件 在 Android 的应用程序中不管是页面切换还是传递数据或是调用外部程序都可能要用到 Intent Intent 负责对应用中某次操作的动作 动作涉及的数据 附加数据进行描述, Android

More information

Microsoft Word - weather12 刷新按钮动画+搜索框+bug处理.docx

Microsoft Word - weather12 刷新按钮动画+搜索框+bug处理.docx 一 刷新按钮的动画效果 : 在刷新按钮的位置做两个按钮的布局, 一个是原来的静态图片, 一个是旋转的动画, 然 后控制这两个效果的显示和隐藏 ( 一 ) 刷新按钮的 style: 1. 在 app/src/main/res/values/ styles.xml 文件里添加一个 style: 2. 在 drawable 文件夹下新建一个 title_update_anim.xml, 添加如下内容 注

More information

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探 付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探索建设中 成时间 : 2017-07-20 12:13:21 Since 8.6 定义键盘 定义键盘使

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

内文-2.indd

内文-2.indd 客户端服务端音乐资源信息 : 1. 项目需求从本项目开始, 我们一起开发一个简单的在线音乐播放器, 它具有以下功能 (1) 程序启动时显示一个启动画面, 如图 1-1 所示 (2) 在程序主页面显示服务器上的歌曲列表, 包括歌手名与歌曲名, 单击列表条目可实现在线音乐播放, 单击 播放 暂停 上一曲 下一曲 按钮可实现对应的功能, 进度条可以显示歌曲播放进度, 如图 1-2 所示 图 1-1 程序启动画面

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

Microsoft PowerPoint - chapter05.ppt

Microsoft PowerPoint - chapter05.ppt 第 5 章 Android 用户界面 本章学习目标 了解用户界面基础知识 掌握几个常用界面控件使用方法 掌握界面布局基本方法 掌握菜单设计基本方法 了解 Android 界面框架调用界面控件的事件处理函数对事件进行处理的方法 Android UI 组件概述 应用程序的好坏, 主要有三个元素决定 界面 功能 性能 界面给用户的第一感觉至关重要 UI 的设计与控制是程序开发核心内容之一 Android

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

小应用 Magic8

小应用 Magic8 胡家威 计研135班 http://hujiaweibujidao.github.io/ 小应用 Magic8 Android 系统简介 Android 应用结构 Android 四大组件 Activity 生命周期 Android 资源管理 UI 组件和容器组件 内容概要 ( 上 ) Android 系统简介 Android 市场份额 Android 是如何诞生的? Android 之父 :Andy

More information

IsPostBack 2

IsPostBack 2 5 IsPostBack 2 TextBox 3 TextBox TextBox 4 TextBox TextBox 1 2 5 TextBox Columns MaxLength ReadOnly Rows Text TextMode TextMode MultiLine TextMode MultiLine True False TextMode MultiLine Password MulitLine

More information

题目

题目 开发 Android 应用 目的 : 帮助大家了解 Android 平台开发 作者 : 王威威 技术爱好 : linux,qt, 嵌入式开发 MSN : wangweiweicdma@hotmail.com Email : wang.weiwei1@ztenc.com.cn wangjiecdma@126.com 下载开发资源 1 下载最新的 Android SDK http://code.google.com/android/download.html

More information

Android 基礎教學

Android 基礎教學 Android 基礎教學 吳柏翰 1 Outline Android 歷史起源 Android 優勢與市場未來趨勢 安裝 Android SDK 建立專案 模擬器的執行與操作 使用 Log 及 IDE 除錯工具 實機運作 2 Android 歷史起源 起源 隨著手機與網際網路結合, 上網普及化之後, 使用者對手機的功能有截然不同的需求 透過網際網路, 各種新的服務與應用應運而生, 使用者也希望手機平台能像電腦一樣,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 按钮对象 (button) 当 JavaScript 读到 标记中的 type 属性值为 button 时, 自动建立一个按钮对象, 并将该对象放到表单对象的 elements 数组当中 按钮对象包括 : 普通按钮 (button) 提交按钮 (submit) 重置按钮 (reset) 1. 使用按钮对象的格式 document.forms[ 索引值 ].elements[ 索引值

More information

Android Android Android SDK iv

Android Android Android SDK iv Android Market Google Android SDK Apple Google Microsoft b2c b 2010 Internet Android how why iii Android 240... Android Android SDK iv Android Market Google Android SDK Visual C++ Java N-tier J2EE Unix/Linux

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

Microsoft Word - 第3章 Activity.doc

Microsoft Word - 第3章 Activity.doc 第 3 章 Activity 学习目标 u 掌握 Activity 的生命周期 u 掌握 Activity 的四种启动模式 u 掌握显式意图和隐式意图的使用 u 学会使用 Intent 传递数据在现实生活中, 经常会使用手机进行打电话 发短信 玩游戏等, 这就需要与手机界面进行交互 在 Android 系统中, 用户与程序的交互是通过 Activity 完成的 同时 Activity 也是 Android

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464> 第 1 章 进入 Photoshop 的全新世界 本章导读 Photoshop 1 1.1 Photoshop CS6 Photoshop Photoshop 1.1.1 Photoshop POP 1-1 图 1-1 平面广告效果 1.1.2 Photoshop 1-2 Photoshop CS6 Photoshop CS6 Photoshop CS6 Extended 3D 3 Photoshop

More information

X713_CS_Book.book

X713_CS_Book.book / / /USB ) ; ; C D ; ; B B 1 >> 2 3 B 1 ( > > ) 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 GSM GPS ( ) 手机已连接到 GSM 网络 指示条越多, 接收质量越好 GPS 2 ...........................4.............................. 4 Micro SD (

More information

Android应用开发教程

Android应用开发教程 人购买享受 6.5 QQ:76601 免费提供全书手 Android 把手教学视频 应用开发教程 教师指定本书为授 课教材优惠多多 钟元生高成珍编著 和三本以上包邮 内容简介 本书系统讲解了 Android 应用开发的基础知识, 既有基本语法与基本应用, 又有直 接运行案例的分析, 使读者能理论联系实践, 寓教于练 寓教于用 通过学习, 读者将全面了解 Android 应用程序的开发方法, 实现 Android

More information

03 开发入门.key

03 开发入门.key #3 手机应用开发入门 刘宁 Email:liuning2@mail.sysu.edu.cn 大纲» Android 基本概念» 开发包及 工具安装» 创建 HelloWorld» Android 程序设计基础 2 Android 开发基本概念» Activities» Intents» 视图与控件 ( 界 面元素 )» 异步调 用 ( 多线程 支持 )» 后台服务 3 Activities Android

More information

<android.support.v7.widget.recyclerview android:layout_width="0dp" android:layout_height="0dp" android:layout_marginbottom

<android.support.v7.widget.recyclerview android:layout_width=0dp android:layout_height=0dp android:layout_marginbottom Android 天气预报简单记录 ( 二 ) 主要内容使用 RecyclerView 显示所有城市和未来 4 天天气使用 SearchView 来实现查询基于百度地图 API 实现定位, 更新天气 ViewPager 实现介绍界面使用 RecyclerView 显示所有城市和未来 4 天天气 RecyclerView 是 support.v7 包中的控件, 和 ListView 类似, 十分的灵活,

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

大漠 伪前端, 就职于淘宝

大漠 伪前端, 就职于淘宝 CSS Grid Layout 2016-12-17 @ 大漠. #CSSConf https://www.flickr.com/photos/19139526@n00/8331063530/ 大漠 伪前端, 就职于淘宝 古老的 table 布局 现代 Web 布局 Float inline-block display: table position (absolute 或 relative)

More information

在Spring中使用Kafka:Producer篇

在Spring中使用Kafka:Producer篇 在某些情况下, 我们可能会在 Spring 中将一些 WEB 上的信息发送到 Kafka 中, 这时候我们就需要在 Spring 中编写 Producer 相关的代码了 ; 不过高兴的是,Spring 本身提供了操作 Kafka 的相关类库, 我们可以直接通过 xml 文件配置然后直接在后端的代码中使用 Kafka, 非常地方便 本文将介绍如果在 Spring 中将消息发送到 Kafka 在这之前,

More information

Microsoft Word - Broker.doc

Microsoft Word - Broker.doc Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,

More information

Chapter 10

Chapter 10 Chapter 10 多媒體程式開發 Widget Widget 簡介 android.widget 套件包含了許多視覺性的 UI 元素, 可用來將操作界面展示在應用程式畫面上 要熟悉 Android 多媒體程式的開發, 必須從 widget 套件著手, 因此本章所舉的範例, 便是以 android.widget 套件的應用為中心 Gallery 簡介 Gallery 是一個水平的清單, 移動清單時,

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

Android 开发教程

Android 开发教程 封面 1 文件存取编程基础 文件 文件可以用来存储比使用引用更大数量的数据 Android 提供方法来读 写文件 只有本地文件可以被访问 优点 : 可以存储大容量的数据 缺点 : 文件更新或是格式改变可能会导致巨大的编程工作 文件操作 读文件 Context.openFileInput(String name) 打开一个与应用程序联系的私有文件输入流 当文件不存在时抛出 FileNotFoundException

More information

_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanner

_banneradview.settest(true); _banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanner 京东 APP 联盟 SDK Android 版接口说明文档 1.0 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到 libs/ 目录下

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

第 5 章 Android 控件进阶操作实战 ArrayAdapter 适配器 ListView 的数据渲染都需要借助适配器来完成, 首先看一下结合最简单的 ArrayAdapter 来实现 ListView 主布局文件 (activity_main.xml) 代码如下 : <?

第 5 章 Android 控件进阶操作实战 ArrayAdapter 适配器 ListView 的数据渲染都需要借助适配器来完成, 首先看一下结合最简单的 ArrayAdapter 来实现 ListView 主布局文件 (activity_main.xml) 代码如下 : <? 108 Android 开发入门百战经典 第 5 章 Android 控件进阶操作实战 5.1 控之经典 ListView ListView 是最经典的控件之一, 虽然现在其江山地位不稳, 将要被 RecylerView 取 代, 但设计理念是很经典的, 而且很多程序员还是习惯了 ListView, 因此我们还需要对 ListView 进行深入学习 ListView 内容非常多, 读者要有足够的耐心进行学习,

More information

目 錄 一 ANDROID 開發系統需求 作業系統 開發工具... 1 二 安裝 ANDROID 開發工具 安裝 JDK 使用 APT-GET 安裝 使用套件管理程式安裝... 9 三 ANDROID 程式撰寫... 1

目 錄 一 ANDROID 開發系統需求 作業系統 開發工具... 1 二 安裝 ANDROID 開發工具 安裝 JDK 使用 APT-GET 安裝 使用套件管理程式安裝... 9 三 ANDROID 程式撰寫... 1 Android On Linux 簡易安裝開發教學 Installing Google Android SDK 2.0.1 On Ubuntu 9.10 Desktop 目 錄 一 ANDROID 開發系統需求... 1 1. 作業系統... 1 2. 開發工具... 1 二 安裝 ANDROID 開發工具... 1 1. 安裝 JDK... 1 2. 使用 APT-GET 安裝... 2 3. 使用套件管理程式安裝...

More information

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y 拼图游戏 任务说明 本实例实现了拼图游戏的开发 运行程序, 单击 开始 按钮将打乱图片的位置, 效果如图 1 所示, 然后通过鼠标单击图片进行移动, 直到将所有图片都移动到正确位置, 游戏过关, 过关后的效果如图 2 所示 图 1 打乱图片位置的效果图 2 图片移动到正确位置的效果 关键技术 本程序主要通过 Swing 与枚举类实现, 程序将一幅完整的图片平均分成 9 部分, 每一部分为一个正方形,

More information

RxJava

RxJava RxJava By 侦跃 & @hi 头 hi RxJava 扩展的观察者模式 处 观察者模式 Observable 发出事件 Subscriber 订阅事件 bus.post(new AnswerEvent(42)); @Subscribe public void onanswer(answerevent event) {! }! Observable observable = Observable.create(new

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 5.1 异常处理 异常 (Exception) 指程序运行过程中出现的非正常现象, 例如用户输入错误 需要处理的文件不存在 在网络上传输数据但网络没有连接等 由于异常情况总是可能发生, 良好健壮的应用程序除了具备用户所要求的基本功能外, 还应该具备预见并处理可能发生的各种异常的功能 所以, 开发应用程序时要充分考虑到各种可能发生的异常情况, 使程序具有较强的容错能力 通常把这种对异常情况进行处理的技术称为异常处理

More information

Microsoft Word - AEL CH05.doc

Microsoft Word - AEL CH05.doc 5-2 AutoCompleteTextView AutoCompleteTextView 非常類似 EditText, 屬於文字輸入方塊 ; 不過 AutoCompleteTextView 會在使用者輸入幾個字時就會顯示提示文字, 方便使用者選取而無需輸入所有文字, 是一種體貼使用者輸入的設計 AutoCompleteTextView 的提示列表與 Spinner 的選項列表建立方式相同, 需要建立字串陣列來儲存欲提示的文字

More information

The Embedded computing platform

The Embedded computing platform Android User Interfaces Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.tw Basic control components Text components TextView EditText Button compoents

More information

Lecture01_Android介绍

Lecture01_Android介绍 移动平台应用软件开发 Android 介绍 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组 北京大学 二零一七年秋北京 Android是什么 Android不仅仅是一个操作系统 它更是一个完整的软件框 架 Android基于Linux内核 2005年Google公司收购了Android公司 Google公司选择使用Apache许可证开放Android源码

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

PowerPoint Presentation

PowerPoint Presentation Part 4 使 用 不 同 的 操 作 介 面 版 面 型 態 單 元 19 LinearLayout 版 面 型 態 單 元 20 TableLayout 版 面 型 態 單 元 21 RelativeLayout 版 面 型 態 單 元 22 FrameLayout 版 面 型 態 單 元 23 版 面 型 態 的 應 用 1 單 元 19 LinearLayout 版 面 型 態 2 LinearLayout

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

可 Web 编程的NativeUI 设计与实现

可 Web 编程的NativeUI  设计与实现 可 Web 编程的 NativeUI 设计与实现 张袁炜 zhangyuanwei@baidu.com 欢迎转岗简历请发 About Me @ 张袁炜 直达号 网址导航 百度 音乐 前端 Node.js Android Arduino RaspberryPI https://github.com/zhangyuanwei Outline 一个 Hybrid App 的进化史 Native UI 实现原理

More information

2 从列表选择在添加黑名单界面中, 点击 从联系人中添加 按钮时, 会跳转到联系人列表界面, 点击其中的任意一个联系人, 此时该联系人的电话号码和姓名会显示在添加黑名单界面的编辑框中, 点击下方的 添加 按钮, 此时会将该号码添加到黑名单中, 并在主界面中展示, 如图 3-2 所示 图 3-2 从联

2 从列表选择在添加黑名单界面中, 点击 从联系人中添加 按钮时, 会跳转到联系人列表界面, 点击其中的任意一个联系人, 此时该联系人的电话号码和姓名会显示在添加黑名单界面的编辑框中, 点击下方的 添加 按钮, 此时会将该号码添加到黑名单中, 并在主界面中展示, 如图 3-2 所示 图 3-2 从联 第 3 章通讯卫士模块 了解通讯卫士模块功能 掌握 SQLite 数据库的使用 掌握如何使用广播接收者拦截电话和短信在日常生活中, 使用手机时经常会被某些电话或短信骚扰, 例如推销保险 中奖信息等, 为此, 我们开发了通讯卫士模块, 该模块可以将骚扰电话或垃圾短信添加到黑名单中, 并对其进行拦截 本章将针对通讯卫士模块进行详细讲解 3.1 模块概述 3.1.1 功能介绍 通讯卫士模块的主要功能是进行黑名单拦截,

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

<4D6963726F736F667420576F7264202D20CEEFC1AACDF8BCBCCAF5CAB5D1E9D6B8B5BCCAE932303134303932332E646F63>

<4D6963726F736F667420576F7264202D20CEEFC1AACDF8BCBCCAF5CAB5D1E9D6B8B5BCCAE932303134303932332E646F63> 物 联 网 技 术 实 验 指 导 书 The technology of IOT Experiment Instruction Book 编 者 : 高 娟 娟 杨 霞 教 务 处 2014 年 9 月 目 录 第 一 章 物 联 网 技 术 实 验 装 置 简 介... 1 1-1 实 验 箱 简 介... 1 一 特 点... 1 二 技 术 参 数... 2 三 应 用 背 景... 2

More information

Android + WebService

Android + WebService Android + Web Service 建國科技大學資管系饒瑞佶 2017/3 V1 呼叫 OpenData Web Service http://data.taipei/opendata/datalist/apiaccess?scope=resourceaquire& rid=e7c46724-3517-4ce5-844f-5a4404897b7d http://data.taipei/opendata/datalist/apiaccess?scope=resourceaquir

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

Microsoft Word - QTP测试Flex.doc

Microsoft Word - QTP测试Flex.doc TIB 自动化测试工作室 http://www.cnblogs.com/testware 使用 QTP 进行 Flex 自动化测试 自动化测试工具与 Flex 应用程序之间是通过代理 (Agent) 来交互的, 如图所示 : 这也就是为什么后面在使用 QTP 进行 Flex 自动化测试之前要先安装 Flex 插件 配置和编译 Flex 程序的原因 前提条件 在使用 QTP 进行 Flex 4 的测试之前,

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

Microsoft Word - 02.目錄.doc

Microsoft Word - 02.目錄.doc 目錄 -1- 目錄 序 準備篇 一 使用說明... 0-2 二 標示說明... 0-6 三 注意事項... 0-7 第一類 Android 基礎知識 -UI 設計及語法應用 101. 整存整付計算機... 1-2 102. 電費計算機... 1-8 103. 點餐系統... 1-18 104. 計算 BMI 值... 1-23 105. MENU 功能選單... 1-36 106. 畫廊展示...

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

Microsoft PowerPoint - 03 开发入门.ppt [兼容模式]

Microsoft PowerPoint - 03 开发入门.ppt [兼容模式] 手 机 应 用 平 台 软 件 开 发 3 开 发 入 门 刘 宁 Email:liuning2@mail.sysu.edu.cn 课 程 简 介 课 程 目 标 Android 开 发 准 备 工 作 开 发 包 及 工 具 安 装 创 建 HelloWorld Android 程 序 设 计 基 础 创 意 移 动 应 用 创 意 移 动 应 用 创 意 移 动 应 用 创 意 移 动 应 用

More information

概述

概述 Android Material Design 基础 北京理工大学计算机学院金旭亮 概述 概述 Material Design 是 Google 提出的一种 UI 设计风格, 主要用在 Android App 的开发中, 同时, 也为 AngularJS 提供了相应的组件, 可以用于开发具有 Material Design 风格的网页 设置 Material 主题 Material Design 其实是一种

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

上海市教育委员会文件

上海市教育委员会文件 上 海 高 校 市 级 精 品 课 程 申 报 表 ( 2016 年 度 ) 学 校 名 称 上 海 师 范 大 学 课 程 名 称 Android 应 用 程 序 设 计 课 程 类 型 理 论 课 ( 不 含 实 践 ) 理 论 课 ( 含 实 践 ) 实 验 ( 践 ) 课 所 属 院 系 教 研 室 信 息 与 机 电 学 院 计 算 机 科 学 与 技 术 系 课 程 负 责 人 李 鲁

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 课 Android 基 础 控 件 详 解 Android 应 用 程 序 的 人 机 交 互 界 面 有 很 多 Android 控 件 组 成 几 乎 所 有 的 Android 都 会 涉 及 到 控 件 技 术, 如 文 本 框 编 辑 框 按 钮 列 表 等 控 件 这 些 在 Android 应 用 程 序 中 随 处 可 见, 本 课 将 对 Android 提 供 的 基 础

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information