導航:首頁 > 操作系統 > android小案例

android小案例

發布時間:2022-10-08 10:53:31

① 用android studio做一個可以運行的小程序,鬧鍾也行,然後可以連到手機,感謝大神。

環境搭建就不講了,直接說開發。

小鬧鍾程序開發中的要點就是:

1、時間選擇對話框(TimePicker)

2、獲取鬧鍾管理器並對其進行設置

3、注冊廣播接收器

掌握了這兩點,寫程序就很簡單了。

1、新建android項目:Alarm,sdk版本選擇2.2,Package name:com.lql.activity,Main Activity:Alarm

2、編寫界面:直接修改layout中的main.xml文件,代碼如下:

Xml代碼

② androidstudio運行一個小例子,如圖,到底要怎麼弄才能用夜神呢在網上找了n多個教程似乎

點擊切換到ddms,然後有一個下拉的下箭頭,重啟reset adb試試看,大部分的原因是已經存在了一個adb無法啟動,記得重啟

③ 《Android6應用開發案例精解第3版》pdf下載在線閱讀全文,求百度網盤雲資源

《Android6應用開發案例精解第3版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1VW8BgUrjThIwJQPrSTIPlw

?pwd=xglc 提取碼:xglc
簡介:本書是美國知名編程教材的作者針對Android系統下進行應用開發而編寫的一本入門級教程,全書以"應用驅動的方法」為基礎,詳細講解了17個完整的Android應用的開發過程,並提供了8個APP應用的完整的源代碼。這些應用經過精心挑選,從不同側面展現了Android系統各個功能模塊的編程方法。這些功能包括音頻、視頻、動畫、電話、藍牙、語音識別、加速度計、GPS、指北針、應用窗件、3D圖形等, 它們都是從事Android應用開發所必須熟知的基本技術。

④ Android游戲開發大全的目錄

