Android基礎教程(第4版)

Android基礎教程(第4版) pdf epub mobi txt 電子書 下載 2025

[美] 伯內特(Ed Burnette) 著,袁國忠 譯
圖書標籤:
  • Android
  • Android開發
  • 移動開發
  • 編程
  • 教程
  • 入門
  • 第4版
  • 技術
  • 計算機
  • 開發
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115408600
版次:1
商品編碼:11826542
包裝:平裝
叢書名: 圖靈程序設計叢書
開本:16開
齣版時間:2016-01-01
用紙:膠版紙
頁數:175
正文語種:中文

具體描述

編輯推薦

  涵蓋從Android 4.1到Android 5.0的所有現代Android版本,全新內容包含Android的新特性,如片段和Google Play服務。本書還為Android 4.1~4.3(Jelly Bean)、4.4(KitKat)和Android 5.0(Lollipop)進行瞭修訂。主題依據讀者的反饋進行瞭精簡,而且每一頁和每個示例都進行瞭復核與更新,確保與Android的新版本兼容。

內容簡介

  本書是一部關於Android開發的基礎教程,以由淺入深、循序漸進的方式講解瞭Android程序設計的核心概念和技術。本書不僅結閤井字遊戲開發案例形象生動地講解瞭Android生命周期、用戶界麵、簡單的數據存儲等基礎知識,而且還深入探討瞭外部通信、基於位置的服務、內置SQLite數據庫等高級主題。每章都提供瞭“快速閱讀指南”,通過它可以迅速找到所需信息,並高效地完成工作。

作者簡介

  Ed Burnette,
  軟件技術專傢,擁有30多年的軟件開發經驗。他是SAS高級計算機實驗室的聯閤創始人和高級研究員,還是Planet Android(www.planetandroid.com)網站的創辦人和ZDNet的專欄作傢。除本書外,他還齣版瞭Google Web Toolkit: Taking the Pain out of Ajax和Eclipse IDE Pocket Guide等著作。

  袁國忠,
  自由譯者;2000年起專事翻譯,主譯圖書,偶譯新聞稿、軟文;齣版譯著40餘部,其中包括《C++ Prime Plus中文版》《CCNA學習指南》《CCNP ROUTE學習指南》《麵嚮模式的軟件架構:模式係統》《Android應用UI設計模式》《風投的選擇:誰是下一個十億美元級公司》等,總計700餘萬字;專事翻譯前,從事過三年化工産品分析和開發,做過兩年雜誌和圖書編輯。

精彩書評

  ★“Ed再次嚮初中級Android開發人員推齣瞭一部精巧的學習指南。這部指南實用而引人入勝,適閤剛步入Android應用開發領域的人員閱讀,也可供有一定經驗,欲更深入地瞭解基本遊戲開發、動畫、音效、綫程、數據庫和Google Play服務等概念的人員參考。”

  ——Diego Torres Milano,技術發燒友、Android係統工程師、Linux擁躉、作者

  ★“在引領讀者初識Android應用開發方麵,其他圖書難以與之比肩!”
  ——Mark Murphy,CommonsWare創始人,The Busy Coder's Guide to Android Development的作者


  ★“以令人愉悅的寫作風格,通過引人入勝的示例,簡明扼要地闡述瞭大量基礎知識,適閤所有想快速掌握Android開發的人員閱讀。”

  ——Jason Pike,theswiftlearner.com軟件開發人員

  ★“介紹Play Store的一章錶明,將應用提交到這個應用商店易如反掌,真是令人醍醐灌頂。”

  ——Stephen Wolff,Max Gate Digital有限公司董事

目錄

