Microsoft Word - 第3章.doc

Size: px
Start display at page:

Download "Microsoft Word - 第3章.doc"

Transcription

1 第 3 章 多个用户界面的程序设计 3.1 页面的切换与传递参数值 传递参数组件 Intent Intent 是 Android 系统的一种运行时的绑定机制, 在应用程序运行时连接两个不同组件 在 Android 的应用程序中不管是页面切换还是传递数据或是调用外部程序都可能要用到 Intent Intent 负责对应用中某次操作的动作 动作涉及的数据 附加数据进行描述, Android 则根据此 Intent 的描述负责找到对应的组件, 将 Intent 传递给调用的组件, 并完成组件的调用 因此可以将 Intent 理解为不同组件之间通信的 媒介, 其专门提供组件互相调用的相关信息 Intent 的属性有动作 (Action) 数据(Data) 分类(Category) 类型(Type) 组件 (Compent) 以及扩展 (Extra), 其中最常用的是 Action 属性 例如 : Intent.ACTION_MAIN 表示标识 Activity 为一个程序的开始 Intent.ACTION_GET_CONTENT 表示允许用户选择图片或录音等特殊种类的数据 Intent.ACTION_SEND 表示发送邮件的 action 动作 Telephony.SMS_RECEIVED 表示接收邮件的 action 动作 Intent.ACTION_ANSWER 表示处理呼入的电话 Intent.Action_CALL_BUTTON 表示按 拨号 键 Intent.Action_CALL 表示呼叫指定的电话号码 Activity 页面的切换 Activity 跳转与传递参数值主要通过 Intent 类协助实现 在一个 Activity 页面中启动另一个 Activity 页面的运行是最简单的 Activity 页面切换方式 其步骤如下 : (1) 创建一个 Intent 对象, 其构造方法如下 Intent intent = new Intent( 当前 Activity.this, 另一 Activity.class); (2) 调用 Activity 的 startactivity(intent) 方法, 切换到另一个 Activity 页面 例 3-1 从一个 Activity 页面启动另一个 Activity 页面示例 创建名称为 ex3_1 的新项目, 包名为 com.ex3_1 在本项目中要建立两个页面文件及两个控制文件, 第 1 个页面的界面布局文件为 activity_main.xml

