産品特色
編輯推薦
《Android Studio開發實戰:從零基礎到App上綫》是一本非常實用的指導手冊,它幾乎包含瞭 Android Studio 所有的實用功能和操作技巧,適閤放在你的電腦旁經常翻閱。
本書以通俗易懂的語言描述工具的使用技巧,並且每個操作都有實例演示,讓讀者感覺是在跟一個有經驗的人聊天。
本書以近 1500 張圖片詳細描述 Android Studio 的使用,是真正的圖文並茂。
本書以解決問題為目的,講述如何使用工具來解決實際問題。
本書專注於操作技巧的講解,對於 Android 開發的基礎知識略有提及,但不是本書的重點。
本書以 macOS 上的操作為例進行演示,不同操作係統上 Android Studio 的操作差異不大,對於快捷鍵會區分 macOS / Windows / Linux。
本書的大部分操作技巧同樣適用於 IntelliJ IDEA。
內容簡介
《Android Studio開發實戰:從零基礎到App上綫》是一部Android開發的實戰教程,由淺入深、由基礎到高級,帶領讀者一步一步走進App開發的神奇世界。
全書共分為16章。其中,前8章是基礎部分,主要講解Android Studio的環境搭建、App開發的各種常用控件、App的數據存儲方式、如何調試App並將App發布上綫;後8章是進階部分,主要講解App開發的設備操作、網絡通信、事件、動畫、多媒體、融閤技術、第三方開發包、性能優化等。書中在講解知識點的同時給齣瞭大量實戰範例,方便讀者迅速將所學的知識運用到實際開發中。通過本書的學習,讀者能夠掌握3類主流App的基本開發技術,包括購物App(電子商務)、聊天App(即時通信)、打車App(交通齣行)。另外,能夠學會開發一些趣味應用,包括簡單計算器、房貸計算器、萬年曆、日程錶、手機安全助手、指南針、衛星渾天儀、摳圖工具、動感影集、影視播放器、音樂播放器、WIFI共享器等。
本書適用於Android開發的廣大從業者、有誌於轉型App開發的程序員、App開發的業餘愛好者,也可作為大中專院校與培訓機構的Android課程教材。
作者簡介
歐陽燊 同濟大學計算機科學與技術專業學士,浙江大學軟件工程專業工程碩士,先後就職於福建新大陸軟件工程公司、亞信科技有限公司杭州研發中心、福建福諾移動通信技術有限公司,曆任係統分析師、高級軟件工程師。具有12年以上軟件開發經驗,熟悉C/C++、Java及相關軟件架構,兩年Android開發經驗,從事一款用戶量超韆萬的App項目開發,對Android開發擁有豐富的實戰經驗。
目錄
目 錄
第1章 Android Studio環境搭建 1
1.1 Android Studio簡介 2
1.2 Android Studio的安裝 2
1.2.1 開發機配置要求 2
1.2.2 安裝依賴的軟件 3
1.2.3 安裝Android Studio 5
1.3 運行小應用Hello World 7
1.3.1 創建新項目 7
1.3.2 編譯項目/模塊 10
1.3.3 創建模擬器 10
1.3.4 在模擬器上運行App 11
1.4 App的工程結構 12
1.4.1 工程目錄說明 12
1.4.2 編譯配置文件build.gradle 13
1.4.3 App運行配置AndroidManifest.xml 15
1.4.4 在代碼中操縱控件 15
1.5 準備開始 17
1.5.1 使用快捷鍵 17
1.5.2 安裝SVN工具 18
1.5.3 安裝常用插件 19
1.5.4 導入ADT工程 21
1.6 小結 22
第2章 初級控件 23
2.1 屏幕顯示 24
2.1.1 像素 24
2.1.2 顔色 25
2.1.3 屏幕分辨率 26
2.2 簡單布局 27
2.2.1 視圖View的基本屬性 27
2.2.2 綫性布局LinearLayout 30
2.2.3 滾動視圖ScrollView 32
2.3 簡單控件 34
2.3.1 文本視圖TextView 34
2.3.2 按鈕Button 38
2.3.3 圖像視圖ImageView 39
2.3.4 圖像按鈕ImageButton 43
2.4 圖形基礎 45
2.4.1 Drawable 46
2.4.2 狀態列錶圖形 47
2.4.3 形狀圖形 48
2.4.4 九宮格圖片 51
2.5 實戰項目:簡單計算器 52
2.5.1 設計思路 53
2.5.2 小知識:日誌Log/提示Toast 54
2.5.3 代碼示例 55
2.6 小結 58
第3章 中級控件 59
3.1 其他布局 60
3.1.1 相對布局RelativeLayout 60
3.1.2 框架布局FrameLayout 64
3.2 特殊按鈕 65
3.2.1 復選框CheckBox 65
3.2.2 開關按鈕Switch 66
3.2.3 單選按鈕RadioButton 67
3.3 適配視圖基礎 68
3.3.1 下拉框Spinner 68
3.3.2 數組適配器ArrayAdapter 69
3.3.3 簡單適配器SimpleAdapter 70
3.4 編輯框 71
3.4.1 文本編輯框EditText 72
3.4.2 自動完成編輯框AutoCompleteTextView 77
3.5 Activity基礎 78
3.5.1 Activity的生命周期 78
3.5.2 使用Intent傳遞消息 82
3.5.3 嚮下一個Activity傳遞參數 84
3.5.4 嚮上一個Activity返迴參數 85
3.6 實戰項目:登錄App 88
3.6.1 設計思路 88
3.6.2 小知識:AlertDialog 89
3.6.3 代碼示例 91
3.7 小結 94
第4章 數據存儲 95
4.1 共享參數SharedPreferences 96
4.1.1 基本用法 96
4.1.2 實現記住密碼功能 97
4.2 數據庫SQLite 98
4.2.1 SQLite的基本用法 98
4.2.2 SQLiteOpenHelper 100
4.2.3 優化記住密碼功能 106
4.3 SD卡文件操作 108
4.3.1 SD卡的基本操作 108
4.3.2 文本文件讀寫 110
4.3.3 圖片文件讀寫 111
4.4 Application基礎 112
4.4.1 Application的生命周期 112
4.4.2 利用Application操作全局變量 113
4.5 實戰項目:購物車 115
4.5.1 設計思路 115
4.5.2 小知識:菜單Menu 116
4.5.3 代碼示例 119
4.6 小結 125
第5章 高級控件 126
5.1 日期時間控件 127
5.1.1 日期選擇器DatePicker 127
5.1.2 時間選擇器TimePicker 128
5.2 列錶類視圖 129
5.2.1 基本適配器BaseAdapter 129
5.2.2 列錶視圖ListView 133
5.2.3 網格視圖GridView 138
5.3 翻頁類視圖 142
5.3.1 翻頁視圖ViewPager 142
5.3.2 翻頁標題欄PagerTitleStrip/PagerTabStrip 145
5.3.3 簡單的啓動引導頁 147
5.4 碎片Fragment 150
5.4.1 靜態注冊 150
5.4.2 動態注冊/碎片適配器FragmentStatePagerAdapter 154
5.4.3 改進的啓動引導頁 157
5.5 Broadcast基礎 159
5.5.1 發送/接收臨時廣播 159
5.5.2 定時器AlarmManager 162
5.6 實戰項目:日曆/日程錶 163
5.6.1 設計思路 163
5.6.2 小知識:震動器Vibrator 165
5.6.3 代碼示例 165
5.7 小結 170
第6章 自定義控件 171
6.1 自定義視圖 172
6.1.1 聲明屬性 172
6.1.2 構造對象 175
6.1.3 測量尺寸 176
6.1.4 繪製視圖 179
6.2 自定義動畫 184
6.2.1 任務Runnable 184
6.2.2 下拉刷新動畫 185
6.2.3 圓弧進度動畫 186
6.3 自定義對話框 190
6.3.1 對話框Dialog 190
精彩書摘
第13章 多 媒 體
本章介紹App開發常見的多媒體技術,主要包括如何使用各種圖像控件實現自定義相冊、如何使用視頻相關控件實現視頻播放器,另外介紹四大組件之一的ContentProvider的基本概念與常見用法。最後結閤本章所學的知識演示一個實戰項目“音樂播放器——浪花音樂”的設計與實現。
13.1 相 冊
本節介紹自定義相冊的實現過程,首先說明使用畫廊或循環視圖如何實現簡單相冊;接著闡述使用圖像切換器如何實現相冊的左右滑動功能;然後分彆介紹卡片視圖與調色闆的用法,並結閤上述圖像控件完成一個圖片查看器——青青相冊。
13.1.1 畫廊Gallery
前幾章使用文件對話框打開圖片時隻能看到圖片的文件名,看不到圖片的縮略圖,對用戶來說很不方便,因為光看文件名怎麼知道這張圖片什麼模樣呢?如果是在電腦上,就可以查看一組圖片的縮略圖列錶,很容易找到想要的圖片。在手機上可以使用相應的圖像控件做齣縮略圖展示的相冊效果。
畫廊Gallery是專門用於展示圖片列錶的控件,左右滑動手勢即可展示內嵌的圖片列錶,畫麵效果類似於一個平麵萬花筒。盡管Android將Gallery標記為Deprecation(錶示已廢棄),建議開發者采用HorizontalScrollView或ViewPager代替,不過Gallery用來輪播圖片是一個挺好的選擇。不妨瞭解一下Gallery控件,並結閤其他控件加深對圖像開發的理解。
下麵是Gallery的常用方法說明。
? setSpacing:設置圖片之間的間隔大小,對應的XML屬性是spacing。
? setUnselectedAlpha:設置未選定圖片的透明度,對應的XML屬性是unselectedAlpha。取值範圍為0.0~1.0,0.0錶示完全透明,1.0錶示完全不透明。
? setAdapter:設置畫廊的適配器。
? getSelectedItemId:獲取當前選中的視圖序號。
? setSelection:設置當前選中第幾個視圖。
? setOnItemClickListener:設置單項的點擊監聽器。
使用畫廊看起來很簡單,接下來試著用Gallery結閤ImageView實現觀看畫廊的相冊效果。首先在布局文件中放置一個框架布局FrameLayout,裏麵放一個畫廊控件與一個圖像視圖控件,ImageView設置為充滿整個屏幕,Gallery放在屏幕下方;然後監聽Gallery控件的單項點擊事件,當用戶點擊指定圖片項時,使用ImageView控件填充該圖片,也就是點小圖看大圖。
下麵是通過Gallery與ImageView實現簡單相冊的代碼:
public class GalleryActivity extends AppCompatActivity implements OnItemClickListener {
private ImageView iv_gallery;
private Gallery gl_gallery;
private int[] mImageRes = { R.drawable.scene1, R.drawable.scene2, R.drawable.scene3,
R.drawable.scene4, R.drawable.scene5, R.drawable.scene6 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gallery);
iv_gallery = (ImageView) findViewById(R.id.iv_gallery);
iv_gallery.setImageResource(mImageRes[0]);
int dip_pad = Utils.dip2px(this, 20);
gl_gallery = (Gallery) findViewById(R.id.gl_gallery);
gl_gallery.setPadding(0, dip_pad, 0, dip_pad);
gl_gallery.setSpacing(dip_pad);
gl_gallery.setUnselectedAlpha(0.5f);
gl_gallery.setAdapter(new GalleryAdapter(this, mImageRes));
gl_gallery.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
iv_gallery.setImageResource(mImageRes[position]);
}
}
Gallery相冊的畫麵效果如圖13-1和圖13-2所示。其中,圖13-1所示為展示相冊第一張圖片時的畫麵;圖13-2所示為點擊第二張小圖時,屏幕展示第二張大圖的畫麵。
圖13-1 畫廊展示第一張圖片 圖13-2 畫廊展示第二張圖片
如果想用其他控件替代Gallery,就可以考慮使用功能強大的循環視圖RecyclerView。具體實現時主要是定義一個水平方嚮的綫性布局管理器,然後通過適配器填入圖片列錶。
使用RecyclerView與ImageView實現相冊的代碼很簡單,舉例如下:
public class RecyclerViewActivity extends AppCompatActivity implements OnItemClickListener {
private ImageView iv_photo;
private RecyclerView rv_photo;
private int[] mImageRes = { R.drawable.scene1, R.drawable.scene2, R.drawable.scene3,
R.drawable.scene4, R.drawable.scene5, R.drawable.scene6 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
iv_photo = (ImageView) findViewById(R.id.iv_photo);
iv_photo.setImageResource(mImageRes[0]);
rv_photo = (RecyclerView) findViewById(R.id.rv_photo);
LinearLayoutManager manager = new LinearLayoutManager(this);
manager.setOrientation(LinearLayout.HORIZONTAL);
rv_photo.setLayoutManager(manager);
PhotoAdapter adapter = new PhotoAdapter(this, mImageRes);
adapter.setOnItemClickListener(this);
rv_photo.setAdapter(adapter);
rv_photo.setItemAnimator(new DefaultItemAnimator());
rv_photo.addItemDecoration(new SpacesItemDecoration(20));
}
@Override
public void onItemClick(View view, int position) {
iv_photo.setImageResource(mImageRes[position]);
rv_photo.scrollToPosition(position);
}
}
使用RecyclerView方式實現的相冊效果如圖13-3和圖13-4所示。其中,圖13-3所示為展示相冊第3張圖片時的畫麵;圖13-4所示為點擊第4張小圖時,屏幕展示第4張大圖的畫麵。
圖13-3 循環視圖展示第3張圖片 圖13-4 循環視圖展示第4張圖片
13.1.2 圖像切換器ImageSwitcher
可能讀者已經發現,前麵Gallery相冊在切換大圖時比較生硬,前後兩張圖片閃一下就切過去瞭,用戶體驗不夠友好。有沒有辦法讓圖片切換自然一些呢,比如通過漸變動畫的方式?答案肯定是有的,就是把占據整個屏幕的圖像視圖ImageView換成圖像切換器ImageSwitcher,然後通過ImageSwitcher實現前後圖片的切換動畫。
ImageSwitche
Android Studio開發實戰:從零基礎到App上綫 下載 mobi epub pdf txt 電子書