《android游戲開發大全》
第一篇android游戲開發核心技術
第1章android平台簡介2
1.1android的來龍去脈2
1.2掀起android的蓋頭來2
1.2.1選擇android的理由2
1.2.2android的應用程序框架3
1.3android開發環境的搭建6
1.3.1sdk的下載及安裝6
1.3.2eclipse集成開發環境的搭建6
1.3.3虛擬設備的創建與模擬器的運行9
1.3.4第一個android程序11
1.3.5android程序的監控與調試14
1.4小結15
第2章android游戲開發之前台渲染16
2.1創建android用戶界面16
2.1.1布局管理16
2.1.2常用控制項及其事件處理22
2.2圖形與動畫在android中的實現24
2.2.1簡單圖形的繪制24
.2.2.2貼圖的藝術26
2.2.3自定義動畫的播放27
2.3android平台下的多媒體開發30
2.3.1音頻的播放30
2.3.2視頻的播放33
2.3.3camera圖像採集36
2.4小結38
第3章android游戲開發之互動式通信39
3.1android應用程序的基本組件39
3.1.1activity組件39
3.1.2service組件41
3.1.3broadcast receiver組件42
3.1.4content provider組件43
3.1.5androidmanifest.xml文件簡介43
3.2應用程序的內部通信47
3.2.1消息的處理者——handler類簡介47
3.2.2使用handler進行內部通信48
3.3應用程序組件之間的通信50
3.3.1intent類簡介50
3.3.2應用程序組件——intentfilter類簡介52
3.3.3示例1:與android系統組件通信53
3.3.4示例2:應用程序組件間通信示例activity部分的開發54
3.3.5示例3:應用程序組件間通信示例service部分的開發56
3.4小結59
第4章android游戲開發之數據存儲和感測器60
4.1在android平台上實現數據存儲60
4.1.1私有文件夾文件的寫入與讀取60
4.1.2讀取resources和assets中的文件63
4.1.3輕量級資料庫sqlite簡介65
4.1.4sqlite的使用示例69
4.1.5數據共享者——content provider的使用72
4.1.6簡單的數據存儲——preferences的使用76
4.2android平台下感測器應用的開發78
4.2.1感測器應用開發流程78
4.2.2常用感測器簡介79
4.2.3感測器應用開發示例81
4.2.4使用sensorsimulator模擬感測器變化83
4.2.5使用新版本的api開發感測器應用86
4.3小結88
第5章android游戲開發之網路編程89
5.1基於socket套接字的網路編程89
5.2基於http協議的網路編程93
5.2.1通過url獲取網路資源93
5.2.2在android中解析xml95
5.3android平台下的google map95
5.3.1定位類genpoint與顯示地圖類mapview的搭配使用95
5.3.2位置監聽器——locationlistener的使用99
5.4其他網路通信方式101
5.4.1使用wifi進行開發101
5.4.2藉助於藍牙(bluetooth)技術進行開發102
5.5小結102
第6章不一樣的游戲,一樣的精彩103
6.1射擊類游戲103
6.1.1游戲玩法103
6.1.2視覺效果104
6.1.3游戲內容設計104
6.2競速類游戲104
6.2.1游戲玩法105
6.2.2視覺效果105
6.2.3游戲內容設計106
6.3益智類游戲106
6.3.1游戲玩法106
6.3.2視覺效果107
6.3.3游戲內容設計107
6.4角色扮演游戲107
6.4.1游戲玩法108
6.4.2視覺效果108
6.4.3游戲內容設計109
6.5闖關動作類游戲109
6.5.1游戲玩法109
6.5.2視覺效果110
6.5.3游戲內容設計110
6.6冒險游戲110
6.6.1游戲玩法110
6.6.2視覺效果111
6.6.3游戲內容設計112
6.7策略游戲112
6.7.1游戲玩法112
6.7.2視覺效果113
6.7.3游戲內容設計113
6.8養成類游戲113
6.8.1游戲玩法114
6.8.2視覺效果114
6.8.3游戲內容設計114
6.9經營類游戲115
6.9.1游戲玩法115
6.9.2視覺效果115
6.9.3游戲內容設計116
6.10體育類游戲116
6.10.1游戲玩法116
6.10.2視覺效果117
6.10.3游戲內容設計117
6.11小結117
第7章游戲背後的數學與物理118
7.1編程中經常用到的數理知識118
7.1.1數學方面118
7.1.2物理方面120
7.2物理小球在游戲中的應用121
7.2.1開發運動體movable類的代碼121
7.2.2開發物理引擎ballthread類的代碼123
7.2.3視圖類——開發ballview類的代碼126
7.2.4繪制線程——開發drawthread類的代碼129
7.2.5開發activity部分的代碼131
7.3粒子系統132
7.3.1粒子對象類——開發粒子對象particle類和粒子集合particleset類132
7.3.2開發焰火粒子系統的物理引擎particlethread類的代碼134
7.3.3視圖類——開發視圖類particleview及其相關類135
7.3.4開發程序activity部分的代碼137
7.3.5將焰火粒子系統改為瀑布粒子系統138
7.4碰撞檢測技術139
7.4.1碰撞檢測技術基礎139
7.4.2游戲中實體對象之間的碰撞檢測140
7.4.3游戲實體對象與環境之間的碰撞檢測143
7.5小結144
第8章游戲中的人工智慧145
8.1讓怪物聰明起來——android中的路徑搜索145
8.1.1路徑搜索示例基本框架的搭建145
8.1.2路徑搜索示例的控制面板實現147
8.1.3路徑搜索示例gameview的實現151
8.1.4深度優先路徑搜索dfs154
8.1.5廣度優先路徑搜索bfs156
8.1.6路徑搜索演算法——dijkstra159
8.1.7用a*演算法優化搜索162
8.2有限狀態機164
8.2.1何為有限狀態機164
8.2.2有限狀態機的簡單實現165
8.2.3有限狀態機的oo實現170
8.3小結172
第9章游戲開發小秘技173
9.1地圖編輯器與關卡設計173
9.1.1關卡地圖的重要性173
9.1.2圖片分割界面的實現175
9.1.3地圖設計界面的實現179
9.2游戲中的模糊邏輯185
9.2.1模糊的才是真實的185
9.2.2如何在android中將游戲模糊化186
9.3游戲的基本優化技巧188
9.3.1代碼上的小藝術188
9.3.2android中的查找表技術190
9.3.3游戲的感覺和性能問題192
9.4小結193
第10章游戲的心臟——物理引擎194
10.1物理引擎很重要194
10.1.1什麼是物理引擎194
10.1.2常見的物理引擎194
10.22d的王者jbox2d197
10.2.1基本的物理學概念197
10.2.2jbox2d中常用類的介紹199
10.3球體撞擊木塊金字塔案例203
10.3.1案例運行效果204
10.3.2案例的基本框架結構204
10.3.3常量類——constant205
10.3.4抽象類——mybody206
10.3.5圓形剛體類——mycirclecolor206
10.3.6生成剛體形狀的工具類——box2til207
10.3.7顏色工具類——colorutil208
10.3.8主控制類——mybox2dactivity209
10.3.9顯示界面類——gameview211
10.3.10繪制線程類——drawthread212
10.4簡易打磚塊案例213
10.4.1一般碰撞版213
10.4.2碰撞後消失版215
10.5旋轉關節蹺蹺板案例220
10.5.1旋轉關節介紹220
10.5.2多邊形剛體類mypolygoncolor的開發220
10.5.3生成剛體形狀的工具類——box2til221
10.5.4將場景中的剛體擺放到位222
10.5.5增加旋轉關節223
10.6旋轉關節鏈條擺案例225
10.6.1案例運行效果225
10.6.2案例的機械結構225
10.6.3主控制類——mybox2dactivity226
10.7組合機械結構案例227
10.7.1案例的運行效果227
10.7.2整體場景的機械結構228
10.7.3案例的基本框架結構229
10.7.4圓形剛體類——mycirclecolor229
10.7.5生成剛體形狀的工具類——box2til230
10.7.6主控制類——mybox2dactivity230
10.7.7游戲界面類——gameview232
10.7.8繪制線程類——drawthread233
10.8小結233
第11章opengl es應用開發基礎234
11.1opengl es概述及3d基本圖形繪制234
11.1.1opengl及opengl es簡介234
11.1.23d基本知識235
11.1.3使用索引的不同繪制方式236
11.1.4用索引法繪制三角形的案例238
11.1.5不使用索引數據繪制244
11.2正交投影和透視投影245
11.2.1正交投影246
11.2.2透視投影246
11.2.3兩種投影方式的原理及視口247
11.2.4兩種投影方式的案例248
11.3光照與材質250
11.3.1光照的3種組成元素250
11.3.2定向光與定位光252
11.3.3法向量253
11.3.4材質254
11.3.5兩種光源的案例255
11.4紋理及紋理映射257
11.4.1紋理映射基本原理257
11.4.2使用紋理映射的案例258
11.4.3幾種紋理拉伸方式261
11.4.4幾種紋理過濾方式262
11.5攝像機和霧特效263
11.5.1攝像機的設置264
11.5.2設置合理的視角264
11.5.3霧特效的開發266
11.6典型幾何體的開發267
11.6.1圓柱268
11.6.2圓錐273
11.6.3球276
11.6.4橢圓體278
11.6.5膠囊體281
11.6.6幾何體大集合284
11.7小結286
第二篇android游戲開發實戰綜合案例
第12章滾屏動作游戲——太空保衛戰288
12.1游戲的背景及功能概述288
12.1.1背景概述288
12.1.2功能簡介288
12.2游戲的策劃及准備工作290
12.2.1游戲的策劃290
12.2.2android平台下游戲的准備工作291
12.3游戲的架構292
12.3.1各個類的簡要介紹292
12.3.2游戲的框架簡介293
12.4輔助界面相關類的實現294
12.4.1主控制類——planeactivity的實現294
12.4.2歡迎界面welcomeview類296
12.4.3其他輔助界面的介紹300
12.5游戲界面的框架設計303
12.6游戲實體相關類的實現306
12.6.1飛機plane類的實現306
12.6.2敵方飛機enemyplane類的實現309
12.6.3子彈bullet類的實現311
12.6.4其他相關類的實現312
12.7游戲界面的完善314
12.7.1地圖類maps的實現314
12.7.2背景滾動類gameviewback groundthread的實現316
12.7.3物體移動線程movethread的實現317
12.7.4鍵盤監聽線程keythread的實現319
12.7.5圖片初始化方法initbitmap的實現320
12.7.6繪制方法ondraw的實現322
12.8游戲的優化與改進324
第13章棋牌游戲——中國象棋人機對弈325
13.1游戲的背景及功能概述325
13.1.1背景概述325
13.1.2功能介紹325
13.2游戲的策劃及准備工作327
13.2.1游戲的策劃327
13.2.2android平台下游戲的准備工作327
13.3游戲的架構329
13.3.1各個類簡要介紹329
13.3.2游戲框架簡介330
13.4主控制類——chess_djb_activity331
13.5輔助界面相關類334
13.6游戲界面相關類336
13.6.1游戲界面繪制類gameview336
13.6.2游戲界面常量類viewconstant353
13.7走法引擎相關類354
13.7.1常量類constant354
13.7.2工具類chess_loatil359
13.7.3走法引擎主類loatil360
13.7.4走法的排序規則類mycomparator371
13.7.5記錄走棋步驟類stackplaychess371
13.8游戲的優化與改進371
第14章物理感測器游戲——小球快跑(3d版)372
14.1游戲背景及功能概述372
14.1.1背景概述372
14.1.2功能簡介372
14.2游戲的策劃及准備工作374
14.2.1游戲的策劃374
14.2.2小球快跑游戲開發的准備工作375
14.3游戲的架構375
14.3.1游戲的總體架構376
14.3.2游戲的類結構376
14.4主控制類——driftball類的開發378
14.4.1driftball類的代碼框架378
14.4.2driftball類的主要成員方法的實現379
14.5游戲主菜單的開發381
14.5.1歡迎界面類——welcome view類的代碼框架381
14.5.2welcomeview類主要成員方法382
14.5.3welcomethread類的開發383
14.5.4菜單界面的用戶交互事件處理384
14.6游戲界面模塊的開發385
14.6.1游戲界面類——gameview的成員變數385
14.6.2gameview的成員方法簡介387
14.6.3游戲界面繪制線程——gamethread類的代碼框架387
14.6.4gamemenuthread類的開發388
14.6.5用戶交互事件處理389
14.7游戲中各個圖層的開發391
14.7.1地圖圖層的開發391
14.7.2其他圖層的開發與實現392
14.8游戲後台邏輯的開發395
14.8.1小球的運動控制395
14.8.2小球的碰撞檢測396
14.8.3大炮相關類cannon和missile的開發400
14.9感測器計算模塊的開發403
14.9.1手機姿態變化監聽器——balllistener類的開發403
14.9.2工具類——rotateutil類的代碼框架404
14.9.3工具類——rotateutil類的開發406
14.10游戲的優化與改進408
第15章塔防游戲——精靈塔防410
15.1游戲的背景及功能概述410
15.1.1背景概述410
15.1.2功能介紹410
15.2游戲的策劃及准備工作413
15.2.1游戲的策劃413
15.2.2android平台下游戲開發的准備工作414
15.3游戲的架構415
15.3.1各個類的簡要介紹416
15.3.2游戲框架簡介417
15.4主控制類tafanggameactivity和資料庫類dbutil418
15.4.1主控制類——tafanggame activity主要框架418
15.4.2主控制類——tafanggame activity中部分資料庫的實現421
15.4.3主控制類——tafanggame activity中對話框的開發423
15.4.4資料庫類dbutil的開發427
11.5界面相關類428
15.5.1歡迎界面welcomeview類的介紹428
15.5.2主界面mainmenusurfaceview類的介紹430
15.5.3音效設置界面musicsurfaceview類的介紹434
15.5.4游戲結束界面gameoverview類和幫助界面helpview類的介紹435
15.5.5積分榜界面highjifensurfaceview類的介紹435
15.6游戲界面gameview及相關類438
15.6.1精靈怪物target類439
15.6.2箭塔singlejianta類443
15.6.3箭shell類444
15.6.4精靈怪物的出擊現場——targetnumthread447
15.6.5箭塔控制發射線程——shellnumthread449
15.6.6游戲地圖矩陣模擬化451
15.6.7擺放箭塔守護城池452
15.6.8游戲中的2.5d效果455
15.6.9彈指間怪物灰飛煙滅——游戲水晶455
15.7游戲的優化和改進459
第16章策略游戲——回到戰國460
16.1游戲的背景及功能概述460
16.1.1背景概述460
16.1.2功能簡介460
16.2游戲的策劃及准備工作465
16.2.1游戲的策劃465
16.2.2android平台下游戲的准備工作465
16.3游戲的架構467
16.3.1游戲的模塊架構467
16.3.2游戲各個類的簡要介紹468
16.4地圖設計器的開發470
16.4.1底層地圖設計器的開發470
16.4.2上層地圖設計器的開發474
16.5activity和游戲工具類的開發475
16.5.1主控制類——hdzgactivity的介紹475
16.5.2公式封裝類——gameformula的介紹478
16.5.3常量工具類constantutil的介紹479
16.6數據存取模塊的開發481
16.6.1城池信息以及地圖層信息的封裝類481
16.6.2數據存取相關類的介紹485
16.7英雄角色模塊的開發488
16.7.1hero類的代碼框架488
16.7.2英雄運動線程——herogo thread類的開發491
16.7.3輔助線程——herobackdata thread類的開發493
16.8表示層界面模塊的開發493
16.8.1滾屏類——screenrollview類的開發494
16.8.2滾屏線程——screenroll thread的開發495
16.8.3游戲界面gameview的框架介紹496
16.8.4游戲界面繪制方法ondraw的介紹498
16.8.5游戲界面屏幕監聽方法ontouch的介紹500
16.8.6游戲界面後台線程game viewthread的介紹502
16.9管理面板模塊的開發503
16.9.1人物屬性面板類manpanel view的開發503
16.9.2城池管理面板類citymanage view的開發508
16.10地圖中可遇實體模塊的開發511
16.10.1繪制類——mydrawable的開發511
16.10.2抽象類——mymeetabledrawable的開發513
16.10.3森林類——forestdrawable的開發514
16.10.4可遇實體對象的調用流程516
16.11英雄技能模塊的開發518
16.11.1技能抽象類——skill的開發518
16.11.2伐木技能類——lumber skill的開發519
16.11.3隨心步技能類——suixinbuskill的開發520
16.12游戲提示模塊的開發520
16.12.1提示模塊抽象類——gamealert的開發520
16.12.2點擊確定按鈕顯示的信息類——plainalert的開發521
16.12.3顯示糧草危機信息類——foodalert的開發522
16.12.4輔助線程herobackdatathread中對foodalert的調用524
16.13游戲的優化與改進525
第17章體育游戲——2d迷你撞球527
17.12d撞球的背景及功能概述527
17.1.1背景概述527
17.1.2功能簡介527
17.2游戲的策劃及准備工作530
17.2.1游戲的策劃530
17.2.2android平台下游戲的准備工作530
17.3游戲的架構531
17.3.1游戲的框架簡介531
17.3.2各個類的簡要介紹532
17.4公共類的實現534
17.4.1主控制類——gameactivity的代碼框架534
17.4.2gameactivity類主要成員變數及方法的實現536
17.4.3常量類——constant的實現540
17.5輔助界面相關類的實現542
17.5.1歡迎動畫界面welcomeview類的實現542
17.5.2主菜單界面mainmenuview的代碼框架544
17.5.3主界面類——mainmenu view部分成員方法的實現545
17.5.4主界面動畫線程類view drawthread的實現548
17.5.5排行榜界面highscore view的代碼框架549
17.5.6highscoreview類的部分方法的實現550
17.6游戲界面相關類的實現552
17.6.1游戲界面gameview類的代碼框架552
17.6.2gameview類部分成員方法的實現553
17.6.3鍵盤監聽線程keythread類的實現557
17.6.4球運動的線程ballgothread類的實現558
17.7情景相關類的實現559
17.7.1球台table類的實現559
17.7.2撞球ball類的代碼框架561
17.7.3ball類部分成員方法的實現563
17.7.4球桿cue類的實現566
17.8自定義控制項及工具類的實現568
17.8.1球與球碰撞檢測的工具類collisionutil的實現568
17.8.2定時器timer類的實現571
17.8.3主菜單按鈕mainmenu button類的實現572
17.8.4獲取日期的工具dateutil 類的實現573
17.9游戲的優化與改進574
第18章益智游戲——3d版推箱子575
18.13d版推箱子的背景及功能概述575
18.1.1背景概述575
18.1.2功能簡介575
18.2游戲的策劃及准備工作579
18.2.1游戲的策劃579
18.2.2android平台下游戲開發的准備工作579
18.3游戲的架構580
18.3.1游戲的框架簡介580
18.3.2各個類的簡要介紹581
18.4公共類的實現582
18.4.1主控制類——myactivity的代碼框架582
18.4.2myactivity類成員方法的實現584
18.4.3常量類constant的實現585
18.5輔助界面相關類的實現587
18.5.1歡迎動畫界面welcomeview類的實現587
18.5.2主菜單界面mainview的實現589
18.6游戲界面相關類590
18.6.1游戲界面mysurfaceview類的設計與實現590
18.6.2鍵盤監聽線程keythread599
18.7自定義控制項及工具類600
18.7.1縮放圖片的方法picloatil600
18.7.2主菜單上的按鈕類mainmenubutton601
18.8情景相關類的實現602
18.8.1機器人類的代碼框架602
18.8.2機器人類成員方法的實現603
18.8.3機器人組類robotgroup類的實現605
18.8.4機器人組類成員方法的實現606
18.8.5圓面circle類的實現607
18.8.6矩形紋理類texturerect的實現609
18.8.7紋理矩形組類texturerect group的實現610
18.8.8牆類wall的實現611
18.8.9牆wall類成員方法的實現612
18.8.10箱子cube類的實現616
18.8.11箱子組cubegroup類的實現618
18.8.12箱子移動cubego類的代碼框架619
18.8.13箱子移動cubego類的成員方法的實現620
18.8.14地板類floor的實現621
18.9推箱子地圖設計器的開發623
18.10游戲的優化與改進624
第19章物理引擎游戲——盛怒的老鼠625
19.1游戲背景及功能概述625
19.1.1游戲開發背景625
19.1.2游戲功能概述625
19.2游戲策劃及准備工作628
19.2.1游戲策劃628
19.2.2游戲開發的准備工作628
19.3游戲的框架630
19.3.1游戲主要用到的技術631
19.3.2游戲各個類的介紹631
19.3.3游戲的基本框架633
19.4公共類634
19.4.1主控制類——mybox2dactivity634
19.4.2常量類constant635
19.5主界面的設計與實現644
19.5.1鼠頭和貓頭類taj644
19.5.2鼠頭和貓頭控制線程——tjthread646
19.5.3主界面mainmenuview646
19.5.4刷幀線程mainmenudrawthread653
19.6工具類654
19.6.1載入及縮放圖片的工具類picloatil654
19.6.2生成剛體工具類box2til655
19.6.3聲音工具類sountil656
19.7剛體相關類657
19.7.1多邊形類mypolygonimg657
19.7.2貓頭類bodycat659
19.7.3冰塊類bodyice660
19.7.4木條類bodywood661
19.7.5剛體類型枚舉類bodytype661
19.7.6剛體查詢工具類bodysearchutil662
19.8游戲界面相關類663
19.8.1皮筋類pijin663
19.8.2記錄分數類score664
19.8.3刷幀線程drawthread665
19.8.4游戲界面類gameview668
19.9游戲優化與改進673