第一部分 Android簡介
第1章 快速入門 2
1.1 安裝工具 2
1.1.1 Java開發包 7.0+ 2
1.1.2 Android Studio 3
1.2 創建第一個程序 5
1.3 在Android模擬器中運行 8
1.4 在實際設備上運行 9
1.5 其他步驟 10
1.5.1 檢查更新 10
1.5.2 添加SDK包 10
1.6 快速閱讀指南 12
第2章 重要概念 13
2.1 總覽 13
2.1.1 Linux內核 14
2.1.2 原生庫 14
2.1.3 Android運行時 15
2.1.4 應用框架 15
2.1.5 應用和服務 16
2.2 構件 16
2.2.1 活動 16
2.2.2 片段 16
2.2.3 視圖 17
2.2.4 意圖 17
2.2.5 服務 17
2.2.6 內容提供器 18
2.2.7 使用資源 18
2.3 前颱隻能有一個應用 18
2.3.1 進程不等於應用 19
2.3.2 活動的生命周期 19
2.3.3 使用片段簡化工作 21
2.4 安全保障 22
2.5 快速閱讀指南 22
第二部分 開發一個遊戲
第3章 開局走法 24
3.1 創建井字遊戲示例 24
3.2 使用XML進行設計 25
3.2.1 創建主屏幕 25
3.2.2 創建主片段 28
3.3 編寫代碼 31
3.3.1 定義主活動 31
3.3.2 定義主活動使用的片段 32
3.4 添加About框 33
3.5 定義資源 34
3.5.1 字符串 34
3.5.2 尺寸 35
3.5.3 drawable 35
3.5.4 顔色 36
3.5.5 樣式和主題 37
3.5.6 dp和sp 37
3.5.7 運行遊戲 38
3.6 調試 38
3.6.1 使用日誌消息進行調試 39
3.6.2 使用調試器進行調試 40
3.6.3 測試 40
3.7 快速閱讀指南 41
第4章 定義遊戲界麵 42
4.1 棋盤 42
4.1.1 從小處著手 42 *
4.1.2 小棋盤 44
4.1.3 背景信息 45
4.1.4 大棋盤 47
4.1.5 組閤在一起 48
4.2 開始遊戲 49
4.2.1 使用快捷鍵Alt+Enter 49
4.2.2 編寫GameActivity類 50
4.2.3 編寫GameFragment類 53
4.2.4 定義Tile類 59
4.3 控製遊戲 63
4.4 支持橫嚮模式 65
4.5 快速閱讀指南 67
第5章 機器幽靈 68
5.1 AI簡介 68
5.1.1 AI的工作原理 68
5.1.2 形勢判斷 69
5.2 模擬思考過程 70
5.2.1 使用Handler和postDelayed 70
5.2.2 在思考期間阻斷輸入 71
5.3 下棋 73
5.3.1 選擇正確的走法 73
5.3.2 顔色和尺寸 74
5.4 快速閱讀指南 75
第6章 添加聲音 76
6.1 音樂之聲 76
6.2 更換音樂 78
6.3 播放下棋聲 79
6.4 快速閱讀指南 81
第7章 添加動畫 82
7.1 不斷滾動的畫捲 82
7.1.1 添加視圖 83
7.1.2 定義自定義屬性 83
7.1.3 背景信息 83
7.1.4 創建滾動視圖 84
7.2 跳躍的棋盤格 86
7.2.1 動畫原則 86
7.2.2 走起 87
7.2.3 觀看跳躍的棋盤格 88
7.2.4 現狀 88
7.3 快速閱讀指南 89
第三部分 創造性思維
第8章 編寫一次,到處測試 92
8.1 啓動模擬器 93
8.1.1 模擬器反鬥城 93
8.1.2 測試策略 95
8.2 測試程序 96
8.3 大小屏幕通吃 98
8.3.1 指定替代資源 99
8.3.2 調整遊戲界麵的大小 100
8.3.3 預覽 101
8.3.4 使用樣式 101
8.4 快速閱讀指南 102
第9章 發布到Google Play Store 103
9.1 準備工作 103
9.2 簽名 104
9.3 測試 106
9.4 發布 107
9.5 更新 108
9.6 小貼士 109
9.7 快速閱讀指南 109
第四部分 進階
第10章 聯網 112
10.1 使用意圖瀏覽網頁 112
10.2 使用WebView來瀏覽網頁 117
10.3 在JavaScript和Java之間交互 120
10.4 快速閱讀指南 127
第11章 調用Web服務 128
11.1 使用Web服務 128
11.2 Suggest示例 129
11.3 穿針引綫 134
11.4 細枝末節 135
11.5 建議獲取任務 137
11.6 快速閱讀指南 139 *
第12章 使用Google Play服務 140
12.1 工作原理 140
12.2 使用位置服務 141
12.2.1 起步 142
12.2.2 創建用戶界麵 143
12.2.3 連接到位置提供器 146
12.2.4 獲取更新 148
12.2.5 處理錯誤 148
12.2.6 請求權限 150
12.2.7 運行 151
12.3 快速閱讀指南 151
第13章 使用SQL 152
13.1 SQLite簡介 152
13.2 SQL基礎知識 153
13.2.1 DDL語句 153
13.2.2 修改語句 154
13.2.3 查詢語句 154
13.3 一個簡單的數據庫程序 154
13.3.1 使用SQLiteOpenHelper 155
13.3.2 定義主程序 156
13.3.3 添加記錄 158
13.3.4 運行查詢 159
13.3.5 顯示查詢結果 160
13.4 數據綁定 161
13.5 使用內容提供器 164
13.5.1 修改主程序 165
13.5.2 添加記錄 166
13.5.3 運行查詢 166
13.6 實現內容提供器 166
13.7 使用加載器 168
13.8 快速閱讀指南 170
第五部分 附錄
附錄 Java和Android在語言和API方麵的異同 172
參考文獻 176

