用Intent啟動程式中的其他Activity、運用WebView顯示網頁 靜宜大學資管系 楊子青

Slides:



Advertisements
Similar presentations
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
Advertisements

开发入门 一个 android 初学者的心得与体会. 前言 两周前张老师通知我说,让我根据教练助手的学习与开发的过程讲下 android 开发的心得与体会,我觉得自己在这么多 Android 前辈大佬面前讲 android 简 直是班门弄斧。由于是刚入门的初学者,水平有限,很多方面还很不足,对 错误或不周到之处欢迎批评指正。顺便还得提下,我这个标题有抄袭积聚童.
Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具.
103年度學生健康檢查.
第13章 繪圖與多媒體 13-1 顯示圖檔-行動相簿 13-2 音樂播放-音樂播放器 13-3 影片播放-視訊播放器
专题三 生物圈中的绿色植物.
2011年管理培训生 招聘.
實驗五:多媒體播放器選單介面.
Part 2 開發Android應用程式的流程
请带上耳机.
位置與地圖應用 此投影片為講解Android如何取得定位經緯度和使用Google Map地圖.
類別與物件 Class & Object.
Activity之间的数据传递.
Android + Web Service 建國科技大學 資管系 饒瑞佶 2017/3 V1.
ArrayAdapter & Spinner
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
使用Android Studio 開發Android App 靜宜大學資管系 楊子青
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
實驗四:單位轉換程式.
第2章 建立Android應用程式 2-1 Java語言、XML文件與Android 2-2 建立第一個Android應用程式
Chapter 13 Android 實戰演練.
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
實驗十三:顯示目前經緯度位置.
Ch06 再談選單元件 物件導向系統實務.
使用Android控制Arduino 史先强
7.3 Intent传值.
Android开发入门 -----Activity的一生 主讲:何广军
第10章 App微信分享的实现 倚动实验室.
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
第8章 Android内容提供者(ContentProvider)应用
Chapter 6 Advanced UI Design.
Android智慧型手機程式設計實務應用班
Ch5 Android應用程式的主要組成.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android介面設計 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Chapter 6 進階UI設計.
第4章 Android生命周期.
ContentProvider與資料共享
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
CH7 佈局、按鈕與文字編輯元件.
Android + Service 建國科技大學 資管系 饒瑞佶.
實驗十四:顯示與控制地圖.
第2讲 移动应用开发基础知识(二) 宋婕
建立Android新專案 Android智慧型手機程式設計 程式設計與應用班 建國科技大學 資管系 饒瑞佶 2012/4 V1
第6章 建立Android使用介面 6-1 介面元件的基礎 6-2 Android的事件處理 6-3 按鈕元件 6-4 文字元件
个人介绍 我是小小.
生活智慧王 樹德科技大學 資訊工程系 指導教授 : 陳毓璋 教授 小組成員: 劉上緯 翁維廷 洪文財.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
實驗十一:待辦事項程式 (儲存在手機上).
主编:钟元生 赵圣鲁.
Android Studio介面設計 建國科技大學資管系 饒瑞佶 2016/3 V1.
網路應用.
主编:钟元生 赵圣鲁.
實驗九:延續實驗八, 製作一個完整音樂播放器
Location Based Services - LBS
進階UI元件:Spinner與接合器 靜宜大學資管系 楊子青
補間動畫 (Tween Animation) 靜宜大學資管系 楊子青
歹徒透過通訊軟體詐騙手法1-冒用身份 若被害人通訊軟體「允許被加入好友」為開啟狀態 駭侵Google帳戶取得通訊錄
Android Speech To Text(STT)
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
第9章 BroadcastReceiver的使用
Android进程间通讯.
第6章 Android客户端模块实现 QQ群(App开发案例教程--清华) :
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
加速感測器 靜宜大學資管系 楊子青.
Part 8 Broadcast Receiver、Service和App Widget
進階UI元件:Spinner與接合器 靜宜大學資管系 楊子青
歹徒透過通訊軟體詐騙手法1-冒用身份 若被害人通訊軟體「允許被加入好友」為開啟狀態 駭侵Google帳戶取得通訊錄
Presentation transcript:

用Intent啟動程式中的其他Activity、運用WebView顯示網頁 靜宜大學資管系 楊子青