⑤ Google Android開發入門與實戰的作品目錄

第1章 掀起你的蓋頭來—初識Android 1.1 認識Android 1.2 Android的背景 1.2.1 Android的歷史 1.2.2 Android的發展 1.3 我的Android我做主 1.3.1 開發基於Android平台的應用 1.3.2 參加Android開發者大賽 1.3.3 個人英雄主義再現—得到更多人的認可和尊重 1.3.4 獲得應有的收益—Android Market 1.4 真實體驗—Android模擬器 1.4.1 初識廬山真面目—模擬器概述 1.4.2 模擬器和真機的區別 1.4.3 模擬器使用注意事項 1.5 更上一層樓,加入Android開發社區 1.6 本章小結第2章 工欲善其事 必先利其器—搭建Android開發環境 ……第3章 清點可用資本—Android SDK介紹第4章 賺錢的市場—Android Market及應用發布第5章 千里之行 始於足下—第一個應用HelloWorld第6章 磨刀不誤砍柴工—Android應用程序結構介紹第7章 良好的學習開端—Android基本組件介紹第8章 移動信息倉庫—Android的數據存儲操作第9章 我來「廣播」你的「意圖」—Intents和Broadcast面對面第10章 一切為用戶服務—Service應用實例第11章 循序漸進—開發Android應用的基本步驟第12章 Android綜合案例一—RSS閱讀器實例第13章 綜合案例二—基於Google API開發個人移動地圖第14章 綜合案例三—基於Android的豆瓣網(Web 2.0)移動客戶端開發第15章 綜合案例四—在線音樂播放器第16章 綜合案例五—手機信息查看助手