精彩書摘

  《Android基礎教程(第4版)》:
  還記得蘋果的電視廣告嗎?一個剪影跟隨著iPod播放的音樂節奏狂舞。你一定希望自己的作品也像這樣激動人心。當然,超過18歲的常人無法這樣跳舞,除非有人將一條蜥蜴放進他的衣服裏——不好意思,我有點離題瞭。相比於僅使用文本和圖形,添加音樂和音效後,程序更能讓人沉醉其中,不能自拔。
  本章介紹如何在Android應用中添加多媒體。這也許不能讓用戶樂不可支,但隻要處理妥與,至少能夠讓他們麵露笑容。
  6.1音樂之聲
  那是一個狂風大作的漆黑夜晚……發令槍響起,他們起跑瞭……離比賽結束還有一秒鍾,斯泰特投進瞭一個三分球,人群沸騰瞭……
  音樂會彌漫在整個環境中,影響人的情緒。聲音是嚮用戶傳遞信息的另一種方式。你可以在屏幕上顯示圖形來嚮用戶傳遞信息,並將音頻作為強化信息傳遞的輔助手段。
  Android支持音樂播放,這是通過android.media包中的MediaPlayer類實現的。下麵來給井字遊戲的開始場景添加背景樂。
  為此,首先得有音樂。你可以使用自己喜歡的任何音樂。freesound.org是一個極佳的音頻搜索網站,你可以搜索特定的音頻類型和流派,試聽、下載喜歡的音頻,並在自己的應用中使用它們。如果你要發布應用,務必遵循音頻版權許可,將其用於商業目時尤其要注意。
  ……

前言/序言


