學(xué)習(xí)android第一天
學(xué)習(xí)教程:《第一行代碼》 郭霖著
了解android
-
四大組件 活動(dòng) 服務(wù) 廣播接收器 內(nèi)容提供器 -
豐富的系統(tǒng)控件 -
SQLite數(shù)據(jù)庫 輕量級、運(yùn)算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫 -
強(qiáng)大的多媒體 超級酷,期待 -
地理位置定位 GPS LBS
分析android程序

-
.gradle和.idea 這兩個(gè)目錄下放置AS自動(dòng)生成的文件 -
app 放置項(xiàng)目中的代碼、資源等內(nèi)容 -
build 包含編譯時(shí)自動(dòng)生成的文件 -
gradle 這個(gè)目錄下包含了graddle wrapper的配置文件 -
.gitignore 這個(gè)文件時(shí)用來將指定的目錄或文件排除在版本控制之外的 -
build.gradle 這是項(xiàng)目全局的gradle構(gòu)建腳本 -
gradle.properties 這個(gè)文件是全局的gradle配置文件,這里配置的屬性將影響項(xiàng)目中所有g(shù)radle編譯腳本 -
gradlew和gradlew.bat 這兩個(gè)文件是用來在命令行界面執(zhí)行g(shù)radle命令的 -
HelloWorld.iml iml文件是所有IntelliJ IDEA 項(xiàng)目都自動(dòng)生成的一個(gè)文件,用于標(biāo)志這是一個(gè)Intelli IDEA項(xiàng)目 -
local.properties 這個(gè)文件用于指定本機(jī)中的Android SDK路徑 -
settings.gradle 這個(gè)文件用于指定項(xiàng)目中所有引入的模塊
app目錄詳解

-
build 這個(gè)目錄和外層的build目錄相似,包含編譯時(shí)自動(dòng)生成的文件 -
libs jar包放在這個(gè)目錄下 -
androidTest 用于編寫Android Test測試用例的,可以對項(xiàng)目進(jìn)行一些自動(dòng)化測試 -
Java 放置所以Java代碼的地方 -
res 在項(xiàng)目中使用到的所有圖片、布局、字符串等資源都存放在這個(gè)目錄下 這個(gè)目錄有很多子目錄,圖片—drawable、布局—layout、字符串—values -
AndroidManifest.xml 這是整個(gè)Android項(xiàng)目的配置文件,在程序中定義的所有四大組件都需要在這個(gè)文件中注冊 還可以在這個(gè)文件中給應(yīng)用程序添加權(quán)限聲明 -
test 用于編寫Unit Test測試用例,是對項(xiàng)目進(jìn)行自動(dòng)化測試的另一種方式 -
.gitignore 這個(gè)文件用于將app模塊內(nèi)的指定的目錄或文件排除在版本控制之外,作用和外層的.gitignore文件類似 -
app.iml IntelliJ IDEA項(xiàng)目自動(dòng)生成的文件 -
proguard-rules.pro 這個(gè)文件用于制定項(xiàng)目代碼的混淆規(guī)則
注冊活動(dòng)
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>
所有活動(dòng)都必須在AndroidManifest.xml中注冊 其中intent-filter中的兩行代碼很重要,表示了HelloWorldActivity是這個(gè)項(xiàng)目的主活動(dòng)
打開HelloWorldActivity代碼,如下:
public class HelloWorldActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.hello_world_layout);
}
}
注意:
- HelloWorldActivity是繼承自AppCompatActivity
- Activity是Android系統(tǒng)提供的一個(gè)基類,項(xiàng)目中所有活動(dòng)都必須繼承他它或者它的子類才能擁有活動(dòng)的特性
- AppCompatActivity是Activity的子類
- onCreate()方法是一個(gè)活動(dòng)被創(chuàng)建時(shí)必定要執(zhí)行的方法
Android程序設(shè)計(jì)講究 邏輯 和 視圖 分離 通常是 在布局文件中編寫界面,然后在活動(dòng)中引入進(jìn)來
布局文件定義在res/layout目錄下
項(xiàng)目中的資源
打開res目錄可以看到很多文件夾 drawable—圖片 mipmap—應(yīng)用圖標(biāo) values—字符串、樣式、顏色等配置 layout—布局文件
為了兼容多種設(shè)備,我們可能需要建立多個(gè)文件夾
那么如何使用這些資源呢
打開res/values/strings.xml文件
<resources>
<string name="app_name">HelloWorld</string>
</resources>
這里定義了一個(gè)應(yīng)用程序名的字符串,可以通過以下兩種方式引用
- 在代碼中通過R.string.app_name可以獲得該字符串的引用
- 在XML中通過@string/app_name可以獲得該字符串的引用
語法如上,可根據(jù)資源類型替換string/drawable/mipmap/layout
build.gradle文件
Android的日志工具 Log
可以使用Android中的日志工具類Log中的五個(gè)方法打印日志
- Log.v() 打印瑣碎、意義小的信息
- Log.d() 打印一些調(diào)試信息
- Log.i() 打印一些重要數(shù)據(jù)
- Log.w() 打印一些警告信息
- Log.e() 打印程序中的錯(cuò)誤信息
對應(yīng)級別:error>warn>info>debug>verbose
快捷輸入: 要打印一條debug級別的日志,只需輸入logd,然后按下Tab,即可自動(dòng)補(bǔ)全一條完整的打印語句,其他的以此類推
Log所有的打印方法都需要輸入兩個(gè)參數(shù),第一個(gè)參數(shù)是tag,一般傳入當(dāng)前的類名,主要用于對打印信息的過濾;第二個(gè)參數(shù)是msg,即想要打印的具體內(nèi)容。 每次都寫一遍tag顯然很麻煩,我們可以在onCreate()方法的外面輸入logt,然后按下Tab,就會(huì)以當(dāng)前的類名作為值自動(dòng)生成一個(gè)TAG常量
public class HelloWorldActivity extends AppCompatActivity{
private static final String TAG = "HelloWorldActivity";
……
}
總結(jié)
第一天嘗試記錄博客,雖然有些耗費(fèi)時(shí)間,但是這種方式確實(shí)可以加深我的印象和理解,同時(shí)我也更好的發(fā)現(xiàn)以前遺漏疏忽的地方,更加細(xì)致。
來源:https://www./content-4-854401.html
|