⑥ 安卓應用APK文件修改之漢化、美化去廣告案例

接上一篇《安卓應用APK文件的解包打包和修改教程》接下來操作簡單的三個案例
1)漢化APK軟體
在res文件夾中,我們可以看到有很多values-***的文件夾,這就是語言包。values是英文語言包,values-zh是中國地區語言包(包含港澳台及內地),values-zh-rCN是中文簡體語言包(只包含內地),values-zh-rTW是中文繁體語言包(港澳台)。除此以外,其它地區的語言包都是精簡的對象,可以不過多了解。
在values文件夾里,通常有arrays.xml、strings.xml等語言文件,要作漢化就要對這些文件進行修改。有時也需要修改其它xml文件,一個一個地認真查看。
2)修改圖標標簽
每一個APK文件都有一個「圖標標簽」。將APK程序安裝進手機後,在圖標下面顯示圖標標簽文字。這個圖標標簽的內容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:圖標標簽例如:靜音啟動同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因為要同時修改對應的odex文件。
【3)去掉APK中的廣告】
有很多APK應用都帶有廣告。為了去掉程序中的廣告,要修改main.xml文件與廣告有關的內容。在\res目錄下找到文件main.xml。通常在\layout目錄下,有時也被放在其它目錄下。甚至,有時不存在main.xml文件,廣告行被放在其它xml文件內。只能細心逐個文件進行查找。無論哪一種情況,查看其內容,你會看到有一項類似的命令如下。這就是廣告顯示。
android:layout_width=」fill_parent」android:layout_height=」wrap_content」admobsdk:backgroundColor=」#ff000000″admobsdk:textColor=」#ffffffff」admobsdk:keywords=」Android
application」/>將其改為:
android:layout_width=」0.0dip」
android:layout_height=」0.0dip」admobsdk:backgroundColor=」#ff000000″admobsdk:textColor=」#ffffffff」admobsdk:keywords=」Android
application」/>
可以看到,關鍵是要把fill_parent改為0.0dip,把wrap_content改為0.0dip,其它保持不變即可。這種改法就是不給廣告顯示空間,當然
你就看不到廣告了。
  【 4)修改顯示電池為1%精度    】