踏上移動開發之旅:解鎖Android世界的無限可能 在數字化浪潮席捲全球的今天,智能手機已成為我們生活中不可或缺的延伸。而驅動著這些強大設備運行的,正是那個充滿活力、不斷進化的操作係統——Android。對於渴望在這個蓬勃發展的領域揮灑創意、實現技術夢想的你,一本能夠係統、深入地引導你入門的優質教程顯得尤為重要。本書,正是為你精心打造的開啓Android開發之旅的鑰匙,它將帶領你從零開始,一步步掌握Android開發的核心技能,讓你能夠自信地構建齣令人驚嘆的移動應用程序。 本書旨在為初學者提供一個堅實的基礎,讓你能夠快速理解Android開發的基本概念、核心組件以及常用的工具鏈。我們深知,麵對一個龐大而復雜的生態係統,茫然和睏惑是初學者常有的狀態。因此,本書的編寫思路始終圍繞著“清晰、易懂、循序漸進”展開,力求用最直觀的方式解釋最核心的原理,讓你在學習過程中能夠産生“豁然開朗”的成就感。 從零開始,構築穩固基石: 我們將從最基礎的環境搭建入手,詳細介紹Android開發所需的各項工具,包括Android Studio的安裝與配置,SDK的版本選擇,以及模擬器和真機調試的設置。你會瞭解到如何為你的開發環境打下堅實的基礎,避免在後續學習中因環境問題而受阻。我們會一步步引導你完成第一個“Hello, World!”應用,讓你親身體驗從代碼到可運行程序的整個流程,建立起初步的信心。 核心概念,深度解析: Android應用的構建離不開其獨特的核心組件。本書將深入剖析這些關鍵要素: Activity: 作為應用程序的用戶界麵和用戶交互的核心,Activity的生命周期管理、跳轉與傳值是必不可少的知識點。我們將詳細講解Activity的創建、啓動、銷毀過程,以及如何在不同的Activity之間有效地傳遞數據,讓你能夠設計齣流暢、響應迅速的用戶界麵。 Intent: Intent是Android係統中組件之間通信的紐帶。我們將闡述Intent的顯式Intent和隱式Intent的區彆與應用場景,讓你能夠理解如何使用Intent來啓動其他Activity、服務,甚至發送廣播,實現組件之間的解耦與協作。 Service: 對於需要在後颱執行耗時操作或提供後颱服務的場景,Service扮演著至關重要的角色。本書將詳細講解Service的創建、啓動、綁定以及生命周期管理,讓你能夠開發齣能夠獨立運行於後颱的應用功能,例如音樂播放、文件下載等。 Broadcast Receiver: 當係統發生特定事件(如來電、短信、網絡狀態改變等)時,Broadcast Receiver能夠接收並響應這些廣播。我們將演示如何注冊和定義Broadcast Receiver,讓你的應用能夠及時感知和處理係統事件,實現更智能化的交互。 Content Provider: Content Provider是Android應用程序之間共享數據的標準方式。本書將深入講解Content Provider的原理,包括URI、ContentResolver、Cursor等概念,讓你能夠學習如何創建自己的Content Provider來管理和分享數據,或者訪問其他應用提供的數據,為實現數據互聯互通奠定基礎。 用戶界麵,精雕細琢: 現代移動應用的魅力很大程度上體現在其友好的用戶界麵和流暢的用戶體驗上。本書將帶領你掌握Android UI設計的各項技能: XML布局: 學習使用XML來聲明式地構建用戶界麵是Android開發的基礎。我們將詳細講解各種布局容器(如LinearLayout, RelativeLayout, ConstraintLayout)的使用方法,以及各種UI控件(如TextView, Button, EditText, ImageView, CheckBox, RadioButton)的屬性與事件處理,讓你能夠靈活地組閤齣豐富多樣的界麵元素。 響應式設計: 麵對不同屏幕尺寸和分辨率的設備,設計齣能夠自適應的UI至關重要。本書將介紹如何利用尺寸限定符、提供多種資源文件等方式,實現UI在不同屏幕上的適配,確保用戶在任何設備上都能獲得最佳的視覺體驗。 列錶與網格: 對於展示大量數據的場景,ListView和GridView是常用的UI組件。我們將深入講解如何使用Adapter來填充數據,以及如何進行優化,讓你能夠高效地展示和管理列錶或網格形式的數據。 Material Design: 掌握Google推齣的Material Design設計規範,能夠讓你的應用在視覺風格上更加現代化、一緻且富有吸引力。本書將引導你理解Material Design的核心原則,並介紹如何將其應用於你的UI設計中,提升應用的整體美感和用戶滿意度。 數據存儲,靈活運用: 應用程序的數據存儲是其功能實現的重要支撐。本書將為你呈現多種數據存儲方案: SharedPreferences: 對於存儲簡單的鍵值對配置信息,SharedPreferences是最高效、最便捷的選擇。我們將演示如何使用SharedPreferences來保存用戶的偏好設置、登錄狀態等少量數據。 文件存儲: 當需要存儲較大文件或結構化數據時,文件存儲是另一種選擇。我們將介紹內部存儲和外部存儲的區彆,以及如何進行文件的讀寫操作,讓你能夠處理更復雜的數據存儲需求。 SQLite數據庫: 對於結構化、關係型的數據,SQLite數據庫是Android平颱原生支持的強大解決方案。本書將深入講解SQLite數據庫的創建、錶的定義、SQL語句的執行(增、刪、改、查),以及Android提供的SQLiteOpenHelper類,讓你能夠構建齣能夠高效管理大量數據的應用程序。 Room Persistence Library: 為瞭簡化SQLite數據庫的開發,Google推齣瞭Room Persistence Library。本書將重點講解Room的使用,它能夠為你提供一個抽象層,使得數據庫操作更加安全、便捷,並能夠進行編譯時檢查,極大地提升開發效率和代碼質量。 網絡通信,連接世界: 在如今的網絡化時代,大多數應用程序都需要與服務器進行數據交互。本書將為你揭示Android的網絡通信奧秘: HTTP協議: 深入理解HTTP協議是進行網絡通信的基礎。我們將講解HTTP請求的原理、常用方法(GET, POST等)以及響應狀態碼,讓你能夠理解客戶端與服務器之間是如何進行通信的。 網絡請求庫: 手寫HTTP請求代碼往往繁瑣且容易齣錯。本書將重點介紹業界主流的網絡請求庫,如Retrofit和Volley。你將學習如何利用這些庫來簡化網絡請求的編寫,包括請求的發送、響應的解析,以及異常處理。 JSON解析: 服務器端的數據通常以JSON格式進行傳輸。我們將詳細講解如何使用Gson或Jackson等JSON解析庫,將JSON字符串高效地轉換為Java對象,以及將Java對象轉換為JSON字符串,為數據的交換提供便利。 異步處理: 網絡請求通常是耗時操作,為瞭避免阻塞UI綫程導緻應用卡頓,異步處理是必不可少的。我們將介紹AsyncTask(雖然已不推薦,但瞭解其原理仍有價值)以及更現代的Coroutines(Kotlin)或RxJava等異步編程模型,讓你能夠編寫齣更加流暢、響應迅速的網絡應用。 深入探索,進階之路: 在掌握瞭基礎知識後,本書還將引導你探索更高級的主題,為你的進階之路鋪平道路: Fragment: Fragment作為Activity的可復用UI模塊,能夠極大地提升UI設計的靈活性和模塊化程度。我們將講解Fragment的生命周期、與Activity的交互,以及如何在Activity中管理多個Fragment,構建更復雜的UI布局。 多綫程與協程: 深入理解多綫程編程是提升應用性能的關鍵。我們將講解Java多綫程的基礎知識,以及Kotlin Coroutines在Android開發中的強大應用,讓你能夠編寫齣更高效、更易於管理的並發代碼。 權限管理: 隨著Android係統對用戶隱私保護的日益重視,理解和正確處理應用權限變得尤為重要。本書將詳細講解Android的運行時權限機製,以及如何嚮用戶申請和處理權限的授予與拒絕。 後颱任務與JobScheduler: 對於需要在後颱執行的周期性任務或延遲任務,JobScheduler提供瞭一個靈活高效的解決方案。我們將介紹JobScheduler的原理和使用方法,讓你能夠設計齣更智能、更省電的後颱任務。 單元測試與集成測試: 編寫可維護、可擴展的代碼離不開完善的測試。我們將介紹Android應用程序的單元測試和集成測試方法,幫助你構建健壯、可靠的應用。 本書特色: 實戰導嚮: 本書理論知識與實踐相結閤,通過大量的代碼示例和實際項目案例,幫助你鞏固所學知識,並能夠直接應用於實際開發。 循序漸進: 從最基礎的概念講起,逐步深入到更復雜的主題,確保初學者能夠輕鬆理解,逐步建立信心。 全麵覆蓋: 涵蓋瞭Android開發的核心組件、UI設計、數據存儲、網絡通信以及進階主題,為你提供一個全麵的學習路徑。 語言風格: 采用清晰、簡潔、易懂的語言,避免過於生澀的技術術語,力求讓每一位讀者都能輕鬆閱讀。 持續更新(提及更新理念,而非具體版本): Android生態係統日新月異,本書在編寫時會緊跟技術發展趨勢,力求提供最新、最實用的開發實踐。 無論你是懷揣著成為一名獨立開發者、加入知名科技公司,還是隻是想為自己的想法構建一個屬於自己的移動應用,本書都將是你不可或缺的夥伴。它不僅是知識的傳授,更是思維的啓迪,能力的培養。 現在,就請跟隨本書的腳步,一同踏入精彩紛呈的Android開發世界,釋放你的創造力,用代碼描繪齣屬於你的數字藍圖!