2 控制文件为 MainActivity.java, 第 2 个页面的界面布局文件为 second.xml 控制文件为 secondactivity.java, 还要修改配置文件 AndroidManifest.xml (1) 设计第 1 个页面 1 修改第 1 个页面的控制文件 MainActivity.java, 源代码如下 : 1 package com.ex3_1; 2 import android.app.activity; 3 import android.content.intent; 4 import android.os.bundle; 5 import android.view.view; 6 import android.view.view.onclicklistener; 7 import android.widget.button; 8 public class MainActivity extends Activity 9 { 10 private Button btn; 12 public void oncreate(bundle savedinstancestate) 13 { 14 super.oncreate(savedinstancestate); 15 setcontentview(r.layout.activity_main); 16 btn = (Button)findViewById(R.id.mButton); 17 btn.setonclicklistener(new btnclock()); 18 } 19 class btnclock implements OnClickListener 定义一个类实现监听接口 20 { 21 public void onclick(view v) 22 { 23 Intent intent = new Intent(MainActivity.this, secondactivity.class); 24 // 创建好 Intent 之后就可以通过它启动新的 Activity 25 startactivity(intent); 26 } 27 } 28 } 2 第 1 个页面的布局文件 activity_main.xml 如下 : 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android=" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 <TextView 7 android:id="@+id/textview1" 8 android:layout_width="fill_parent" 9 android:layout_height="wrap_content" 79 第 3 章 科多个用户界面的程序设计

3 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 android:text="@string/hello" /> 11 <Button 12 android:id="@+id/mbutton" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="@string/button" 16 /> 17 </LinearLayout> (2) 设计第 2 个页面 1 在项目中新建第 2 个页面的控制文件 secondactivity.java 右击资源管理器中的 com.example.ex3_1 选项, 在弹出的快捷菜单中选择 New( 新建 ) File( 文件 ) 命令, 如图 3.1 所示 图 3.1 新建一个 Java 源程序 在弹出的对话框中输入文件名 secondactivity.java, 并输入代码如下 : 1 package com.ex3_1; 2 import android.app.activity; 3 import android.os.bundle; 4 public class secondactivity extends Activity 5 { 7 public void oncreate(bundle savedinstancestate) 8 { 9 super.oncreate(savedinstancestate); 10 setcontentview(r.layout.second); 启动布局文件 second.xml 11 } 12 } 2 新建第 2 个页面的布局文件 second.xml 其操作同前, 右击资源管理器中的 layout 选项, 在弹出的快捷菜单中选择 New( 新建 ) File( 文件 ) 命令, 然后在弹出的对话框 中输入文件名 second.xml, 并输入其代码如下 1 <?xml version="1.0" encoding="utf-8"?>

4 2 <LinearLayout xmlns:android=" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 <TextView 7 android:layout_width="fill_parent" 8 android:layout_height="wrap_content" 9 android:text="@string/second" /> 10 </LinearLayout> (3) 修改 strings.xml 和配置文件 AndroidManifest.xml 1 strings.xml 文件的代码如下 : 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <string name="hello"> 切换页面 </string> 4 <string name="app_name">ex3_1</string> 5 <string name="second"> 这是第 2 个页面 </string> 6 <string name="button"> 切换到另一页面 </string> 7 </resources> 2 修改 AndroidManifest.xml 配置文件 打开项目中的 AndroidManifest.xml 文件, 向其注册第 2 个 Activity 页面, 其代码如下 : 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android=" 3 package="com.ex3_1" 4 android:versioncode="1" 5 android:versionname="1.0" > 6 <uses-sdk android:minsdkversion="15" /> 7 <application 8 android:icon="@drawable/ic_launcher" 9 android:label="@string/app_name" > 10 <activity 11 android:label="@string/app_name" 12 android:name=".mainactivity" > 13 <intent-filter > 14 <action android:name="android.intent.action.main" /> 15 <category android:name="android.intent.category.launcher" /> 16 </intent-filter> 17 </activity> 18 <activity 19 android:label="@string/app_name" 新增第 2 个 Activity 的注册 20 android:name=".secondactivity" /> 81 第 3 章 科多个用户界面的程序设计

5 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 21 </application> 22 </manifest> 82 程序运行结果如图 3.2 所示 图 3.2 从一个页面切换到另一页面 提示 : 在 Android Studio 中创建第 2 个页面也可以通过下列操作由系统自动生成 : 右击资源管理器中应用程序的 app 项, 选择 New File Activity Gallery 项, 根据系统对话框的导航提示自动创建第 2 个页面 ( 包括控制程序 界面布局程序, 并在配置文件中自动添加第 2 个页面的 Activity 注册语句 ) 应用 Intent 在 Activity 页面之间传递数据 1.Bundle 类 Bundle 类是用于为字符串与某组件对象建立映射关系的组件 Bundle 组件与 Intent 配合使用, 可在不同的 Activity 之间传递数据 Bundle 类的常用方法如下 putstring(string key, String value): 把字符串用 键 - 值 对形式存放到 Bundle 对象中 remove(string key): 移除指定 key 的值 getstring(string key): 获取指定 key 的字符 2. 应用 Intent 在不同的 Activity 之间传递数据下面说明应用 Intent 与 Bundle 配合从一个 Activity 页面传递数据到另一 Activity 页面的方法 1) 在页面 Activity A 端 (1) 创建 Intent 对象和 Bundle 对象 : Intent intent = new Intent(); Bundle bundle = new Bundle(); (2) 为 Intent 指定切换页面, 用 Bundle 存放 键 - 值 对数据 : intent.setclass(mainactivity.this, secondactivity.class); bundle.putstring("text", txt.gettext().tostring()); (3) 将 Bundle 对象传递给 Intent:

6 intent.putextras(bundle); 2) 在另一页面 Activity B 端 (1) 从 Intent 中获取 Bundle 对象 : bunde = this.getintent().getextras(); (2) 从 Bundle 对象中按 键 - 值 对的键名获取对应数据值 : String str = bunde.getstring("text"); 在不同的 Activity 页面之间传递数据的过程如图 3.3 所示 图 3.3 应用 Intent 在 Activity 页面之间传递数据 例 3-2 从第 1 个 Activity 页面传递数据到第 2 个 Activity 页面示例 (1) 第 1 个 Activity 页面的界面布局 activity_main.xml 的代码如下 : 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android=" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 <TextView 7 android:layout_width="fill_parent" 8 android:layout_height="wrap_content" 9 android:text=" 页面切换 " /> 10 <Button 11 android:id="@+id/button1" 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:text=" 切换到另一页面 " /> 15 <EditText 16 android:id="@+id/edittext1" 17 android:layout_width="match_parent" 18 android:layout_height="wrap_content" > 19 <requestfocus /> 获得焦点 83 第 3 章 科多个用户界面的程序设计

7 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 20 </EditText> 21 </LinearLayout> 84 (2) 第 1 个 Activity 页面控制文件 MainActivity.java 的代码如下 : 1 package com.ex3_2; 2 import android.app.activity; 3 import android.content.intent; 4 import android.os.bundle; 5 import android.view.view; 6 import android.view.view.onclicklistener; 7 import android.widget.button; 8 import android.widget.edittext; 9 public class MainActivity extends Activity 10 { 11 Button btn; 13 public void oncreate(bundle savedinstancestate) 14 { 15 super.oncreate(savedinstancestate); 16 setcontentview(r.layout.activity_main); 17 btn = (Button)findViewById(R.id.button1); 18 btn.setonclicklistener(new btnclock()); 19 } 20 // 定义一个类实现监听接口 21 class btnclock implements OnClickListener 22 { 23 public void onclick(view v) 24 { 25 Intent intent = new Intent(); 26 intent.setclass(mainactivity.this,secondactivity.class); 27 EditText txt = (EditText)findViewById(R.id.editText1); 28 Bundle bundle = new Bundle(); 29 bundle.putstring("text", txt.gettext().tostring()); 创建 Intent 对象并指定切换页面 创建 Bundle 对象存放 键 - 值 对数据 30 intent.putextras(bundle); 将 Bundle 对象传递给 Intent 31 startactivity(intent); 32 } 33 } 34 } 启动另一个 Activity 页面 (3) 第 2 个页面的界面布局文件 second.xml 的代码如下 : 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="

8 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 <Button 7 android:id="@+id/button2" 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content" 10 android:text=" 返回第一个页面 " /> 11 <TextView 12 android:id="@+id/textview2" 13 android:layout_width="match_parent" 14 android:layout_height="wrap_content" 15 android:textsize="24sp" /> 16 </LinearLayout> (4) 第 2 个页面的控制文件 secondactivity.java 的代码如下 : 1 package com.ex3_2; 2 import android.app.activity; 3 import android.content.intent; 4 import android.os.bundle; 5 import android.util.log; 6 import android.view.view; 7 import android.view.view.onclicklistener; 8 import android.widget.button; 9 import android.widget.textview; 10 public class secondactivity extends Activity 11 { 12 Button btn2; 14 public void oncreate(bundle savedinstancestate) 15 { 16 super.oncreate(savedinstancestate); 17 setcontentview(r.layout.second); 18 TextView txt2 = (TextView)findViewById(R.id.TextView2); 19 Bundle bunde = this.getintent().getextras(); 取得 Intent 中的 Bundle 对象 String str = bunde.getstring("text"); 获取 Bundle 对象中的数据 22 txt2.settext(str); 23 btn2 = (Button)findViewById(R.id.button2); 24 btn2.setonclicklistener(new btnclock2() ); 25 } 26 // 定义返回到前一页面的监听接口事件 27 class btnclock2 implements OnClickListener 28 { 29 public void onclick(view v) 85 第 3 章 科多个用户界面的程序设计

9 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 { 31 Intent intent2 = new Intent(); 新建 Intent 对象 32 intent2.setclass(secondactivity.this, MainActivity.class); 33 startactivityforresult(intent2, 0); 返回前一页面 34 } 35 } 36 } (5) 修改 AndroidManifest.xml 配置文件 打开项目中的 AndroidManifest.xml 文件, 向其注册第 2 个 Activity 页面, 其代码同例 3-1 程序运行结果如图 3.4 所示 图 3.4 数据在不同 Activity 页面之间传递 3.2 菜单设计 一个菜单 (Menu) 由多个菜单选项组成, 选择一个菜单项就可以引发一个动作事件 在 Android 系统中, 菜单可以分为 3 类, 即选项菜单 (Option Menu) 上下文菜单(Context Menu) 和子菜单 (Sub Menu) 下面主要介绍选项菜单和上下文菜单的设计方法, 由于子菜单的设计方法基本上与选项菜单相同, 这里就不赘述了 选项菜单 选项菜单需要通过按下设备的 Menu 键来显示 当按下设备上的 Menu 键后会在屏幕底部弹出一个菜单, 这个菜单称为选项菜单 (Options Menu) 1. 在 Activity 中创建菜单的方法设计选项菜单需要用到 Activity 中的 oncreateoptionmenu(menu menu) 方法, 用于建立菜单并且在菜单中添加菜单项 ; 还需要用到 Activity 中的 onoptionsitemselected(menuitem item) 方法, 用于响应菜单事件 Activity 实现选项菜单的方法见表 3-1 表 3-1 方法 oncreateoptionmenu(menu menu) onprepareoptionsmenu(menu menu) onoptionsmenuclosed(menu menu) onoptionsitemselected(menuitem item) Activity 实现选项菜单的方法说明用于初始化菜单,menu 为 Menu 对象实例改变菜单状态, 在菜单显示前调用菜单被关闭时调用菜单项被点击时调用, 即菜单项的监听方法