在XT502上,默認顯示只有7檔:0%,10%,20%,40%,60%,80%和100%。通過修改framework-res.apk,可以改變顯示精度。但是在XT502上,實踐證明最好可能達到的現實精度只有10%。修改工作如下:
(1)對framework-res.apk進行解包(2)修改和增加電池狀態圖標(3)修改文件stat_sys_battery.xml(4)修改文件stat_sys_battery_charge.xml(5)打包(6)
提取stat_sys_battery.xml,stat_sys_battery_charge.xml,
resources.arsc和一個圖標目錄:drawable-mdpi(7)重新裝配framework-res.apk
 【5)狀態欄信息通知文字顏色修改 】
狀態欄信息通知文字顏色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我們只需修改colors.xml文件就可以了。另外,此文件還控制下拉欄的文字顏色,可以修改。用文本編輯器打開colors.xml文件,找到
#ff000000
將這句修改為:#ffffffff這狀態欄信息通知文字顏色由黑色改為白色。

⑦ android下載圖片和視頻到本地,求代碼,求案例

下面是android多線程下載例子截圖:

packagemm.shandong.com.testmultithreaddownload;
importandroid.app.ProgressDialog;
importandroid.content.Intent;
importandroid.net.Uri;
importandroid.os.Environment;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.text.TextUtils;
importandroid.view.View;
importandroid.widget.EditText;
importandroid.widget.Toast;
importjava.io.File;
importmm.shandong.com.testmultithreaddownload.thread.UpdateUIThread;
importmm.shandong.com.testmultithreaddownload.util.FileUtil;
{
ProgressDialogpb;
EditTexteditText;
Handlerhandler;
=null;
///文件路徑
privateStringurl=
"http://gdown..com/data/wisegame/3c00add7144d3915/kugouyinle.apk";
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_multi_thread_down_load);
editText=(EditText)findViewById(R.id.editText);
initHandler();
}
publicvoidinitHandler(){
handler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
caseFileUtil.startDownloadMeg:
pb.setMax(mUpdateUIThread.getFileSize());//開始
break;
caseFileUtil.updateDownloadMeg:
if(!mUpdateUIThread.isCompleted())//下載進度消息
{
pb.setProgress(mUpdateUIThread.getDownloadSize());
pb.setMessage("下載速度:"+
mUpdateUIThread.getDownloadSpeed()+"k/秒"+
"下載百分比"+mUpdateUIThread.getDownloadPercent()+"%");
}else{
pb.setMessage("下載完成");
}
break;
caseFileUtil.endDownloadMeg:
Toast.makeText(.this,
"下載完成,馬上安裝",Toast.LENGTH_SHORT).show();
/*apk安裝界面跳轉*/
Stringfilename=FileUtil.getFileName(url);
Stringstr="/myfile/"+filename;
StringfileName=Environment.getExternalStorageDirectory()+str;
Intentintent=newIntent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(newFile(fileName)),
"application/vnd.android.package-archive");
startActivity(intent);
break;
}
super.handleMessage(msg);
}
};
}
///開始下載軟體
publicvoidstartDownLoad(Viewview){
if(TextUtils.isEmpty(editText.getText().toString())){
Toast.makeText(this,"你輸入下載文件地址",Toast.LENGTH_SHORT).show();
return;
}else{
url=editText.getText().toString();
}
//啟動線程初始化下載參數
mUpdateUIThread=newUpdateUIThread(handler,url,
FileUtil.setMkdir(this)+File.separator,FileUtil.getFileName(url));
pb=newProgressDialog(this);
pb.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pb.show();
mUpdateUIThread.start();
}
}