用戶評價

評分

這本書簡直打開瞭我對Android開發的新世界!我之前一直覺得Android開發門檻很高,各種框架、API讓人眼花繚亂,感覺無從下手。但這本書的編排卻非常有條理,從最基礎的“Hello, World!”開始,循序漸進地講解瞭Activity、Intent、Service等核心概念。我尤其喜歡它對於UI布局的講解,不僅僅是羅列XML標簽,而是深入淺齣地解釋瞭各種布局的優劣勢,以及如何使用ConstraintLayout實現復雜而靈活的界麵。書中的代碼示例都非常貼切,可以直接復製粘貼到Android Studio中運行,並且作者還貼心地提供瞭每段代碼的詳細解釋,讓我能真正理解“為什麼”這麼寫,而不是死記硬背。

評分

作為一名對Android開發充滿好奇心的初學者,我嘗試瞭不少資料,但很多都停留在概念層麵,實踐起來總感覺差瞭點什麼。這本書的齣現,徹底改變瞭我的學習體驗。它不僅僅是枯燥的理論堆砌,而是充滿瞭實際的應用場景和解決方案。比如,在講解Fragment時,書中通過一個實際的例子,展示瞭如何使用Fragment實現左右分欄布局,這在很多平闆應用中都非常常見。我還學到瞭如何在Activity之間傳遞數據,以及如何使用SharedPreferences進行簡單的配置保存。這些看似小的知識點,卻是構建完整Android應用的基礎,而這本書將它們係統地梳理瞭齣來。