專案名稱:Activities 維持ConstraintLayout,根據右圖設計相關介面: TextView EditText textSize: 30sp EditText id: @+id/edt text: 「http://www.pu.edu.tw」 Button text: 「開啟網頁」 onClick: OpenSecond

1. AndroidManifest.xml專案設定檔 將顯示螢幕強制設定為橫向 <activity android:name=".MainActivity" android:screenOrientation="landscape" > 若設為portrait 則強制直向

Activity_main.xml螢幕編輯設成橫向

2.在程式中新增 Activity 滑鼠停在左邊app,按滑鼠右鍵 畫面元件修改 將編輯畫面設為橫向 File→New →Activity→FullScreen Activity(全螢幕) Activity Name: 命名為SecondActivity 畫面元件修改 fullscreen_content (TextView) id: @+id/fullscreen_content text: 第二個畫面 textSize: 30sp dummy_button的onClick設為:FinishSecond text: 回到主畫面 將編輯畫面設為橫向

AndroidManifest.xml將SecondActivity設為橫向

3. Intent Android 裡傳遞訊息的元件 可分為兩類 Explicit(明示) intents: 有明確元件目標(名稱)的 Intent 通常用於啓動其他應用程式的元件 本ppt屬於此種方式 Implicit(暗示) intents: 沒有明確元件目標的 Intent 下一份ppt

用Intent 啟動程式中的Activity startActivity():用明示 Intent 啟動 Activity

finish():結束 Activity

程式碼 MainActivity.Java SecondActivity.Java public void OpenSecond(View v){ Intent it = new Intent(this, SecondActivity.class); startActivity(it); } SecondActivity.Java public void FinishSecond(View v){ finish(); }

執行結果 點選螢幕

4.在Intent中夾帶資料傳給新Activity

putExtra():附加資料到 Intent 中

getIntent() 與 getXxxExtra(): 從 Intent 中取出資料

程式碼:傳遞Name字串 MainActivity.Java public void OpenSecond(View v){ Intent it = new Intent(this, SecondActivity.class); EditText edt = (EditText) findViewById(R.id.edt); it.putExtra("website", edt.getText().toString()); startActivity(it); }

程式碼:接收Name字串 SecondActivity.Java protected void onCreate(Bundle savedInstanceState) { …… Intent it = getIntent(); String website = it.getStringExtra("website"); TextView t = (TextView) findViewById(R.id.fullscreen_content); t.setText(website); }

執行結果

5. WebView 於第二個活動的畫面(activity_second.xml),在文字下方,加入一個WebView FrameLayout是一種堆疊的版面配置,後續的 元件會蓋在上面 Id: @+id/webv

讓WebView顯示網頁內容 SecondActivity.java onCreate方法最後,加入: WebView webv = (WebView) findViewById(R.id.webv); webv.loadUrl(website); AndroidManifest.xml加入網路存取權限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

執行結果

5.1 設定WebView支援JavaScript語法 SecondActivity.java onCreate方法: WebView webv = (WebView) findViewById(R.id.webv); //允許網頁使用JavaScript webv.getSettings().setJavaScriptEnabled(true); webv.loadUrl(website);

輸入其他網址,會詢問要用哪個 瀏覽器開啟

5.2 強制使用webView瀏覽網頁 SecondActivity.java的onCreate方法 … //預設的網頁會彈出選擇瀏覽器 webv.setWebViewClient(new WebViewClient()); webv.loadUrl(website);

5.3 根據螢幕寬度調整網頁,並可縮放 SecondActivity.java的onCreate方法 … //如果沒有強制設定寬度,則使用範圍的最大視野(螢幕寬度) webv.getSettings().setUseWideViewPort(true); //當內容大於viewport時,系統將會自動縮小內容以適應螢幕寬度. webv.getSettings().setLoadWithOverviewMode(true); //顯示放大縮小 控制項 webv.getSettings().setBuiltInZoomControls(true); webv.getSettings().setSupportZoom(true); //可以縮放 webv.loadUrl(website);

點選網頁超鏈結,但是按返回鍵,都直接跳到上一個Activity 點選超鏈結

5.4 網頁返回鍵處理 SecondActivity.java的SecondActivity類別,新增onBackPressed方法: @Override public void onBackPressed() { WebView webv = (WebView) findViewById(R.id.webv); if( webv.canGoBack()){ webv.goBack(); }else{ this.finish(); //結束 }