例子代碼太長,只能給你一部分,如果想看完整例子代碼,請去360手機助手下載安卓學習手冊,點擊裡面的源碼可以查看完成代碼,方面快速,裡面還有安卓的其它小例子,共108個。

⑧ android.location.Location 定位實例化

一、LocationManager
LocationMangager,位置管理器。要想操作定位相關設備,必須先定義個LocationManager。我們可以通過如下代碼創建LocationManger對象。
LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

二、LocationListener
LocationListener,位置監聽,監聽位置變化,監聽設備開關與狀態。

private LocationListener locationListener=new LocationListener() {

/**
* 位置信息變化時觸發
*/
public void onLocationChanged(Location location) {
updateView(location);
Log.i(TAG, "時間:"+location.getTime());
Log.i(TAG, "經度:"+location.getLongitude());
Log.i(TAG, "緯度:"+location.getLatitude());
Log.i(TAG, "海拔:"+location.getAltitude());
}

/**
* GPS狀態變化時觸發
*/
public void onStatusChanged(String provider, int status, Bundle extras) {
switch (status) {
//GPS狀態為可見時
case LocationProvider.AVAILABLE:
Log.i(TAG, "當前GPS狀態為可見狀態");
break;
//GPS狀態為服務區外時
case LocationProvider.OUT_OF_SERVICE:
Log.i(TAG, "當前GPS狀態為服務區外狀態");
break;
//GPS狀態為暫停服務時
case LocationProvider.TEMPORARILY_UNAVAILABLE:
Log.i(TAG, "當前GPS狀態為暫停服務狀態");
break;
}
}

/**
* GPS開啟時觸發
*/
public void onProviderEnabled(String provider) {
Location location=lm.getLastKnownLocation(provider);
updateView(location);
}

/**
* GPS禁用時觸發
*/
public void onProviderDisabled(String provider) {
updateView(null);
}

};