10 2. 菜单 Menu 设计选项菜单需要用到 Menu MenuItem 接口 一个 Menu 对象代表一个菜单, 在 Menu 对象中可以添加菜单项 MenuItem 对象, 也可以添加子菜单 Sub Menu 菜单 Menu 使用 add(int groupid, int itemid, int order, CharSequence title) 方法添加一个菜单项,add() 方法中的 4 个参数如下 (1) 组别 : 如果不分组就写 Menu.NONE (2)id: 很重要,Android 根据这个 id 来确定不同的菜单 (3) 顺序 : 哪个菜单项在前面由这个参数的大小决定 (4) 文本 : 菜单项的显示文本 3. 创建选项菜单的步骤创建选项菜单的步骤如下 : (1) 重写 Activity 的 oncreateoptionmenu(menu menu) 方法, 当菜单第 1 次被打开时调用 (2) 调用 Menu 的 add() 方法添加菜单项 (MenuItem) (3) 重写 Activity 的 onoptionsitemselected(menuitem item) 方法, 当菜单项 (MenuItem) 被选择时来响应事件 例 3-3 选项菜单应用示例 设计一个应用选项菜单的示例程序, 其运行结果如图 3.5 所示 图 3.5 菜单示例 其 MainActivity.java 的源代码如下 : 1 package com.ex3_3; 2 import android.app.activity; 87 第 3 章 科多个用户界面的程序设计