評分

我一直以為Android開發就是寫代碼,但讀瞭《Android基礎教程(第4版)》後,纔發現原來還有那麼多與用戶體驗息息相關的細節。書中對於事件處理和用戶交互的設計,給瞭我很大的啓發。比如,如何響應用戶的點擊、滑動,如何創建自定義的對話框,以及如何使用Toast和Snackbar來提供及時的反饋。尤其是關於動畫和過渡效果的講解,讓我的應用界麵瞬間“活”瞭起來,不再是冰冷的靜態畫麵。作者的講解方式很細膩,會考慮到開發者在實際開發中可能遇到的各種問題,並給齣相應的建議和解決方案。

評分

坦白說,我之前對Android的後颱服務和多綫程概念一直頭疼不已。總覺得一涉及到後颱運行,程序就容易齣錯,要麼是ANR(Application Not Responding),要麼是內存泄漏。這本書對這部分內容的講解,可以說是非常透徹瞭。它不僅介紹瞭Service的生命周期和使用場景,還詳細講解瞭如何正確地使用AsyncTask和Handler來處理耗時操作,避免阻塞UI綫程。更讓我印象深刻的是,書中還提到瞭WorkManager,這是Google推薦的現代化的後颱任務處理方案,非常強大且易於使用。通過這些講解,我對Android的並發編程有瞭更深刻的理解,也更有信心去處理更復雜的應用場景瞭。

評分

不得不說,這本《Android基礎教程(第4版)》真的拯救瞭我的項目!之前在做一些數據存儲和網絡請求的時候,總是遇到各種坑,要麼是數據同步問題,要麼是網絡請求卡頓,嚴重影響瞭用戶體驗。這本書裏關於SQLite數據庫和ContentProvider的講解,簡直是及時雨。作者通過清晰的圖示和代碼示例,把復雜的數據庫操作變得易於理解,並且還詳細介紹瞭如何處理並發訪問,避免數據混亂。更讓我驚喜的是,它還涵蓋瞭如何使用Retrofit等現代網絡庫進行高效的網絡通信,包括JSON解析、API調用等,讓我在處理網絡數據時更加得心應手。

評分

為瞭瞭解下Android studio的用法而買的,不推薦新手入門,假如是新手就第二個實驗做個遊戲暫停界麵都很難懂,要不是之前學過一點點的話根本就不知道漏瞭些什麼錯瞭些什麼,網上下載的代碼不能直接用的。這本書個人覺得隻適閤用於有人帶著教的教材,不適閤自學用。

評分

挺基礎的

評分

一般般

評分

很不錯的書,這個係列比國內教材好多瞭

評分

還可以,講的很全麵,很詳細。

評分

很好

評分

一般般

評分

基礎入門一本書

評分

已收貨。

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有