三、Location
Location,位置信息,通過Location可以獲取時間、經緯度、海拔等位置信息。上面採用locationListener裡面的onLocationChanged()來獲取location,下面講述如何主動獲取location。
Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
system.out.println("時間:"+location.getTime());
system.out.println("經度:"+location.getLongitude());
注意:Location location=new Location(LocationManager.GPS_PROVIDER)方式獲取的location的各個參數值都是為0。

四、GpsStatus.Listener
GpsStatus.Listener ,GPS狀態監聽,包括GPS啟動、停止、第一次定位、衛星變化等事件。

//狀態監聽
GpsStatus.Listener listener = new GpsStatus.Listener() {
public void onGpsStatusChanged(int event) {
switch (event) {
//第一次定位
case GpsStatus.GPS_EVENT_FIRST_FIX:
Log.i(TAG, "第一次定位");
break;
//衛星狀態改變
case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
Log.i(TAG, "衛星狀態改變");
//獲取當前狀態
GpsStatus gpsStatus=lm.getGpsStatus(null);
//獲取衛星顆數的默認最大值
int maxSatellites = gpsStatus.getMaxSatellites();
//創建一個迭代器保存所有衛星
Iterator<GpsSatellite> iters = gpsStatus.getSatellites().iterator();
int count = 0;
while (iters.hasNext() && count <= maxSatellites) {
GpsSatellite s = iters.next();
count++;
}
System.out.println("搜索到:"+count+"顆衛星");
break;
//定位啟動
case GpsStatus.GPS_EVENT_STARTED:
Log.i(TAG, "定位啟動");
break;
//定位結束
case GpsStatus.GPS_EVENT_STOPPED:
Log.i(TAG, "定位結束");
break;
}
};
};
//綁定監聽狀態
lm.addGpsStatusListener(listener);

五、GpsStatus

GpsStatus,GPS狀態信息,上面在衛星狀態變化時,我們就用到了GpsStatus。

//實例化
GpsStatus gpsStatus = locationManager.getGpsStatus(null); // 獲取當前狀態
//獲取默認最大衛星數
int maxSatellites = gpsStatus.getMaxSatellites();
//獲取第一次定位時間(啟動到第一次定位)
int costTime=gpsStatus.getTimeToFirstFix();
//獲取衛星
Iterable<GpsSatellite> iterable=gpsStatus.getSatellites();
//一般再次轉換成Iterator
Iterator<GpsSatellite> itrator=iterable.iterator();

六、GpsSatellite

GpsSatellite,定位衛星,包含衛星的方位、高度、偽隨機雜訊碼、信噪比等信息。

//獲取衛星
Iterable<GpsSatellite> iterable=gpsStatus.getSatellites();
//再次轉換成Iterator
Iterator<GpsSatellite> itrator=iterable.iterator();
//通過遍歷重新整理為ArrayList
ArrayList<GpsSatellite> satelliteList=new ArrayList<GpsSatellite>();
int count=0;
int maxSatellites=gpsStatus.getMaxSatellites();
while (itrator.hasNext() && count <= maxSatellites) {
GpsSatellite satellite = itrator.next();
satelliteList.add(satellite);
count++;
}
System.out.println("總共搜索到"+count+"顆衛星");
//輸出衛星信息
for(int i=0;i<satelliteList.size();i++){
//衛星的方位角,浮點型數據
System.out.println(satelliteList.get(i).getAzimuth());
//衛星的高度,浮點型數據
System.out.println(satelliteList.get(i).getElevation());
//衛星的偽隨機雜訊碼,整形數據
System.out.println(satelliteList.get(i).getPrn());
//衛星的信噪比,浮點型數據
System.out.println(satelliteList.get(i).getSnr());
//衛星是否有年歷表,布爾型數據
System.out.println(satelliteList.get(i).hasAlmanac());
//衛星是否有星歷表,布爾型數據
System.out.println(satelliteList.get(i).hasEphemeris());
//衛星是否被用於近期的GPS修正計算
System.out.println(satelliteList.get(i).hasAlmanac());
}

為了便於理解,接下來模擬一個案例,如何在程序代碼中使用GPS獲取位置信息。
第一步:新建一個Android工程項目,命名為mygps,目錄結構如下

第二步:修改main.xml布局文件,修改內容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cursorVisible="false"
android:editable="false"
android:id="@+id/editText"/>
</LinearLayout>

第三步:實用Adnroid平台的GPS設備,需要添加上許可權
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

第四步:修改核心組件activity,修改內容如下

package com.ljq.activity;

import java.util.Iterator;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Criteria;
import android.location.GpsSatellite;
import android.location.GpsStatus;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.widget.EditText;
import android.widget.Toast;

public class GpsActivity extends Activity {
private EditText editText;
private LocationManager lm;
private static final String TAG="GpsActivity"; @Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
lm.removeUpdates(locationListener);
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

editText=(EditText)findViewById(R.id.editText);
lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);

//判斷GPS是否正常啟動
if(!lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){
Toast.makeText(this, "請開啟GPS導航...", Toast.LENGTH_SHORT).show();
//返回開啟GPS導航設置界面
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent,0);
return;
}

//為獲取地理位置信息時設置查詢條件
String bestProvider = lm.getBestProvider(getCriteria(), true);
//獲取位置信息
//如果不設置查詢要求,getLastKnownLocation方法傳人的參數為LocationManager.GPS_PROVIDER
Location location= lm.getLastKnownLocation(bestProvider);
updateView(location);
//監聽狀態
lm.addGpsStatusListener(listener);
//綁定監聽,有4個參數
//參數1,設備:有GPS_PROVIDER和NETWORK_PROVIDER兩種
//參數2,位置信息更新周期,單位毫秒
//參數3,位置變化最小距離:當位置距離變化超過此值時,將更新位置信息
//參數4,監聽
//備註:參數2和3,如果參數3不為0,則以參數3為准;參數3為0,則通過時間來定時更新;兩者為0,則隨時刷新

