Microsoft Word - 第3章.doc

Size: px
Start display at page:

Download "Microsoft Word - 第3章.doc"

Transcription

1 第 3 章 Android 控件进阶 要设计出让用户喜欢的 Android 应用程序界面, 除了需要用到在第 2 章讲的最基本的 TextView EditText 和 Button 控件外, 还要用到其他控件, 如 ImageButton 控件 ImageView 控件 RadioButton 控件 CheckBox 控件和 ListView 控件等 本章主要讲解功能强大 应用广泛的一些控件 3.1 ImageButton 控件 Android 系统自带的除了在第 2 章中 Button 按钮外, 还提供了带图表标的按钮 ImageButton 制作带图标的按钮, 首先要在布局文件中定义 ImageButton, 然后通过以下几种方法设置要显示的图标 方法一 : 在布局文件中就直接设置按钮的图标, 如 android:src="@drawable/ 图片地址及图片名 " 方法二 : 使用系统自带的图标, 如 ImageButton1.ImageDrawable(getResources().getDrawable(R.drawable.icon1); 设置完按钮的图标, 然后为按钮设置监听类 setonclicklistener 下面通过简单案例学习 ImageButton 控件以及其属性 案例 : 使用 ImageButton 按钮设计一个界面, 效果如图 3-1 所示 图 3-1 ImageButton 案例效果图 案例分析 : 首先, 在 activity_main.xml 布局分件布局, 添加一个 TextView 控件和 ImageButton 控件, 并设置一些属性

2 然后, 在 MainActivity.java 文件中定义一个变量, 通过 findviewbyid 得到 ImageButton 控件, 并添件对应的监听事件 实现步骤如下 (1) 创建一个 Android 工程, 工程名为 ch03_buttonimages (2) 在打开 Package Explorer 窗口中的 ch03_buttonimages 项目中, 打开 res/ layout/activity_main.xml 文件, 修改代码并输入一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml Android 应用开发完全学习手册<LinearLayout xmlns:android=" xmlns:tools=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".mainactivity" > <TextView android:layout_width="fill_parent" /> <ImageButton > </ImageButton> </LinearLayout> (3) 打开 src/com.example.buttonimages/mainactivity.java 文件, 修改代码并输入一些代码, 代码清单如下 代码清单 :src/com.example.buttonimages/mainactivity.java package com.example.buttonimages; import android.os.bundle; import android.app.activity; import android.view.view; import android.widget.button; import android.widget.imagebutton; import android.widget.textview; public class MainActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); settitle("imagebutton"); ImageButton imgbutton = (ImageButton) this.findviewbyid(r.id. imagebutton); // 设置图片按钮的背景 imgbutton.setbackgroundresource(r.drawable.buttonimage); //setonclicklistener() - 响应图片按钮的鼠标单击事件 imgbutton.setonclicklistener(new 44

3 件进3 阶 public void onclick(view v) { TextView txt = (TextView) MainActivity.this.findViewById (R.id.textView); txt.settext(r.id.txtview); ); 3.2 ImageView 控件 ImageView 控件是 Android 中的基础图片显示控件, 这也是布局中使用图片最常用的方式, 可以使程序变得生动活泼, 该控件有个重要的属性是 ScaleType, 该属性用以表示显示图片的方式, 共有 8 种取值, 如表 3-1 所示 Android 控45 第章表 3-1 ScaleType 的值 ScaleType 的值描述 ScaleType.CENTER ScaleType.CENTER_CROP ScaleType.CENTER_INSIDE ScaleType.FIT_CENTER ScaleType.FIT_END ScaleType.FIT_START ScaleType.FIT_XY ScaleType.MATRIX 图片大小为原始大小, 如果图片大小大于 ImageView 控件, 则截取图片中间部分, 若小于, 则直接将图片居中显示 将图片等比例缩放, 让图像的短边与 ImageView 的边长度相同, 即不能留有空白, 缩放后截取中间部分进行显示 将图片大小大于 ImageView 的图片进行等比例缩小, 直到整幅图能够居中显示在 ImageView 中, 小于 ImageView 的图片不变, 直接居中显示 ImageView 的默认状态, 大图等比例缩小, 使整幅图能够居中显示在 ImageView 中, 小图等比例放大, 同样要整体居中显示在 ImageView 中 缩放方式同 FIT_CENTER, 只是将图片显示在右方或下方, 而不是居中 缩放方式同 FIT_CENTER, 只是将图片显示在左方或上方, 而不是居中 将图片非等比例缩放到大小与 ImageView 相同 是根据一个 3 3 的矩阵对其中图片进行缩放 下面通过简单的案例学习 ImageView 控件及其属性 案例 : 使用 ImageView 设计一个界面, 效果如图 3-2 所示 图 3-2 ImageView 案例效果图

4 实现步骤如下 (1) 把图片导入到资源中 : 将图片拖曳到项目 res\drawable 开头的 5 个文件夹下, 它们分别代表了高 中 低分辨度的图片 Android 读取图片时自动优化, 选用合适的一个图片显示, 比如, 高分辨率可以存放 128*128 的图片, 低分辨率可以存放 32*32 的图片 (2) 在 string.xml 文件中输入需要显示的字符, 打开 res/layout/strings.xml 文件, 修改并输入一些代码, 代码清单如下 代码清单 :res/layout/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> Android 应用开发完全学习手册<string name="app_name">imagev</string> <string name="action_settings">settings</string> <string name="hello_world">hello!</string> </resources> (3) 在 XML 布局文件中添加 ImageView 控件, 打开 res/layout/activity_main.xml 文件, 修改并输入一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <TextView android:text="@string/hello_world" android:textsize="80px" /> <ImageView android:src="@drawable/one" ></ImageView> </RelativeLayout> 3.3 单选按钮与复选框 单选框 (RadioButton) 复选框(CheckBox) 继承了 Button 类, 因此可以直接使用 Button 支持的各种属性和方法 RadioButton CheckBox 与普通按钮不同之处是多了一个可选中 46

5 件进3 阶的功能, 因此有个额外的属性,android:checked 属性, 该属性用于指定它们初始时是否被选中 RadioGroup RadioButton 的用法 RadioGroup 是 RadioButton 的组 每一组 RadioGroup 里至少包含两个 RadioButton, 包含多个单选按钮, 但只能有一个 RadioButton 被选中, 不同的组之间互不影响 ; 每一组 RadioGroup 中都有一个默认的被选中的单选按钮, 大部分情况下建议选择第一个为默认选择 案例 : 使用 RadioButton 和 RadioGroup 设计一个界面, 当选中某个单选框时, 弹出相关的一段话, 例如, 当选中 海陆大餐 ( 好吃真好吃 ), 弹出 山珍海味, 乐不思蜀的人, 为人海派, 从不拖泥带水, 拥有坚忍不拔的性格 但是不够冷静 过度挥霍的结果, 只怕会坐吃山空, 不得不多加警惕 等语句, 效果如图 3-3 所示 Android 控47 第章图 3-3 单选按钮效果图 实现步骤如下 (1) 新建一个 Android 应用程序 (2) 编写 string.xml 文件, 添加需要显示的字符, 打开 res/layout/strings.xml 文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name"> 测试题 </string> <string name="action_settings">settings</string> <string name="title"> 开心小测试 </string>

6 <string name="choose"> 挑选的食物测试你的性格!</string> <string name="niu"> 牛肉面 ( 越辣越过瘾 )</string> <string name="hai"> 海陆大餐 ( 好吃真好吃 )</string> <string name="pizza"> 披萨 ( 越脆越香 )</string> <string name="zha"> 炸鸡块 ( 多汁多滋味 ) </string></resources> (3) 编写 activity_main.xml 文件, 添加一个 RadioGroup 标, 在 RadioGroup 标签内添加四个 RadioButton, 打开 res/layout/activity_main.xml 文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml Android 应用开发完全学习手册<LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:text="@string/title" android:textsize="40px" /> <TextView android:id="@+id/who" android:text="@string/choose" /> <RadioGroup android:id="@+id/ceshi_group" android:orientation="vertical" > <RadioButton android:id="@+id/niunan" android:text="@string/niu" /> <RadioButton android:id="@+id/hailu" android:text="@string/hai" /> <RadioButton android:id="@+id/pizza" 48

7 件进3 阶 /> <RadioButton /> </RadioGroup> </LinearLayout> (4) 编写 Activity, 先声明 6 个全局变量, 用于接收这 6 个控件对象, 在 oncreate() 方法内, 根据控件 id 获得这 6 个对象并赋给相应的变量, 编写监听器, 打开 src/com.example. sumothers /MainActivity.java 文件, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example. sumothers /MainActivity.java Android 控49 第章package com.example.sumothers; import android.app.activity; import android.os.bundle; import android.widget.checkbox; import android.widget.compoundbutton; import android.widget.compoundbutton.oncheckedchangelistener; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.textview; import android.widget.toast; public class MainActivity extends Activity { // 定义各控件的变量 private TextView who = null; private TextView how = null; private RadioGroup ceshi_group = null; private RadioButton niunan = null; private RadioButton hailu = null; private RadioButton pizza = null; private RadioButton zhaji = public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // 获得对应的控件 who = (TextView)findViewById(R.id.who); ceshi_group = (RadioGroup)findViewById(R.id.ceshi_group);

8 niunan = (RadioButton)findViewById(R.id.niunan); hailu = (RadioButton)findViewById(R.id.hailu); pizza = (RadioButton)findViewById(R.id.pizza); zhaji = (RadioButton)findViewById(R.id.zhaji); Android 应用开发完全学习手册 // 设置 ceshi_group 的监听器, 其实是一句代码, 其参数是一个带有重构函数的对象 ceshi_group.setoncheckedchangelistener(new RadioGroup. OnCheckedChangeListener() { public void oncheckedchanged(radiogroup group, int checkedid) { // TODO Auto-generated method stub if(checkedid == niunan.getid()){ Toast.makeText(MainActivity.this," 吃辛辣食物的人, 本身也很 辣, 性情孤傲, 愤世嫉俗, 对社交活动 对礼尚往来极端排斥, 但对立大功 成大业, 成为名流, 永垂青史的英雄, 欲意气风发 不落人后 东北人多半具有如此的 风格 ", Toast.LENGTH_LONG).show(); else if(checkedid == hailu.getid()){ Toast.makeText(MainActivity.this, " 山珍海味, 乐不思蜀的人, 为人海派, 从不拖泥带水, 拥有坚忍不拔的性格 但是不够冷静 过度挥霍的结果, 只怕会坐吃山空, 不得不多加警惕 ", Toast.LENGTH_ LONG).show(); else if(checkedid == pizza.getid()){ Toast.makeText(MainActivity.this, " 喜欢吃 薄饼 的人, 为人也比较刻薄小气, 在团体中属于叛逆的角色, 有点自以为是 但是, 杰出的艺术家 科学家都具有此种 风格 ", Toast.LENGTH_LONG).show(); else if(checkedid == zhaji.getid()){ Toast.makeText(MainActivity.this, " 這种人属于不爱动的后现代主义者, 感情 脆 弱 深怕寂寞, 举手投足像只小绵羊一般温驯, 欠缺冲劲 ", Toast.LENGTH_LONG).show(); ); (5) 运行程序, 即可得到相应的效果 知识点 : (1) 监听器实现的是 RadioGroup.OnCheckedChangeListener() 提供的接口, 需要重写里面的 public void oncheckedchanged(radiogroup group, int checkedid) 方法, 该方法的第一个参数用来接收 RadioGroup 对象, 第二个参数用来接收被选中的 RadioButton 的 ID 在这个方法中可以做一系列的判断和操作, 如判断 RadioButton 的 id 是否等于 checkedid, 如果等于就使用 Toast 显示提示消息 (2)Toast 是 Android 中用来显示显示信息的一种机制, 和 Dialog 不同的是,Toast 是没有焦点的, 而且 Toast 显示的时间有限, 过一定的时间就会自动消失 Toast 的使用方法如下 50

9 件进3 阶1 创建 Toast 对象 maketext(context context, CharSequence text, int duration); 通过调用这个方法, 返回一个 Toast 对象 第一个参数是上下文对象, 通常是用户的应用程序或 Activity 对象 类名.this, 第二个参数就是要显示的文本内容, 可以格式化文本, 第三个参数是持续多长时间来显 示消息, 有两个常量 :LENGTH_SHORT 或者 LENGTH_LONG 2 调用 show() 方法显示 Toast toast = Toast.makeText(RadioTest.this, "female", Toast.LENGTH_SHORT); toast.show(); CheckBox 的用法 将监听器绑定到 RadioGroup 上明确两点 : a. 这里绑定监听器的是 RadioGroup 对象而不是 RadioButton 对象 b. 这里的监听器实现的是 RadioGroup.OnCheckedChangeListener() 提供的接口 Android 控51 第章复选框 (CheckBox) 是一种双状态的按钮, 可以选中或不选中, 能同时选择多个, 每次单击时可以选择是否被选中, 在 UI 中默认的是以矩形方式显示 它不同于单选按钮 (RadioButton), 一个选项就一个 CheckBox, 两个选项就两个 CheckBox 对于事件监听它与 RadioButton 的监听是一样的, 同样是通过 CompoundButton.OnCheckedChangeListener 来监听的 在 Java 文件中为每一个 CheckBox 都编写一个监听器, 该监听器实现的是 CompoundButton.OnCheckedChangeListener() 提供的接口, 需要重写里面的 public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) 方法, 该方法的第一个参数用来接收 CompoundButton 对象, 第二个参数是用来接收是否被选中, 在该方法中可以做一系列的判断和操作, 如判断某个 CheckBox 有没有被选中 案例 : 使用 RadioButton 和 RadioGroup CheckBox 设计一个界面, 选中单选按钮显示选中的内容, 选中多选按钮, 也显示选中的内容, 效果如图 3-4 所示 图 3-4 单选 多选按钮效果图

10 实现步骤如下 (1) 编写 string.xml 文件, 添加需要显示的字符, 打开 res/layout/strings.xml 文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/strings.xml Android 应用开发完全学习手册<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">olympicgames</string> <string name="action_settings">settings</string> <string name="hello_world">hello world!</string> <string name="who">who will be the number one?</string> <string name="china"> 中国 </string> <string name="america"> 美国 </string> <string name="others"> 其他 </string> <string name="how">how many golds medals will China win?</string> <string name="less">30 以下 </string> <string name="thirty">30~39</string> <string name="forty">40~49</string> <string name="fifty">50 以上 </string> </resources> (2) 编写 activity_main.xml 文件, 添加一个 RadioGroup 标, 在 RadioGroup 标签内添加三个 RadioButton, 添加四个 CheckBox, 两个 TextView, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView /> <RadioGroup android:orientation="vertical" > <RadioButton 52

11 件进3 阶/> <RadioButton /> <RadioButton /> </RadioGroup> <TextView /> <CheckBox /> <CheckBox /> <CheckBox /> <CheckBox /> Android 控53 第章</LinearLayout> (3) 编写 Activity, 先声明 10 个全局变量, 用于接收这 10 个控件对象, 在 oncreate() 方法内, 根据控件 id 获得这 10 个对象并赋给相应的变量, 编写监听器, 打开 src/ com.example.

12 olympicgames /MainActivity.java 文件, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example.olympicgames/mainactivity.java Android 应用开发完全学习手册package com.example.olympicgames; import android.app.activity; import android.os.bundle; import android.widget.checkbox; import android.widget.compoundbutton; import android.widget.compoundbutton.oncheckedchangelistener; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.textview; import android.widget.toast; public class MainActivity extends Activity { // 定义各控件的变量 private TextView who = null; private TextView how = null; private RadioGroup who_group = null; private RadioButton china = null; private RadioButton america = null; private RadioButton others = null; private CheckBox less = null; private CheckBox thirty = null; private CheckBox forty = null; private CheckBox fifty = public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // 获得对应的控件 who = (TextView)findViewById(R.id.who); how = (TextView)findViewById(R.id.how); who_group = (RadioGroup)findViewById(R.id.who_group); china = (RadioButton)findViewById(R.id.china); america = (RadioButton)findViewById(R.id.america); others = (RadioButton)findViewById(R.id.others); less = (CheckBox)findViewById(R.id.less); thirty = (CheckBox)findViewById(R.id.thirty); forty = (CheckBox)findViewById(R.id.forty); fifty = (CheckBox)findViewById(R.id.fifty); // 设置 who_group 的监听器, 其实是一句代码, 其参数是一个带有重构函数的对象 who_group.setoncheckedchangelistener(new RadioGroup. OnCheckedChangeListener() { public void oncheckedchanged(radiogroup group, int checkedid) { // TODO Auto-generated method stub 54

13 件进3 阶 ); if(checkedid == china.getid()){ Toast.makeText(MainActivity.this," 中国 ", Toast.LENGTH_ SHORT).show(); else if(checkedid == america.getid()){ Toast.makeText(MainActivity.this, " 美国 ", Toast.LENGTH_ SHORT).show(); else if(checkedid == others.getid()){ Toast.makeText(MainActivity.this," 其它国家 ", Toast.LENGTH_ SHORT).show(); // 下面为 4 个 checkbox 多选按钮分别建立监听器 less.setoncheckedchangelistener(new OnCheckedChangeListener() { Android 控55 第章public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { // TODO Auto-generated method stub if(ischecked) { Toast.makeText(MainActivity.this, "30 个以下 ", Toast. LENGTH_SHORT).show(); else{ Toast.makeText(MainActivity.this, " 不是 30 个以下 ", Toast. LENGTH_SHORT).show(); ); // 下面为 4 个 checkbox 多选按钮分别建立监听器 thirty.setoncheckedchangelistener(new CompoundButton.OnChecked ChangeListener() { public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { // TODO Auto-generated method stub if(ischecked) { Toast.makeText(MainActivity.this, "30~39", Toast.LENGTH_ SHORT).show(); else{ Toast.makeText(MainActivity.this, " 不是 30~39", Toast. LENGTH_SHORT).show();

14 ); // 下面为 4 个 checkbox 多选按钮分别建立监听器 forty.setoncheckedchangelistener(new OnCheckedChangeListener() { Android 应用开发完全学习手册 public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { // TODO Auto-generated method stub if(ischecked) { Toast.makeText(MainActivity.this, "40~49", Toast.LENGTH_ SHORT).show(); else{ Toast.makeText(MainActivity.this, " 不是 40~49", Toast. LENGTH_SHORT).show(); ); // 下面为 4 个 checkbox 多选按钮分别建立监听器 fifty.setoncheckedchangelistener(new OnCheckedChangeListener() { public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { // TODO Auto-generated method stub if(ischecked) { Toast.makeText(MainActivity.this, "50 以上 ", Toast. LENGTH_SHORT).show(); else{ Toast.makeText(MainActivity.this, " 不是 50 以上 ", Toast. LENGTH_SHORT).show(); ); 3.4 列表视图 (ListView) ListView 是 Android 软件开发中非常重要组件之一, 它以列表形式展示具体内容 ( 如联系人 ), 并且能够根据数据的长度自适应显示, 每个软件基本上都会使用 ListView. 列表的显示需要如下三个元素 (1)ListVeiw: 用来展示列表的 View (2) 适配器 : 用来把数据映射到 ListView 上的中介 一般有三种,ArrayAdapter 56

15 件进3 阶SimpleAdapter 和 SimpleCursorAdapter, 其中, 以 ArrayAdapter 最为简单, 只能展示一行字 SimpleAdapter 有最好的扩充性, 可以自定义出各种效果 SimpleCursorAdapter 可以认为是 SimpleAdapter 对数据库的简单结合, 可以方便地把数据库的内容以列表的形式展示出来 (3) 数据 : 指具体的将被映射的字符串 图片 或者基本组件等 简单的 ListView 在 List 列表中可以直接用 new ArrayAdapter() 绘制列表 但如果列表中过于复杂, 就需要使用自定义布局来实现 List 列表 案例 : 使用 List 列表编写一个界面, 当单击某条记录时, 用 Toast 显示信息, 如图 3-5 所示 Android 控57 第章图 3-5 简单的 listview 效果图 实现步骤 : 打开 src/com.example.listview/mainactivity.java 文件, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example.listview/mainactivity.java package com.example.listview; import android.os.bundle; import android.app.listactivity; import android.view.menu; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.listview; import android.widget.toast; public class MainActivity extends ListActivity {

16 Android 应用开发完全学习手册private String[] mliststr = {" 姓名 : 小王 "," 性别 : 男 "," 年龄 :25"," 居住地 : 杭州 "," 邮箱 :miswang@gmail.com"," 联系方式 : "; ListView mlistview = protected void oncreate(bundle savedinstancestate) { mlistview = getlistview(); setlistadapter(new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, mliststr)); mlistview.setonitemclicklistener(new OnItemClickListener() public void onitemclick(adapterview<?> adapterview, View view, int position, long id) { Toast.makeText(MainActivity.this," 您选择了 " + mliststr [position], Toast.LENGTH_SHORT).show(); ); super.oncreate(savedinstancestate); 带标题的 ListView 列表 使用 simpleadapter 时注意要用 Map<String,Object> item 保存列表中每一项显示的 title 与 text, 使用 new SimpleAdapter 时将 map 中的数据写入, 程序就会自动绘制列表了 案例 : 编写一个带标题的 listview 列表, 效果如图 3-6 所示 图 3-6 带标题的 listview 效果图 实现步骤 : 打开 src/com.example.listviewother/mainactivity.java 文件, 修改并添加一些代码, 代码清单如下 58

17 件进3 阶代码清单 :src/com.example.listviewother/mainactivity.java package com.example.listviewother; import java.util.arraylist; import java.util.hashmap; import java.util.map; import android.os.bundle; import android.app.activity; import android.view.menu; import android.os.bundle; import android.app.listactivity; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.listview; import android.widget.simpleadapter; import android.widget.toast; public class MainActivity extends ListActivity { Android 控59 第章private String[] mlisttitle = { " 姓名 ", " 性别 ", " 年龄 ", " 居住地 "," 邮箱 ", " 手机号码 "; private String[] mliststr = { " 小胡 ", " 男 ", "19", " 杭州 ", "xiaohu@gmail.com"," "; ListView mlistview = null; ArrayList<Map<String,Object>> mdata= new protected void oncreate(bundle savedinstancestate) { mlistview = getlistview(); int lengh = mlisttitle.length; for(int i =0; i < lengh; i++) { Map<String,Object> item = new HashMap<String,Object>(); item.put("title", mlisttitle[i]); item.put("text", mliststr[i]); mdata.add(item); SimpleAdapter adapter = new SimpleAdapter(this,mData,android.R. layout.simple_list_item_2, new String[]{"title","text",new int[]{android.r.id.text1, android.r.id.text2); setlistadapter(adapter); mlistview.setonitemclicklistener(new OnItemClickListener() public void onitemclick(adapterview<?> adapterview, View view, int position, long id) { Toast.makeText(MainActivity.this," 您选择了 :" + mlisttitle

18 [position] + " 内容 :"+mliststr[position], Toast.LENGTH_LONG). show(); ); super.oncreate(savedinstancestate); 带图片的 ListView 列表 Android 应用开发完全学习手册由于 simpleadapter 类中的构造函数完成不了带图片的 ListView 列表的界面布局, 所以必须自己写布局, 使用 Map<String,Object> item 来保存列表中每一项需要的显示内容, 如图片 标题 内容等 案例 : 编写一个带图片的 listview 列表, 效果如图 3-7 所示 图 3-7 带图片的 listview 的效果图 实现步骤如下 (1) 编写 activity_main.xml 布局文件, 添加一个 ImageView 控件, 两个 TextView 控件, 打开 res/layout/activity_main.xml 文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml <RelativeLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height= "?android:attr/listpreferreditemheight"> <ImageView android:id="@+id/tupian" android:layout_height="fill_parent" android:layout_alignparenttop="true" android:layout_alignparentbottom="true" 60

19 件进3 阶android:adjustViewBounds="true" android:padding="2dip" /> <TextView android:layout_alignparentright="true" android:layout_alignparenttop="true" android:layout_alignwithparentifmissing="true" android:gravity="center_vertical" android:textsize="20dip" /> <TextView android:layout_width="fill_parent" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:singleline="true" android:ellipsize="marquee" android:textsize="15dip" /> </RelativeLayout> Android 控61 第章(2) 打开 src/com.example.listimage/mainactivity.java 文件, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example.listimage/mainactivity.java package com.example.listimage; import java.util.arraylist; import java.util.hashmap; import java.util.map; import android.os.bundle; import android.app.activity; import android.view.menu; import android.os.bundle; import android.app.listactivity; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.listview; import android.widget.simpleadapter; import android.widget.toast; public class MainActivity extends ListActivity { private String[] mlisttitle = { " 伽利略 ", " 培根 ", " 拜伦 ", " 狄更斯 "," 马克思 "; private String[] mliststr = { " 生命有如铁砧, 愈被敲打, 愈能发出火花 ", " 瓜是长大在营养肥料里的最甜, 天才是长在恶性土壤中的最好 ", " 悲观的人虽生犹死, 乐观的人永生不老 ", " 顽强的毅力可以征服世界上任何一座高峰!", " 生活就像海洋, 只有意志坚强的人, 才能到达彼岸 " ; ListView mlistview = null; ArrayList<Map<String,Object>> mdata= new ArrayList<Map<String,Object>>();

20 Android protected void oncreate(bundle savedinstancestate) { mlistview = getlistview(); int lengh = mlisttitle.length; for(int i =0; i < lengh; i++) { Map<String,Object> item = new HashMap<String,Object>(); item.put("image", R.drawable.one); item.put("title", mlisttitle[i]); item.put("text", mliststr[i]); mdata.add(item); SimpleAdapter adapter = new SimpleAdapter(this,mData,R.layout. activity_main, new String[]{"image","title","text",new int[]{r.id.tupian, R.id.biaoti,R.id.wenzi); setlistadapter(adapter); mlistview.setonitemclicklistener(new OnItemClickListener() public void onitemclick(adapterview<?> adapterview, View view, int position, long id) { Toast.makeText(MainActivity.this," 您喜欢的名言 :" + mlisttitle [position] + "-"+mliststr[position], Toast.LENGTH_SHORT).show(); ); super.oncreate(savedinstancestate); 3.5 网格视图 (GridView) GridView 是按照行列的方式来显示内容的, 一般用于显示图片等内容, 如实现九宫格图, 用 GridView 是首选, 也是最简单的, 主要用于设置 Adapter (1)Context:Context 提供了关于应用环境全局信息的接口 它是一个抽象类, 它的执行被 Android 系统所提供 它允许获取以应用为特征的资源和类型 同时启动应用级的操作, 如启动 Activity broadcasting 和接收 intents (2)public void setadapter (ListAdapter adapter): 设置 GridView 的数据, 参数 adapter 为 grid 提供数据的适配器 (3)public View getview(int position, View convertview, ViewGroup parent) 各参数的含义如下 position 该视图在适配器数据中的位置 convertview 旧视图 parent 此视图最终会被附加到的父级视图 (4)ImageView: 显示任意图像, 如图标 ImageView 类可以加载各种来源的图片 ( 如资源或图片库 ), 需要计算图像的尺寸, 比便可以在其他布局中使用, 并提供例如缩放和着 62

21 件进3 阶色 ( 渲染 ) 各种显示选项 (5)public void setadjustviewbounds (boolean adjustviewbounds) 当需要在 ImageView 调整边框保持可绘制对象的比例时, 将该值设为真 (6)public void setscaletype (ImageView.ScaleType scaletype) 控制图像应该如何缩放和移动, 以使图像与 ImageView 一致 参数 scaletype 是需要的缩放方式 案例 : 使用 GridView 编写一个界面, 如图 3-8 所示 Android 控63 第章图 3-8 GridView 效果图 实现步骤如下 (1) 编写 activity_main.xml 布局文件, 添加一个 GridView 控件, 打开 res/layout/ activity_main.xml 文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <GridView android:id="@+id/gridviewone" > </GridView> </LinearLayout> (2) 打开 src/com.example. gridview/mainactivity.java 文件, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example.gridview/mainactivity.java package com.example.gridview; import android.os.bundle; import android.app.activity;

22 import android.content.context; import android.view.menu; import android.view.view; import android.view.viewgroup; import android.widget.baseadapter; import android.widget.gridview; import android.widget.imageview; public class MainActivity extends Activity { private GridView gv; Android 应用开发完全学习手册@Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); gv=(gridview)findviewbyid(r.id.gridviewone); // 设置 GridView 的列数 gv.setnumcolumns(3); // 为 GridView 设置适配器 gv.setadapter(new MyAdapter(this)); //// 自定义适配器 class MyAdapter extends BaseAdapter{ //// 图片 ID 数组 private Integer[] imgs = { R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four, R.drawable.five, R.drawable.six, R.drawable.seven, R.drawable.eight, R.drawable.nine, ; //// 上下文对象 Context context; // 构造方法 MyAdapter(Context context){ this.context = context; // 获得数量 public int getcount() { //TODO Auto-generated method stub return imgs.length; // 获得当前选项 public Object getitem(int position) { 64

23 件进3 阶// TODO Auto-generated method stub return position; // 获得当前选项 ID public long getitemid(int position) { // TODO Auto-generated method stub return position; // 创建 View 方法 public View getview(int position, View convertview, ViewGroup parent) { //TODO Auto-generated method stub ImageView imageview; if (convertview == null) { // 实例化 ImageView 对象 imageview = new ImageView(context); // 设置 ImageView 对象布局 imageview.setlayoutparams(new GridView.LayoutParams(125, 125)); // 设置边界对齐 imageview.setadjustviewbounds(false); // 设置刻度类型 imageview.setscaletype(imageview.scaletype.center_crop); // 设置间距 imageview.setpadding(8, 8, 8, 8); else { imageview = (ImageView) convertview; // 为 ImageView 设置图片资源 imageview.setimageresource(imgs[position]); return imageview; Android 控65 第章@Override public boolean oncreateoptionsmenu(menu menu) { //Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; 3.6 控件的综合应用案例 案例描述 : 使用本章所学的常用控件编写一个注册界面, 效果如图 3-9 所示 案例分析 :TextView EditText RadioButton Button ToggleButton CheckBox Spinner imagebutton imageview Spinner 等控件, 采用的布局方式是相对布局

24 Android 应用开发完全学习手册图 3-9 注册界面图实现步骤如下 : 打开 res/layout/activity_main.xml 布局文件, 修改并添加一些代码, 代码清单如下 代码清单 :res/layout/activity_main.xml <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <TextView android:id="@+id/textview1" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" android:text=" 用户注册 " android:textappearance="?android:attr/textappearancelarge" /> <TextView android:id="@+id/textview2" android:layout_below="@+id/textview1" android:layout_marginright="24dp" 66

25 件进3 阶android:layout_marginTop="24dp" android:text=" 用户名 " android:textcolor="#0000ff" /> <TextView android:layout_margintop="20dp" android:text=" 密码 " android:textcolor="#ff00ff" /> <TextView android:layout_margintop="20dp" android:text=" 确认密码 " android:textcolor="#ff00ff" /> Android 控67 第章<EditText android:ems="10" android:inputtype="textpassword" /> <EditText android:ems="10" /> <EditText android:ems="10" android:inputtype="textpassword"

26 android:textcolor="#ff00ff" /> <RadioGroup android:layout_marginleft="24dp" android:layout_margintop="9dp" android:orientation="horizontal" > Android 应用开发完全学习手册<RadioButton android:text=" 男 " /> <RadioButton android:text=" 女 " /> </RadioGroup> <TextView android:layout_margintop="15dp" android:text=" 性别 " /> <Spinner android:layout_margintop="10dp" /> <TextView android:layout_margintop="15dp" android:text=" 职位 " /> <TableRow 68

27 件进3 阶 android:layout_margintop="10dp" > <TableRow > <CheckBox android:text="swim" /> <CheckBox android:text="read" /> </TableRow> </TableRow> Android 控69 第章<TextView android:layout_margintop="10dp" android:text=" 爱好 " /> <ToggleButton android:layout_centerhorizontal="true" android:texton=" 是 " android:textoff=" 不是 " android:text="togglebutton" /> <TextView android:text=" 你喜欢编程吗 " />

28 <ImageView android:layout_margintop="16dp" /> Android 应用开发完全学习手册<TextView android:text=" 验证码 " /> <EditText android:ems="10" > <requestfocus /> </EditText> <ImageButton android:layout_margintop="38dp" /> <Button android:textsize="15px" android:text=" 取消 " /> </RelativeLayout> 70

29 件进3 阶(2) 打开 src/com.example. gridview/mainactivity.java 文件, 实现 Spinner 控件的功能, 修改并添加一些代码, 代码清单如下 代码清单 :src/com.example. gridview/mainactivity.java import android.os.bundle; import android.app.activity; import android.view.menu; import android.view.view; import android.widget.arrayadapter; import android.widget.spinner; import android.widget.toast; public class MainActivity extends Activity { private Spinner protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); zwxz = (Spinner) findviewbyid(r.id.zwxz); String[] a = { "CEO", "CFO", "PM" ; ArrayAdapter A = new ArrayAdapter(this, android.r.layout.simple_spinner_item, a); public boolean oncreateoptionsmenu(menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; Android 控71 第章 3.7 本章小结 本章主要以案例形式讲述了 ImageButton 控件 ImageView 控件 RadioButton 控件 CheckBox 控件 ListView 控件和 GridView 控件的属性及如何使用, 最后介绍了一个控件的综合应用案例 对于初学者来说有一定帮助, 请在开发工具中多调试本章的案例

主程式 : 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

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

预览图 : (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

單步除錯 (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

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

Android Fragment

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

More information

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

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

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

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

内文-2.indd

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

More information

Android Service

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

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

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

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

More information

Microsoft Word - AEL CH05.doc

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

More information

Android 开发教程

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

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

Microsoft Word - 扉页.doc

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

More information

Android 开发教程

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

More information

實作SQLiteOpenHelper類別

實作SQLiteOpenHelper類別 SQLiteOpenHelper 類別存取 SQLite 建國科技大學資管系 饒瑞佶 2013/5 V1 Android 連結資料庫 MySQL SQL Server Web Service 遠端資料庫 Internet Intranet Android SQLite 單機資料庫 Android vs. SQLite 透過 SQLiteOpenHelper 類別來操作 建立資料庫 ( 建構子 ) 建立資料表

More information

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

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

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 章.1 Android UI 基本概念 用户界面 (User Interface,UI) 是用户与设备之间进行信息交流的直接媒介, 是决定用户体验最重要的部分 相比于早期的计算机的主要交互界面 批处理界面和命令行界面, 现在更为流行的是更简单直接的用户图形界面 (Graphical User Interface, GUI) GUI 简单易用, 受众面广, 直接推动了个人计算机的发展 目前, 主流大众的操作系统都采用了

More information

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

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

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

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

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 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

PowerPoint 簡報

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

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

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

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

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

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

Chapter 4

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

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

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

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

_banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _bannera

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

More information

Microsoft Word - GoF-ch02-8-hook-ok.doc

Microsoft Word - GoF-ch02-8-hook-ok.doc 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 39 40 Google Android 設計招式之美 認識高煥堂老師 請看 4 分鐘演講視頻 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 41 第 2 章 Android 框架与应用 类别的接合 : 卡榫 (Hook) 函数 2.1 前言 2.2 何谓卡榫 (Hook) 函数 2.3

More information

Database_001

Database_001 作者 : 林致宇日期 :2011/10/26 主要參考來源 : http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applicat ions/ 問題 : 如在存取一個已經建立好的資料庫? 解答 : 有一些應用程式會需要讀取已經建立好的資料庫, 例如一個試題測驗應用程式, 裡面的試題可能已經於電腦上, 使用任何的

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

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

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

幻灯片 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

一 登录 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

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

PowerPoint 演示文稿

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

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

Android 基礎教學

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

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

03 开发入门.key

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

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

Microsoft Word - 第5章.doc

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

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 - 第5章.doc

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

More information

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

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

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

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

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

Chapter 10

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

More information

Android 应 用 开 发 实 践 教 程 进 行 控 制, 这 也 是 较 为 推 荐 的 一 种 方 式 动 态 方 式 是 指 通 过 Java 代 码 来 开 发 用 户 界 面, 动 态 地 控 制 界 面 中 的 组 件 XML 布 局 文 件 控 制 用 户 界 面 利 用 XML

Android 应 用 开 发 实 践 教 程 进 行 控 制, 这 也 是 较 为 推 荐 的 一 种 方 式 动 态 方 式 是 指 通 过 Java 代 码 来 开 发 用 户 界 面, 动 态 地 控 制 界 面 中 的 组 件 XML 布 局 文 件 控 制 用 户 界 面 利 用 XML 第 2 章 用 户 界 面 设 计 如 何 评 价 一 款 APP 的 好 坏, 用 户 体 验 是 非 常 重 要 的 所 谓 用 户 体 验, 最 直 接 的 感 受 就 是 界 面 的 美 观 与 否, 其 次 才 是 功 能 用 户 界 面 相 当 于 APP 的 门 面, 越 来 越 受 到 人 们 的 重 视 如 何 设 计 能 够 兼 容 不 同 规 格 屏 幕 的 用 户 界 面,

More information

建立Android新專案

建立Android新專案 經濟部工業局 Android 智慧型手機程式設計實務應用班 Android WebService 建國科技大學資管系 饒瑞佶 2012/4 WebService 需要 ksoap2-android-assembly-2.5.2-jar-withdependencies.jar 或 ksoap2-android-assembly-2.5.2-jar-withdependencies_timeout1.jar

More information

Lecture01_Android介绍

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

More information

90 深入 Android 应用开发 核心技术解析与最佳实践 -> android.view.viewgroup -> android.widget.linearlayout 对于 LinearLayout 而言 有几个重要的属性必须注意 android:layout_width 属性定义了控 件的

90 深入 Android 应用开发 核心技术解析与最佳实践 -> android.view.viewgroup -> android.widget.linearlayout 对于 LinearLayout 而言 有几个重要的属性必须注意 android:layout_width 属性定义了控 件的 第3章 Android UI 控件精要 Android 中提供了丰富的 UI 控件 为了最大限度地发挥平台的性能 每一个开发者必须 熟练掌握 UI 控件尤其是常用的 UI 控件 并能根据需要呈现的内容选择最恰当的控件 需 要 注 意 的 是 Android 提 供 了 XML 配 置 和 Java 两 种 方 式 来 配 置 控 件 属 性 通 常 XML 配置有利于扩展和多目标环境的适配 但由于增加了

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

题目

题目 开发 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

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

建模与图形思考

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

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

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

投影片 1

投影片 1 Chapter 13 Android 實戰演練 線上匯率查詢 線上匯率查詢 本節範例將實作一個簡單的線上費率查詢, 利用 Url 查詢台灣銀行的即時匯率, 欲查詢的網址為 http://rate.bot.com.tw/pages/static/uip003.zh- TW.htm 此網頁中每隔幾分鐘會更新一次匯率, 所以範例程式在一開啟時會抓取此網頁並將網頁內容解析後將匯率資料取出 線上匯率查詢 台灣銀行線上即時匯率查詢

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

Microsoft Word - 01.DOC

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

More information

Introduction Android 应用开发课程介绍 本课程旨在通过 6 个基本任务和相关的知识点, 让学习者在短时间内通过任务驱动的方式快速学习掌握 Android 的基本编程 本在线教程与温州大学 SPOC 对接, 可在 SPOC 中观看具体的视频, 帮助完成实现各基本任务 本在线教程目前

Introduction Android 应用开发课程介绍 本课程旨在通过 6 个基本任务和相关的知识点, 让学习者在短时间内通过任务驱动的方式快速学习掌握 Android 的基本编程 本在线教程与温州大学 SPOC 对接, 可在 SPOC 中观看具体的视频, 帮助完成实现各基本任务 本在线教程目前 目錄 Introduction 认识 Android 开发 (Eclipse 版 ) 任务 1:UI 布局编程任务 1- 具体任务任务 1 知识点任务 2:UI 列表编程任务 2- 具体任务任务 2 知识点任务 3:UI 菜单编程任务 3- 具体任务任务 3 知识点任务 4:Http 编程任务 4- 具体任务任务 4 知识点任务 5: 数据库编程任务 5- 具体任务任务 5 知识点任务 6:Excel

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

Microsoft PowerPoint - 08_Android_Spring11_Control2.pptx

Microsoft PowerPoint - 08_Android_Spring11_Control2.pptx 作者 : 李昭賢作者 : 洪振偉編撰整理者 : 陳彥霖 學習目標 1. 透過 XML 產生控制項 2. 透過 Java 產生控制項 3. 新增事件 (Event) 處理 AnalogClock / DigitalClock 負責顯示時間 AnalogClock: 以傳統鐘錶指針方式顯示時與分 DigitalClock: 以數位數字方式顯示時 分與秒 類比小時鐘 (AnalogClock 類別 ) 數位小時鐘

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

Guava学习之Resources

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

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

Microsoft PowerPoint - chapter05.ppt

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

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

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

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

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

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

概述

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

More information

Android 开发快速入门 第 章.1 开发环境的搭建 在开始 Android 开发之旅启动之前, 首先要搭建环境,Android 开发环境的安装和配置是 开发 Android 应用程序的第一步, 也是深入 Android 平台的一个非常好的入口.1.1 开发准备工作 配置 Android 开发环

Android 开发快速入门 第 章.1 开发环境的搭建 在开始 Android 开发之旅启动之前, 首先要搭建环境,Android 开发环境的安装和配置是 开发 Android 应用程序的第一步, 也是深入 Android 平台的一个非常好的入口.1.1 开发准备工作 配置 Android 开发环 Android 开发快速入门 学习目标 : 对 Android 快速入门, 能够开发运行简单 Android 应用, 为以后深入学习打下坚实基础 知识目标 理解 Android 相关的基本概念 熟练搭建 Android 开发运行环境 编写一个 Android 应用程序 了解 Android 应用四个主要组件 技能目标 能熟练搭建 Android 开发环境 编写运行一个 Android 应用 Android

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 文件管理器 Android 系统并不自带文件管理器, 但是很多情况下, 我们有诸如从 SD 中打开文件的需要, 怎么办呢? 相信大家都比较习惯 Window 下操作文件和文件夹的方式, 那么 Android 下是否也有类似的工具呢? 答案是必须有 本章我们将要开发的应用就是 Android 平台下的文件管理器 5.1 功能分析 本章将要实现的文件管理器, 借鉴于 Windows, 从用户实际使用需求出发,

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

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

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

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

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

Lecture01_Android介绍

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

More information

教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 學校系所 : 樹德科技大學資訊工程學系

教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 學校系所 : 樹德科技大學資訊工程學系 教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 (s11639104@stu.edu.tw) 學校系所 : 樹德科技大學資訊工程學系 實驗目的 本實驗的目的在於讓同學們可以了解 Android 系統核心內部的行程通訊的原理, 透過呼叫系統提供的其中一樣服務

More information

第6讲

第6讲 UI 及 图 形 应 用 开 发 技 术 哈 尔 滨 工 业 大 学 软 件 学 院 唐 好 选 Email:tanghx@hit.edu.cn 主 要 内 容 Android UI 布 局 图 形 控 件 常 用 的 XML 属 性 图 形 界 面 中 常 用 的 控 件 元 素 菜 单 对 话 框 Android 的 UI 布 局 为 了 适 应 各 式 各 样 的 界 面 风 格,Android

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

Microsoft Word - Android App 手機應用程式設計課程-0429.docx

Microsoft Word - Android App 手機應用程式設計課程-0429.docx 臺北市市立第一一女子高級級中學 102 學年年度資研社社社課 Android App 手機應用用程式設設計課程 認識 Android 本講義參參考底本 :http://code.google.com/p/androidbmi/wiki Google Android 手機應用用程式設計入門 第五版 Gasolin 松崗 Android 是由 Google 領頭打造造的手持式設設備標準作業業系統平台 由由於

More information

建立Android新專案

建立Android新專案 Android 智慧型手機程式設計 程式設計與應用班 Android 資料庫處理 建國科技大學資管系饒瑞佶 2012/4 V1 2012/8 V2 Android 資料庫 -SQLite 資料庫 SQLite 檔案式資料庫 適合嵌入式系統, 不需要額外安裝系統 OPEN SOURCE 資料庫 SQL 指令與一般 DBMS 大同小異, 但有些微差異 SQLite Android 結構 1 資料 結構

More information

ShareText

ShareText 作者 : 林致宇 日期 :2012/1/23 問題 : 如何分享分享文字資訊給其它的應用程式? 解答 : 有時候我們可能會希望 我們的應用程式的資訊 能夠讓使用者分享出去, 讓使用者能夠將此資訊傳送簡訊給其好友或寄電子郵件的方式寄給其好友, 這份文件將示範如何寫出這樣的應用程式 本文件將產出兩個 App, 第一個 App 是 分享資料的來源, 名為 CopyPaste_Source, 功能非常簡單,

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