Android学习第三天 创建demo 电话拨号器
Hello World!
打開Android Studio,點擊右上角“File”=>“New”=>“New Project”
選擇其中一個模型 “Empty Activity” 點擊 “Next”
彈出一個對話框:
點擊“Finish”創建了一個項目
一、android項目的目錄結構講解
1、.gradle和.idea
這兩個目錄下放置的都是Android Studio自動生成的一些文件,我們無須關心,也不要去手動編輯。
2、app
項目中的代碼、資源等內容幾乎都是放置在這個目錄下的,我們后面的開發工作也基本都是在這個目錄下進行的,待會兒還會對這個目錄單獨展開進行講解。
3、build
這個目錄你也不需要過多關心,它主要包含了一些在編譯時自動生成的文件。
4、gradle
這個目錄下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前將gradle下載好,而是會自動根據本地的緩存情況決定是否需要聯網下載gradle。Android Studio默認沒有啟動gradle wrapper的方式,如果需要打開,可以點擊Android Studio導航欄 ——> File ——> Settings ——> Build,Execution,Deployment ——> Gradle,進行配置更改。
5、.gitignore
這個文件是用來將指定的目錄或文件排除在版本控制之外的。
6、build.gradle
這是項目全局的gradle構建腳本,通常這個文件中的內容是不需要修改的。下面會詳細分析gradle構建腳本中的具體內容。
7、gradle.properties
這個文件是全局的gradle配置文件,在這里配置的屬性將會影響到項目中所有的gradle編譯腳本。
8、gradlew和gradlew.bat
這兩個文件是用來在命令行界面中執行gradle命令的,其中gradlew是在Linux或Mac系統中使用的,gradlew.bat是在Windows系統中使用的。
9、HelloWorld.iml
iml文件是所有IntelliJ IDEA項目都會自動生成的一個文件(Android Studio是基于IntelliJ IDEA開發的),用于標識這是一個IntelliJ IDEA項目,我們不需要修改這個文件中的任何內容。
10、local.properties
這個文件用于指定本機中的Android SDK路徑,通常內容都是自動生成的,我們并不需要修改。除非你本機中的Android SDK位置發生了變化,那么就將這個文件中的路徑改成新的位置即可。
11、settings.gradle
這個文件用于指定項目中所有引入的模塊。由于HelloWorld項目中就只有一個app模塊,因此該文件中也就只引入了app這一個模塊。通常情況下模塊的引入都是自動完成的,需要我們手動去修改這個文件的場景可能比較少。
二:app目錄下的結構
1、build
這個目錄和外層的build目錄類似,主要也是包含了一些在編譯時自動生成的文件,不過它里面的內容會更多更雜,我們不需要過多關心。
2、libs
如果你的項目中使用到了第三方jar包,就需要把這些jar包都放在libs目錄下,放在這個目錄下的jar包都會被自動添加到構建路徑里去。
3、AndroidTest
此處是用來編寫Android Test測試用例的,可以對項目進行一些自動化測試。
4、java
毫無疑問,java目錄是放置我們所有java代碼的地方,展開該目錄,你將看到我們剛才創建的HelloWorldActivity文件就在里面。
5、res
這個目錄下的內容就有點多了。簡單點說,就是你在項目中使用到的所有圖片,布局,字符串等資源都要存放在這個目錄下。當然這個目錄下還有很多子目錄,圖片放在drawable目錄下,布局放在layout目錄下,字符串放在values目錄下,所以你不用擔心會把整個res目錄弄得亂糟糟的。
6、AndroidManifest.xml
這是你整個Android項目的配置文件,你在程序中定義的所以四大組件都需要在這個文件里注冊,另外還可以在這個文件中給應用程序添加權限聲明。這個文件以后會經常用到。
7、test
此處是用來編寫Unit Test測試用例的,是對項目進行自動化測試的另一種方式。
8、.gitignore
這個文件用于將app模塊內的指定的目錄或文件排除在版本控制之外,作用和外層的.gitignore文件類似。
9、app.iml
IntelliJ IDEA項目自動生成的文件,我們不需要關心或修改這個文件中的內容。
10、build.gradle
這是app模塊的gradle構建腳本,這個文件中會指定很多項目構建相關的配置。
11、proguard-rules.pro
這個文件用于指定項目代碼的混淆規則,當代碼開發完成后打成安裝包文件,如果不希望代碼被別人破解,通常會將代碼混淆,從而讓破解者難以閱讀。
三:res目錄結構
1、drawable文件夾:存放圖片
2、layout文件夾:存放布局文件
3、mipmap:存放應用圖標
4、values文件夾:存放字符串、樣式、顏色等配置的
定義一個應用程序名的字符串,有以下兩種方式來引用它
在代碼中通過R.string.app_name可以獲得該字符串的引用
在XML中通過@string/app_name可以過得該字符串的引用
四:詳解build.gradle文件
1.最外層目錄下的build.gradle文件
jcenter()其實是一個代碼托管倉庫,很多android開源項目都會選擇將代碼托管到jcenter上;dependencies閉包中使用classpath聲明了一個Gradle插件。
2.app目錄下的build.gradle文件
第一行應用了一個插件,一般有兩種值可選:com.android.application表示一個應用程序模塊;com.android.library表示一個庫模塊。一個可直接運行,一個作為代碼庫依附于別的應用程序模塊來運行。
Android打包
ADB指令練習
adb start-server =》開啟adb服務
adb uninstall + 包名 =》 卸載應用
adb install + apk(apk的絕對路徑) =》安裝應用
adb devices =》查看連接設備
adb push +文件(文件的絕對路徑) =》將文件從電腦上推到設備上
adb pull + 文件(設備上文件的絕對路徑) =》將設備上的文件拉到電腦上
adb shell =》可以進入到linux命令行 執行linux命令
電話撥號器案例
1、畫UI user interface 畫界面 layout->xml 布局文件
2、對著UI寫JAVA代碼
3、部署到設備上看效果
代碼片段
activity_main.xml
UI文件
MainActivity.java
入口文件
AndroidManifest.xml
配置電話權限
遇到的問題:
1、無法訪問電話權限,這個是由于你沒有手動開啟應用權限,需要手動去設置該應用的權限;在正式的app中安裝的時候就會提示授權。
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:x cmp=com.android.server.telecom/.components.UserCallActivity } from ProcessRecord{9c7d329 11919:com.example.phoneDial/u0a328} (pid=11919, uid=10328) with revoked permission android.permission.CALL_PHONE
2、撥號不成功,這個是由于系統設置不能撥打緊急號碼;可以嘗試撥打自己的手機號。
總結
以上是生活随笔為你收集整理的Android学习第三天 创建demo 电话拨号器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 随机数生成器Random类
- 下一篇: 【面向对象应用~.~】——项目开发团队分