學習教程:《第一行代碼》 郭霖著
四大組件
活動 服務 廣播接收器 內(nèi)容提供器
豐富的系統(tǒng)控件
SQLite數(shù)據(jù)庫
輕量級、運算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫
強大的多媒體
超級酷,期待
地理位置定位
GPS LBS
.gradle和.idea
這兩個目錄下放置AS自動生成的文件
app
放置項目中的代碼、資源等內(nèi)容
build
包含編譯時自動生成的文件
gradle
這個目錄下包含了graddle wrapper的配置文件
.gitignore
這個文件時用來將指定的目錄或文件排除在版本控制之外的
build.gradle
這是項目全局的gradle構(gòu)建腳本
gradle.properties
這個文件是全局的gradle配置文件,這里配置的屬性將影響項目中所有g(shù)radle編譯腳本
gradlew和gradlew.bat
這兩個文件是用來在命令行界面執(zhí)行g(shù)radle命令的
HelloWorld.iml
iml文件是所有IntelliJ IDEA 項目都自動生成的一個文件,用于標志這是一個Intelli IDEA項目
local.properties
這個文件用于指定本機中的Android SDK路徑
settings.gradle
這個文件用于指定項目中所有引入的模塊
build
這個目錄和外層的build目錄相似,包含編譯時自動生成的文件
libs
jar包放在這個目錄下
androidTest
用于編寫Android Test測試用例的,可以對項目進行一些自動化測試
Java
放置所以Java代碼的地方
res
在項目中使用到的所有圖片、布局、字符串等資源都存放在這個目錄下
這個目錄有很多子目錄,圖片—drawable、布局—layout、字符串—values
AndroidManifest.xml
這是整個Android項目的配置文件,在程序中定義的所有四大組件都需要在這個文件中注冊
還可以在這個文件中給應用程序添加權(quán)限聲明
test
用于編寫Unit Test測試用例,是對項目進行自動化測試的另一種方式
.gitignore
這個文件用于將app模塊內(nèi)的指定的目錄或文件排除在版本控制之外,作用和外層的.gitignore文件類似
app.iml
IntelliJ IDEA項目自動生成的文件
proguard-rules.pro
這個文件用于制定項目代碼的混淆規(guī)則
Android-Manifest.xml文件中有如下代碼
<activity android:name=".HelloWorldActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
所有活動都必須在AndroidManifest.xml中注冊
其中intent-filter中的兩行代碼很重要,表示了HelloWorldActivity是這個項目的主活動
打開HelloWorldActivity代碼,如下:
public class HelloWorldActivity extends AppCompatActivity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.hello_world_layout);}}
注意:
Android程序設計講究 邏輯 和 視圖 分離
通常是 在布局文件中編寫界面,然后在活動中引入進來
布局文件定義在res/layout目錄下
打開res目錄可以看到很多文件夾
drawable—圖片
mipmap—應用圖標
values—字符串、樣式、顏色等配置
layout—布局文件
為了兼容多種設備,我們可能需要建立多個文件夾
那么如何使用這些資源呢
打開res/values/strings.xml文件
<resources><string name="app_name">HelloWorld</string></resources>
這里定義了一個應用程序名的字符串,可以通過以下兩種方式引用
語法如上,可根據(jù)資源類型替換string/drawable/mipmap/layout
可以使用Android中的日志工具類Log中的五個方法打印日志
快捷輸入:
要打印一條debug級別的日志,只需輸入logd,然后按下Tab,即可自動補全一條完整的打印語句,其他的以此類推
Log所有的打印方法都需要輸入兩個參數(shù),第一個參數(shù)是tag,一般傳入當前的類名,主要用于對打印信息的過濾;第二個參數(shù)是msg,即想要打印的具體內(nèi)容。
每次都寫一遍tag顯然很麻煩,我們可以在onCreate()方法的外面輸入logt,然后按下Tab,就會以當前的類名作為值自動生成一個TAG常量
public class HelloWorldActivity extends AppCompatActivity{private static final String TAG = "HelloWorldActivity";……}
第一天嘗試記錄博客,雖然有些耗費時間,但是這種方式確實可以加深我的印象和理解,同時我也更好的發(fā)現(xiàn)以前遺漏疏忽的地方,更加細致。
來源:https://www.icode9.com/content-4-854401.html