建立Android新專案

Similar documents
建立Android新專案

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

Android + WebService

Android Service

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

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

實作SQLiteOpenHelper類別

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

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

Dynamic Layout in Android

投影片 1

untitled

建模与图形思考

untitled

EJB-Programming-3.PDF

Microsoft Word - 01.DOC

untitled

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

Android Android Android SDK iv

untitled

Microsoft Word - ch04三校.doc

EJB-Programming-4-cn.doc

Microsoft Word - Learn Objective-C.doc

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

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

《大话设计模式》第一章

untitled

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

Android Fragment

Chapter 9: Objects and Classes

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

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

第一章.FIT)

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

ebook 86-15

untitled

chp6.ppt

Chapter 9: Objects and Classes

大连软~1

untitled

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

RecyclerView and CardVew

Microsoft PowerPoint - VB14.ppt

電機工程系認可證照清單 /7/1

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

1.5招募说明书(草案)

untitled

untitled


序 1995 年 我 走 进 了 朝 阳 区 将 台 乡 五 保 老 人 院, 如 今 17 年 后, 十 分 欣 喜 有 机 会 为 这 本 流 金 岁 月 小 集 作 序 在 多 年 陪 伴 孤 单 老 人 的 过 程 中, 我 深 深 地 体 会 到 每 位 老 人 的 生 命 里 其 实 都


一 天 吃 两 顿, 从 不 例 外 我 上 班 就 是 找 一 个 网 吧 上 网 上 网 的 内 容 很 杂, 看 新 闻, 逛 论 坛, 或 者 打 打 小 游 戏 如 果 没 钱 上 网, 我 会 独 自 一 个 人 到 一 个 偏 僻 的 地 方, 静 静 地 坐 着 发 呆 这 也 是

工 造 价 15 邗 江 南 路 建 设 工 一 标 市 政 公 用 6000 中 机 环 建 集 团 有 限 公 胡 美 娟 16 邗 江 南 路 建 设 工 二 标 市 政 公 用 品 尊 国 际 花 园 1# 2# 3# 4# 7# 9# 10# 11# 楼 地 库 C 区 工

第一篇 建置区划


untitled


31 121

ǎà

78 云 芝 79 五 加 皮 80 五 味 子 81 五 倍 子 82 化 橘 红 83 升 麻 84 天 山 雪 莲 85 天 仙 子 86 天 仙 藤 87 天 冬 88 天 花 粉 89 天 竺 黄 90 天 南 星 91 天 麻 92 天 然 冰 片 ( 右 旋 龙 脑 ) 93 天 葵

43081.indb

1. 2. Flex Adobe 3.

BPS6.0 Web服务集成和短流程功能使用手册

第3章.doc

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

Java

基于CDIO一体化理念的课程教学大纲设计

INTRODUCTION TO COM.DOC

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

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

Microsoft Word zw

AL-M200 Series

Microsoft Word - ASM SDK 說明文件

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

<4D F736F F D A617661B7C3CECA53514C BEDDBFE2B5C4C9E8BCC6D3EBCAB5CFD62E646F63>

新版 明解C++入門編

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

ebook71-13

epub83-1

untitled

JavaIO.PDF

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

建立Android新專案

ebook

untitled

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

untitled

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Microsoft PowerPoint - plan06.ppt

Chapter 9: Objects and Classes

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

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

建模与图形思考

考察國外公車捷運系統規劃及營運機制報告書

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

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

第一章 章标题-F2 上空24,下空24

Microsoft Word 级第二专业学士学位培养计划.doc

Transcription:

經濟部工業局 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 Project Properties Java Build Path Libraries Add External JARs 需要設定 DNS 才可以連結有 Domain Name 的 WebService dns 解決方法 adb shell #getprop 查看 DNS 設定 [net.dns1]: [192.168.2.1] net.dns1 就是目前的設定 setprop net.dns1 168.95.1.1 設定成可以用的 DNS

幾個重點 沒有參數的 WebService 有參數的 WebService DNS 問題

WebService 現有可以被呼叫的 WebService: 攝氏與華氏轉換 http://www.w3schools.com/webservices/te mpconvert.asmx 取得國家 http://www.webservicex.net/country.asmx