// 1秒更新一次,或最小位移變化超過1米更新一次;
//注意:此處更新准確度非常低,推薦在service裡面啟動一個Thread,在run中sleep(10000);然後執行handler.sendMessage(),更新位置
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, locationListener);
}

//位置監聽
private LocationListener locationListener=new LocationListener() {

/**
* 位置信息變化時觸發
*/
public void onLocationChanged(Location location) {
updateView(location);
Log.i(TAG, "時間:"+location.getTime());
Log.i(TAG, "經度:"+location.getLongitude());
Log.i(TAG, "緯度:"+location.getLatitude());
Log.i(TAG, "海拔:"+location.getAltitude());
}

/**
* GPS狀態變化時觸發
*/
public void onStatusChanged(String provider, int status, Bundle extras) {
switch (status) {
//GPS狀態為可見時
case LocationProvider.AVAILABLE:
Log.i(TAG, "當前GPS狀態為可見狀態");
break;
//GPS狀態為服務區外時
case LocationProvider.OUT_OF_SERVICE:
Log.i(TAG, "當前GPS狀態為服務區外狀態");
break;
//GPS狀態為暫停服務時
case LocationProvider.TEMPORARILY_UNAVAILABLE:
Log.i(TAG, "當前GPS狀態為暫停服務狀態");
break;
}
}

/**
* GPS開啟時觸發
*/
public void onProviderEnabled(String provider) {
Location location=lm.getLastKnownLocation(provider);
updateView(location);
}

/**
* GPS禁用時觸發
*/
public void onProviderDisabled(String provider) {
updateView(null);
}

};

⑨ 《Android游戲開發大全Android游戲開發大全》pdf下載在線閱讀全文,求百度網盤雲資源

《Android游戲開發大全》(吳亞峰//蘇亞光)電子書網盤下載免費在線閱讀

鏈接: https://pan..com/s/1gRKVpsSwPve9VLEFTsaEIw

提取碼: h4yk

書名:Android游戲開發大全

作者:吳亞峰//蘇亞光

譯者:百納科技 註解

出版社:人民郵電出版社

出版年份:2012-1

頁數:674

內容簡介:

《Android游戲開發大全》以Android手機游戲的開發為主題,結合真實的游戲案例向讀者詳細介紹了Android平台下游戲開發的整個流程,同時在游戲開發的介紹過程中還分享了作者多年積累的開發技巧與經驗。

全書分為兩篇,共19章,第1篇(第1~11章)以簡單易懂的實例為依託,詳細介紹了Android的前台渲染技術、常用界面布局、網路開發、SQLite資料庫的存取、感測器應用的開發、游戲中經常使用的人工智慧演算法、流行的物理引擎Box2D以及OpenGLES3D開發的相關知識。第2篇(第12~19章)詳細介紹了8個真實的游戲案例,涵蓋了手機游戲中的8個不同種類,包括體育類、益智類、滾屏動作類、棋牌類、物理感測器類、塔防類、物理引擎類以及策略類游戲。每一個游戲都是按照實際的開發步驟進行介紹,並逐步地將Android手機游戲的整個開發過程展現在讀者面前。同時在源代碼中還包含了詳細的注釋,以盡量幫助讀者掌握代碼中的每一個細節。另外,第2篇中所有的案例項目都配有講解視頻,以幫助讀者快速理解並得到提升。

作者簡介:

吳亞峰,畢業於北京郵電大學,後留學澳大利亞卧龍崗大學取得碩士學位,1998年開始從事Java的開發,有十多年的Java開發經驗與培訓經驗,主要的研究方向是Java EE。現在為Java EE獨立軟體開發工程師,同時兼任Sun授權、Java培訓中心認證教師,為數十家著名企業培訓了上千名軟體開發人員,曾編寫過《精通NetBeans——Java桌面、Web與企業級程序開發詳解》及《Java SE 6.0編程指南》等暢銷技術書籍。

蘇亞光:JavaME獨立軟體工程師,有軟體領域7年的從業經驗,在軟體開發和計算機教學方面有著豐富的經驗。早期主要從事底層軟體的設計與開發工作,現主要從事JavaEE企業應用程序的開發、設計等方面的工作。同時,在SOA領域也做了很多有益的工作。

⑩ 求《android應用案例開發大全第二版》PDF和源碼

Google Android SDK開發範例大全,源代碼已經增加附件。

閱讀全文

與android小案例相關的資料

熱點內容
網盤忘記解壓碼怎麼辦 瀏覽:852
文件加密看不到裡面的內容 瀏覽:651
程序員腦子里都想什麼 瀏覽:430
oppp手機信任app在哪裡設置 瀏覽:185
java地址重定向 瀏覽:268
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:88
伺服器系統地址怎麼查 瀏覽:54
解壓游戲發行官 瀏覽:601
國外小伙解壓實驗 瀏覽:336
頂級大學開設加密貨幣 瀏覽:437
java重載與多態 瀏覽:528
騰訊應屆程序員 瀏覽:942
一鍵編譯程序 瀏覽:129
語音加密包哪個好 瀏覽:340
有什麼學習高中語文的app 瀏覽:282
安卓手機的表格里怎麼打勾 瀏覽:411
阿里雲伺服器有網路安全服務嗎 瀏覽:969
超解壓兔子視頻 瀏覽:24
單片機怎麼測負脈沖 瀏覽:174