11 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 88 3 import android.os.bundle; 4 import android.view.menu; 5 import android.view.menuitem; 6 import android.widget.textview; 7 public class MainActivity extends Activity 8 { 9 TextView txt; 11 public void oncreate(bundle savedinstancestate) 12 { 13 super.oncreate(savedinstancestate); 14 setcontentview(r.layout.activity_main); 15 txt = (TextView)findViewById(R.id.TextView1); 16 } 18 public boolean oncreateoptionsmenu(menu menu) 19 { 20 // 调用父类方法来加入系统菜单 21 super.oncreateoptionsmenu(menu); 22 // 添加菜单项 23 menu.add( 24 1, // 组号 25 1, // 唯一的 id 号 添加菜单项的 4 个参数 26 1, // 排序号 27 " 菜单项 1"); // 标题 28 menu.add( 1, 2, 2, " 菜单项 2"); 29 menu.add( 1, 3, 3, " 菜单项 3"); 30 menu.add( 1, 4, 4, " 菜单项 4"); 31 return true; 32 } 34 public boolean onoptionsitemselected(menuitem item) 35 { 36 String title = " 选择了 " + item.gettitle().tostring(); 37 switch (item.getitemid()) 38 { // 响应每个菜单项 ( 通过菜单项的 id) 39 case 1: 40 txt.settext(title); 文本标签显示菜单项的标题 41 break; 42 case 2: 43 txt.settext(title); 文本标签显示菜单项的标题 44 break; 45 case 3: 46 txt.settext(title); 文本标签显示菜单项的标题 47 break;

12 48 case 4: 49 txt.settext(title); 文本标签显示菜单项的标题 50 break; 51 default: 52 // 对于没有处理的事件交给父类来处理 53 return super.onoptionsitemselected(item); 54 } 55 return true; 56 } 57 } 上下文菜单 Android 系统中的上下文菜单类似于计算机上的右键菜单 在为一个视图注册了上下文菜单之后长按 ( 两秒左右 ) 这个视图对象会弹出一个浮动菜单, 即上下文菜单 任何视图都可以注册上下文菜单, 不过最常见的是用于列表视图 ListView 的 item 创建一个上下文菜单的步骤如下 : (1) 重写 Activity 的 oncreatecontenxtmenu() 方法, 调用 Menu 的 add 方法添加菜单项 (MenuItem) (2) 重写 Activity 的 oncontextitemselected() 方法, 响应上下文菜单的菜单项的单击事件 (3) 调用 Activity 的 registerforcontextmenu() 方法, 为视图注册上下文菜单 例 3-4 上下文菜单应用示例 设计一个应用上下文菜单的示例程序, 其运行结果如图 3.6 所示 图 3.6 上下文菜单应用示例 其 MainActivity.java 的源代码如下 : 1 package com.ex3_4; 2 import android.app.activity; 89 第 3 章 科多个用户界面的程序设计

13 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 90 3 import android.os.bundle; 4 import android.view.contextmenu; 5 import android.view.contextmenu.contextmenuinfo; 6 import android.view.menu; 7 import android.view.menuitem; 8 import android.view.view; 9 import android.widget.listview; 10 import android.widget.textview; 11 public class MainActivity extends Activity 12 { 13 TextView txt1, txt2, txt3; 14 private static final int item1 = Menu.FIRST; 15 private static final int item2 = Menu.FIRST+1; 16 private static final int item3 = Menu.FIRST+2; 17 String str[] = {" 令狐冲 ", " 杨 过 ", " 萧 峰 " }; 19 public void oncreate(bundle savedinstancestate) 20 { 21 super.oncreate(savedinstancestate); 22 setcontentview(r.layout.activity_main); 23 txt1=(textview)findviewbyid(r.id.textview1); 24 txt2=(textview)findviewbyid(r.id.textview2); 25 txt3=(textview)findviewbyid(r.id.textview3); 26 txt1.settext(str[0].tostring()); 27 txt2.settext(str[1].tostring()); 初始化组件 28 txt3.settext(str[2].tostring()); 29 registerforcontextmenu(txt1); 30 registerforcontextmenu(txt2); 31 registerforcontextmenu(txt3); 32 } 33 // 上下文菜单, 本例会通过长按条目激活上下文菜单 35 public void oncreatecontextmenu(contextmenu menu, View view, 36 ContextMenuInfo menuinfo) { 37 menu.setheadertitle(" 人物简介 "); 38 // 添加菜单项 39 menu.add(0, item1, 0, " 武功 "); 40 menu.add(0, item2, 0, " 战斗力 "); 41 menu.add(0, item3, 0, " 经典语录 "); 42 } 43 // 菜单单击响应 45 public boolean oncontextitemselected(menuitem item){ 46 // 获取当前被选择的菜单项的信息 47 switch(item.getitemid())

14 48 { 49 case item1: 50 // 在这里添加处理代码 51 break; 52 case item2: 53 // 在这里添加处理代码 54 break; 55 case item3: 56 // 在这里添加处理代码 57 break; 58 } 59 return true; 60 } 61 } 选项的具体功能没有实现 3.3 对话框 对话框是一个有边框 有标题栏的独立存在的容器, 在应用程序中经常使用对话框组件来进行人机交互 Android 系统提供了 4 种常用的对话框 AlertDialog: 消息对话框 ProgressDialog: 进度条对话框 DatePickerDialog: 日期选择对话框 TimePickerDialog: 时间选择对话框 下面逐一介绍这些对话框的使用方法 消息对话框 AlertDialog AlertDialog 对话框是应用程序设计中最常用的对话框之一 AlertDialog 对话框的内容很丰富, 使用 AlertDialog 可以创建普通对话框 带列表的对话框以及带单选按钮和多选按钮的对话框 AlertDialog 的常用方法如表 3-2 所示 表 3-2 AlertDialog 的常用方法 方法 AlertDialog.Builder(Context) create(); settitle(); seticon(); setmessage(); setitems(); setpositivebutton(); setnegativebutton(); show(); dismiss(); 说明对话框 Builder 对象的构造方法创建 AlertDialog 对象设置对话框的标题设置对话框的图标设置对话框的提示信息设置对话框要显示的一个 list 在对话框中添加 yes 按钮在对话框中添加 no 按钮显示对话框关闭对话框 科多个用户界面的程序设计 91 第 3 章

15 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 92 创建 AlertDialog 对象需要使用 AlertDialog 的内部类 Builder 设计 AlertDialog 对话框的步骤如下 : (1) 用 AlertDialog.Builder 类创建对话框 Builder 对象 : Builder dialog=new AlertDialog.Builder(Context); (2) 设置对话框的标题 图标 提示信息内容 按钮等 : dialog.settitle(" 普通对话框 "); dialog.seticon(r.drawable.icon1); dialog.setmessage(" 一个简单的提示对话框 "); dialog.setpositivebutton(" 确定 ", new okclick()); (3) 创建并显示 AlertDialog 对话框对象 : dialog.create(); dialog.show(); 如果在对话框内部设置了按钮, 还需要为其设置事件监听 OnClickListener 例 3-5 消息对话框应用示例 在本例中设计了两种形式的对话框程序, 一种是发出提示信息的普通对话框, 另一种是用户登录对话框 在用户登录对话框中设计了用户登录的布局文件 long.xml 供用户输入相关验证信息 程序的运行结果如图 3.7 所示 (a) 普通对话框 (b) 用户登录对话框 图 3.7 AlertDialog 对话框 (1) 设计界面布局文件 activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?>

16 2 <LinearLayout xmlns:android=" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:gravity="center_horizontal" 6 android:orientation="vertical" > 7 <Button 8 android:id="@+id/button1" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text=" 打开普通对话框 " 12 android:textsize="20sp" 13 /> 14 <Button 15 android:id="@+id/button2" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:text=" 打开输入对话框 " 19 android:textsize="20sp" 20 /> 21 </LinearLayout> (2) 设计登录对话框的界面布局文件 login.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android=" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 <TextView 7 android:id="@+id/user" 8 android:layout_width="fill_parent" 9 android:layout_height="wrap_content" 10 android:text=" 用户名 " 11 android:textsize="18sp"/> 12 <EditText 13 android:id="@+id/useredit" 14 android:layout_width="fill_parent" 15 android:layout_height="wrap_content" 16 android:textsize="18sp"/> 17 <TextView 18 android:id="@+id/password" 19 android:layout_width="fill_parent" 20 android:layout_height="wrap_content" 21 android:text=" 密码 " 22 android:textsize="18sp"/> 23 <EditText 93 第 3 章 科多个用户界面的程序设计

17 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 android:id="@+id/paswdedit" 25 android:layout_width="fill_parent" 26 android:layout_height="wrap_content" 27 android:textsize="18sp"/> 28 </LinearLayout> (3) 设计控制文件 MainActivity.java 1 package com.ex3_5; 2 import android.app.activity; 3 import android.app.alertdialog; 4 import android.app.alertdialog.builder; 5 import android.app.progressdialog; 6 import android.content.dialoginterface; 7 import android.os.bundle; 8 import android.view.view; 9 import android.view.view.onclicklistener; 10 import android.widget.button; 11 import android.widget.edittext; 12 import android.widget.linearlayout; 13 import android.widget.toast; public class MainActivity extends Activity 16 { 17 ProgressDialog mydialog; 18 Button btn1,btn2; 19 LinearLayout login; 21 public void oncreate(bundle savedinstancestate) 22 { 23 super.oncreate(savedinstancestate); 24 setcontentview(r.layout.activity_main); 25 btn1=(button)findviewbyid(r.id.button1); 26 btn2=(button)findviewbyid(r.id.button2); 27 btn1.setonclicklistener(new mclick()); 28 btn2.setonclicklistener(new mclick()); 29 } 30 class mclick implements OnClickListener 31 { 32 Builder dialog=new AlertDialog.Builder(MainActivity.this); 34 public void onclick(view arg0) 35 { 36 if(arg0 == btn1) 37 {

18 38 // 设置对话框的标题 39 dialog.settitle(" 警告 "); 40 // 设置对话框的图标 41 dialog.seticon(r.drawable.icon1); 设置对话框 42 // 设置对话框显示的内容 43 dialog.setmessage(" 本项操作可能导致信息泄漏!"); 44 // 设置对话框的 确定 按钮 45 dialog.setpositivebutton(" 确定 ", new okclick()); 46 // 创建对象框 47 dialog.create(); 48 // 显示对象框 49 dialog.show(); 50 } 51 else if(arg0 == btn2) 52 { 53 login = (LinearLayout)getLayoutInflater() 54.inflate(R.layout.login, null); 从另外的布局中关联组件 55 dialog.settitle(" 用户登录 ").setmessage(" 请输入用户名和密码 ") 56.setView(login); 57 dialog.setpositivebutton(" 确定 ", new loginclick()); 58 dialog.setnegativebutton(" 退出 ", new exitclick()); 59 dialog.seticon(r.drawable.icon2); 60 dialog.create(); 61 dialog.show(); 62 } 63 } 64 } 65 /* 普通对话框的 确定 按钮事件 */ 66 class okclick implements DialogInterface.OnClickListener 67 { 69 public void onclick(dialoginterface dialog, int which) 70 { 71 dialog.cancel(); 关闭对话框 72 } 73 } 74 /* 输入对话框的 确定 按钮事件 */ 75 class loginclick implements DialogInterface.OnClickListener 76 { 77 EditText txt; 79 public void onclick(dialoginterface dialog, int which) 80 { 关联布局文 81 txt = (EditText)login.findViewById(R.id.paswdEdit); 件中的组件 82 // 取出输入编辑框的值与密码 admin 比较 95 第 3 章 科多个用户界面的程序设计

19 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 if((txt.gettext().tostring()).equals("admin")) 84 Toast.makeText(getApplicationContext(), 85 " 登录成功 ", Toast.LENGTH_SHORT).show(); 密码为 admin 时 86 else 显示 登录成功 87 Toast.makeText(getApplicationContext(), 88 " 密码错误 ", Toast.LENGTH_SHORT).show(); 89 dialog.dismiss(); 关闭对话框 90 } 91 } 92 /* 输入对话框的 退出 按钮事件 */ 93 class exitclick implements DialogInterface.OnClickListener 94 { 96 public void onclick(dialoginterface dialog, int which) 97 { 点击 退出 按钮退 98 MainActivity.this.finish(); 出 MainActivity 程序 99 } 100 } 101 } 对于程序的第 行 : login = (LinearLayout)getLayoutInflater().inflate(R.layout.login, null); 这里 inflate 是将组件从一个 XML 中定义的布局找出来 在一个 Activity 中如果直接用 findviewbyid(), 对应的是 setconentview() 中的那个 layout 中的组件 ( 程序第 24 行中的 R.layout.activity_main) 如果 Activity 中用到其他 layout 布局, 比如对话框上的 layout, 还要设置对话框上的 layout 中的组件 ( 像图片 ImageView 文字 TextView) 上的内容, 这就必须用 inflate() 先将对话框上的 layout 找出来, 然后再用这个 layout 对象找到它上面的组件 其他几种常用对话框 1. 进度条对话框 ProgressDialog Android 系统有一个 ProgressDialog 类, 它继承于 AlertDialog, 综合了进度条与对话框的特点, 使用起来非常简单 ProgressDialog 类的继承关系如图 3.7 所示 图 3.7 ProgressDialog 类继承于 AlertDialog ProgressDialog 的常用方法见表 3-3

20 表 3-3 ProgressDialog 的常用方法 方法 说明 getmax() 获取对话框进度的最大值 getprogress() 获取对话框当前的进度值 onstart() 开始调用对话框 setmax(int max) 设置对话框进度的最大值 setmessage(charsequence message) 设置对话框的文本内容 setprogress(int value) 设置对话框当前的进度 show(context context, CharSequence title, CharSequence message) 设置对话框的显示内容和方式 ProgressDialog(Context context) 对话框的构造方法 2. 日期选择对话框和时间选择对话框 日期选择对话框 DatePickerDialog 和时间选择对话框 TimePickerDialog 都继承于 AlertDialog, 一般用于日期和时间的设定, 它们的常用方法如表 3-4 所示 表 3-4 日期和时间选择对话框的常用方法 方法 说明 updatedate(int year, int monthofyear, int dayofmonth) 设置 DatePickerDialog 对象的当前日期 ondatechanged(datepicker view, int year, int month, int day) 修改 DatePickerDialog 对象的日期 updatetime(int hourofday, int minutofhour) 设置 TimePickerDialog 对象的时间 ontimechanged(timepicker view, int hourofday, int minute) 修改 TimePickerDialog 对象的时间 例 3-6 进度及日期 时间对话框示例 1 package com.example.ex3_6; 2 import android.app.activity; 3 import android.app.datepickerdialog; 4 import android.app.progressdialog; 5 import android.app.timepickerdialog; 6 import android.app.datepickerdialog.ondatesetlistener; 7 import android.app.timepickerdialog.ontimesetlistener; 8 import android.os.bundle; 9 import android.view.view; 10 import android.view.view.onclicklistener; 11 import android.widget.button; 12 import android.widget.datepicker; 13 import android.widget.timepicker; public class MainActivity extends Activity 16 { 17 Button btn1,btn2,btn3; 19 public void oncreate(bundle savedinstancestate) 97 第 3 章 科多个用户界面的程序设计

21 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 { 21 super.oncreate(savedinstancestate); 22 setcontentview(r.layout.activity_main); 23 btn1=(button)findviewbyid(r.id.button1); 24 btn2=(button)findviewbyid(r.id.button2); 25 btn3=(button)findviewbyid(r.id.button3); 26 btn1.setonclicklistener(new mclick()); 27 btn2.setonclicklistener(new mclick()); 28 btn3.setonclicklistener(new mclick()); 29 } 30 class mclick implements OnClickListener 31 { 32 int m_year = 2012; 33 int m_month = 1; 34 int m_day = 1; 35 int m_hour = 12, m_minute = 1; 37 public void onclick(view v) 38 { 39 if(v == btn1) 40 { 41 ProgressDialog d=new ProgressDialog (MainActivity.this); 42 d.settitle(" 进度对话框 "); 43 d.setindeterminate(true); 44 d.setmessage(" 程序正在 Loading..."); 45 d.setcancelable(true); 46 d.setmax(10); 47 d.show(); 48 } 49 else if(v == btn2) 50 { 51 // 设置日期监听器 52 OnDateSetListener datelistener = new OnDateSetListener() 53 { 55 public void ondateset(datepicker view, int year, 56 int monthofyear, int dayofmonth) 57 { 58 m_year = year; 59 m_month = monthofyear; 60 m_day = dayofmonth; 61 } 62 };

22 63 // 创建日期对话框对象 64 DatePickerDialog date = new DatePickerDialog(MainActivity.this, 65 datelistener, m_year, m_month, m_day); 66 date.settitle(" 日期对话框 "); 67 date.show(); 68 } 69 else if(v == btn3) 70 { // 设置时间监听器 71 OnTimeSetListener timelistener = new OnTimeSetListener() 72 { 74 public void ontimeset(timepicker view, int hourofday, int minute) 75 { 76 m_hour = hourofday; 77 m_minute = minute; 78 } 79 }; 80 TimePickerDialog d = new TimePickerDialog(MainActivity.this, 81 timelistener, m_hour, m_minute, true); 82 d.settitle(" 时间对话框 "); 83 d.show(); 84 } 85 } 86 } 87 } 程序运行结果如图 3.8 所示 (a) 打开进度对话框 图 3.8 对话框示例 (b) 打开日期对话框 科多个用户界面的程序设计 99 第 3 章

23 Android Studio 应用程序设计 ( 第 2 版 ) 微课版 习题 设计一个具有两个页面的程序, 第 1 个页面显示一张封面的图片, 第 2 个页面显示 欢迎进入本系统, 这两个页面之间能相互切换 2. 设计一个具有 3 个选项的菜单程序, 当单击每个选项时分别跳转到 3 个不同的页面 3. 设计一个具有计算器功能的对话框程序

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

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

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

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

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

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

ShareText

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

More information

Android Service

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

More information

Android 开发教程

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

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. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

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

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

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

建模与图形思考

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

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

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

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

Chapter 4

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

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

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 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 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

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

More information

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

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

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

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

Lecture01_Android介绍

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

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

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

Microsoft Word - 01.DOC

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

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

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

内文-2.indd

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

More information

Android 开发教程

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

More information

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

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

More information

PowerPoint 簡報

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

More information

Lecture01_Android介绍

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

More information

Microsoft Word - 第5章.doc

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

More information

投影片 1

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

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

Android 基礎教學

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

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

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

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

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

无类继承.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

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

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 PowerPoint - 03 开发入门.ppt [兼容模式]

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

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

软件工程文档编制

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

More information

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

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

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

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

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

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

Android 开发教程

Android 开发教程 封面 1 Android 模拟器 模拟器参数 参数格式 emulator [option] [-qemu args] option 选项 -sysdir 为模拟器在 目录中搜索系统硬盘镜像 -system 为模拟器从 文件中读取初始化系统镜像 -datadir 设置用户数据写入的目录 -kernel 为模拟器设置使用指定的模拟器内核

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

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

建立Android新專案

建立Android新專案 Android 智慧型手機程式設計 Android Google Maps 建國科技大學資管系饒瑞佶 2012/4 V1 2012/8 V2 2013/5 V3 V4 2014/10 v5 Google Maps Reference: https://developers.google.com/maps/documentation/android/start#creating _an_api_project

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

建模与图形思考

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

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

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

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

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Microsoft Word - Broker.doc

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

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

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 製 作 ------ ----- 連 線 塔 防 遊 戲 ------ Tower defense game using Internet technology 班 級 : 資 訊 三 甲 組 別 : A9 組 組 員 : 葉 冠 麟 (9906129)

More information

Microsoft Word - 第3章.doc

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

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

PowerPoint 演示文稿

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

More information

Microsoft Word - G3_BK_Ch12-8.doc

Microsoft Word - G3_BK_Ch12-8.doc 第 12 章线程 (Thread) 对象 251 第三篇 进阶技术应用 Android 应用架构含有各式各样的接口, 例如 IBinder ContentProvider 等等 只要将我们的组件配上这些接口, 就能与其它组件融为一体了 252 Android 的对象技术 (OOP) 第 12 章线程 (Thread) 对象 253 E-mail: misoo.tw@gmail.com 254 Android

More information

6-?????C???{???]?p

6-?????C???{???]?p ( ) 101.06 遊 戲 名 稱 圖 片 縮 放 相 關 類 別 與 元 件 程 式 與 執 行 結 果 遊 戲 名 稱 記 憶 遊 戲 相 關 類 別 與 元 件 程 式 與 執 行 結 果 參 考 文 件 - 元 件 宣 告 類 別 2 控 制 桌 面 上 的 圖 片 可 任 意 的 移 動 不 破 壞 方 位 可 縮 放 的 功 能 3 遊 戲 原 始 碼 來 源 :http://mate.idc.scu.edu.tw/android/

More information

Microsoft PowerPoint - chapter05.ppt

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

More information

Microsoft Word - Chap04.doc

Microsoft Word - Chap04.doc 04-26 ICON 此範例將說明設定離開與關閉程式的對話視窗提示選項 而啟動這個對話視窗是由一個按鈕來處理, 當按下 按我離開 按鈕時, 會出現 AlertDialog 的訊息, 而 AlertDialog 的內容設定, 先設定是否要顯示 title 的文字 ( 也可以不設定 ), 在此範例是設定為讓它顯示, 所以使用 res/values/string/app_about 這個字串常數 下一步則是顯示

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

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

Microsoft Word - 第5章.doc

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

More information

書面

書面 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5.4 互動功能畫面 程式碼請參考附件-程式三 在進入互動頁面時 會執行setAllText()依寵物狀態數值來 設定狀態文字與頭像 並且依心情決定是否要不要播放音效 觸摸的區域 由於是自己寫的 view 所以並未透過xml來設置 而是透過Layut.addview()來動態新增

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466> packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

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

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

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

XXX说明书

XXX说明书 实验 1 Android SDK 开发环境的安装及配置 1.1 实验目的 掌握 Java SDK 和 Android SDK 开发环境的安装和配置 1.2 实验内容 Java SDK 的安装和环境变量的配置 Eclipse 的安装和配置 Android SDK 的安装和环境变量的配置 Eclipse 插件 ADT 的安装和配置 Android 模拟器的配置 1.3 实验步骤 1.Java SDK 的安装和环境变量的配置

More information

2000 中華民國自動控制研討會徵文啟事

2000 中華民國自動控制研討會徵文啟事 朝陽科技大學 資訊與通訊系 實務專題成果報告 以 QR Code 為基礎之健康照護告知排程系統 指導教授 : 陳忠信博士組員 : 陳衍名 9830017 邱奕坤 9830071 王俊琪 9830059 莊佳霖 9830093 中華民國 1 0 2 年 1 月 朝陽科技大學專題報告授權同意書 本同意書所授權之報告為本組在朝陽科技大學資訊與通訊系 101 學年度第 1 學期修習之 畢業專題 / 實務專題

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

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

Java講義

Java講義 Android 講義 王振民 2012.07.10 目錄 第一章音樂播放程式...3 第一節最陽春的音樂播放程式...3 第一項建立空白的新專案...3 第二項加入 MediaPlayer 物件...3 第二節改善這個程式...5 第一項瞭解 Activity 的生命週期...5 第二項離開程式時也能停止音樂的播放...8 第三項按下播放按鈕才開始播放...8 第二章 google 地圖...12

More information

在Spring中使用Kafka:Producer篇

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

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information