攝氏與華氏轉換

WebService Step1: 建立新專案 HelloWS Step2:main.xml 中建立一個輸入框 (EditText) 兩個 TextView 與一個按鈕 (Button) TextView EditText TextView Button

WebService Step3: 加入 ksoap2 這個外部 jar Step4: 宣告 webservice 參數 // 有參數值的 Web Service --- 攝氏與華氏轉換 (AVD 無法解析 domain name) private static final String NAMESPACE = "http://tempuri.org/" ; private static final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx"; private static final String METHOD_NAME = "CelsiusToFahrenheit"; private static final String SOAP_ACTION = "http://tempuri.org/celsiustofahrenheit"; private EditText et_pramater; // 輸入框 private Button btn_ok; // 按鈕 private TextView tv_msg; // 訊息框

宣告 webservice 參數

Step5: 建立物件 WebService

webservice 主體 相對位置

WebService Step6: 撰寫 webservice 主體 // webservice public String tempconvert(string aa){ String receivedstring1="nok"; // 預設回傳值 try { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addproperty("celsius", aa); // 傳入帳號 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setoutputsoapobject(request); envelope.dotnet = true; HttpTransportSE androidhttptransport = new HttpTransportSE(URL,TimeOut); androidhttptransport.call(soap_action, envelope); SoapPrimitive Result = (SoapPrimitive)envelope.getResponse(); receivedstring1=result.tostring(); }catch(exception e) { receivedstring1="nok"; return receivedstring1; } return receivedstring1; } //---------------------------tempconvert--------------------------

呼叫 tempconvert

呼叫 tempconvert @Override public void onclick(view v) { // TODO Auto-generated method stub String to_be_transfered; to_be_transfered=et_pramater.gettext().tostring(); String value_return; if(to_be_transfered==null "".equals(to_be_transfered)){ tv_msg.settext(" 您沒有輸入轉換值 "); et_pramater.setfocusable(true); }else{ value_return=tempconvert(to_be_transfered); if(value_return=="nok"){ tv_msg.settext(" 轉換失敗 "); }else{ tv_msg.settext(value_return); } } }

相對位置

執行結果

執行結果

錯誤原因 要開放網路存取權限 (Manifest.xml) <uses-permission android:name="android.permission.internet"></ uses-permission> 要設定模擬器的 DNS 允許使用 jar

設定模擬器 DNS

執行結果

執行結果驗證

And suggestion or improvement?

My Suggestion 試試另一個取得國家代號的 webservice 選用只能輸入數字的 EditText 加入等待訊息或進度畫面 將結果帶到下一個 Activity 做顯示 回傳結果不只一筆, 分割資料後, 再用 ListActivity 做顯示 將結果存入 SQLite

整合 ListView 無參數 回傳一組以, 為分隔符號的結果 private static final String NAMESPACE = "http://tempuri.org/" ; private static final String URL = "http://211.20.52.86/map_ap_1/city.asmx"; private static final String METHOD_NAME = "city"; private static final String SOAP_ACTION = "http://tempuri.org/city";

整合 ListView 呼叫 Web Service ListView

整合 Spinner WebService 呼叫不變 要加一個有 Spinner 的 layout Spinner

Spinner sp=(spinner)findviewbyid(r.id.spinner1); // 建立一個 ArrayAdapter 物件, 並放置下拉選單的內容 ArrayAdapter<String> adapter = new ArrayAdapter<String>( WS_Spinner.this,android.R.layout.simple_spinner_item, cities ); // 設定下拉選單的樣式 adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); sp.setadapter(adapter);

加入等待進度畫面

加入等待進度畫面

private void createcancelprogressdialog(string title, String message, String buttontext) { MyDialog = new ProgressDialog(this); MyDialog.setTitle(title); MyDialog.setMessage(message); MyDialog.setButton(buttonText, new DialogInterface.OnClickListener(){ public void onclick(dialoginterface dialog, int which){ // Use either finish() or return() to either close the activity or just the dialog MyDialog.dismiss(); return; } }); MyDialog.show(); }