day_01 解析简单的程序
- 就以上一節FirstProgram為例,請看下圖:
?
01、AndroidManifest.xml是整個項目的配置文件,非常重要,每個應用程序里必須存在的xml文件,且名字不可以改變,四大組件的使用必須在此處聲明注冊才可使用,而且還可以在這里聲明權限,例如打電話的權限等等。
02、MainActivity是一個活動,想使用須得在AndroidManifest.xml里注冊才可以,如上圖里的代碼,它跟JAVA里的類使用方法大同小異,使用前需要繼承Activity(AppCompatActivity是它的子類),它倆有什么區別呢?話不多說,上圖來解釋:
?
(1)AppCompatActivity
?
?
(2)Activity
?
區別是不是顯而易見?你們可能說沒太大區別嘛,一開始我也不注意這個,后來學到菜單那里,發現了不對勁,如果是第一種情況,菜單選項就會出現在標題的旁邊有豎著的三個點,如果繼承了Activity,你得點擊手機上的返回鍵附近的菜單選項才會出現菜單。這里不多說了,等著到菜單menu那里才具體講解。
02、activity_main.xml在layout文件夾下面,它里面包含著布局,就是顯示出Hello Wrold的布局。
我認為初學者最應該知道的先是這些,等以后用到其他的時候在一一講解。
- 解析這三個里面的代碼。
MainActivity
1 public class MainActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 } 8 }
?
?
MainActivity要繼承AppCompatActivity(活動),然后必須重寫onCreate方法,onCreate方法里面要用setContentView()引入布局,R.layout.activity_main中,R代表當前所在的包,layout代表layout文件夾,activity_main代表layout文件夾下的布局
activity_main.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout 3 android:id="@+id/activity_main" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 xmlns:android="http://schemas.android.com/apk/res/android" 7 > 8 9 <TextView 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content" 12 android:text="Hello World!"/> 13 </RelativeLayout>
?
?
?
RelativeLayout是一個相對布局,暫且不管它,真正顯示Hello World的是布局內的TextView,這個相當于JAVA里swing里的JLabel,添加后會顯示出一行字,是通過android:text="Hello World!" 賦值的。
AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.zywwgx.firstprogram"> 4 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:supportsRtl="true" 10 android:theme="@style/AppTheme"> 11 <activity android:name=".MainActivity"> 12 <intent-filter> 13 <action android:name="android.intent.action.MAIN"/> 14 15 <category android:name="android.intent.category.LAUNCHER"/> 16 </intent-filter> 17 </activity> 18 </application> 19 20 </manifest>
?
?
?
這個便是大名鼎鼎的注冊活動的地方,
?
11 <activity android:name=".MainActivity"> 12 <intent-filter> 13 <action android:name="android.intent.action.MAIN"/> 14 15 <category android:name="android.intent.category.LAUNCHER"/> 16 </intent-filter> 17 </activity>這是注冊的MainActivity。
- 這次咱們創建一個完全空的程序,從頭開始自己動手寫。
(2)不同的是,這次我們選擇第一個,Add No Activity(沒有活動,上次那個是Empty Activity 是自動幫你添加了一個活動),為了加深理解,這次我們自己動手。
(3)創建完后,有沒有發現都是空的?我故意點開了注冊活動的xml,里面也沒有注冊過活動。
(4)那我們先創建活動,右擊(如圖),點擊new,再點擊Java Class ,創建出一個新的類,名字可以隨便起。
(5)繼承AppCompatActivity
(6)重寫onCreate方法
?
(7)最后一步,用setContentView();方法引入布局。有報錯先不用管,因為還沒有填寫R.layout.****。(8)在此之前,要引入哪個布局呢?這就應該在res下創建一個layout文件夾。
(9)在layout文件夾下創建activity_main。
(10)按照個人習慣起名字
(11)這是預覽效果圖,點擊Text,切換到代碼編輯模式
(12)在LinearLayout線性布局里添加TextView,text輸出你想輸出的文字,width和height代表寬高,這里選擇wrap_content,意思是隨著字的多少大小決定寬高。
(13)哇,終于完成了布局,那么現在可以在活動里添加布局了。
(14)最后一步,是最重要的一步,打開AndroidManifest.xml,注冊活動,先記住這么寫,以后在介紹含義。
(end)好了,可以運行了。
是不是有點小激動?別急更好玩的還在后面。
自學的時間不長,專業術語也不專業,可能會有少許錯誤,認真接受批評(*^o^*)
?
轉載于:https://www.cnblogs.com/ywyh2018/p/9430992.html
總結
以上是生活随笔為你收集整理的day_01 解析简单的程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Echarts自定义折线图例,增加选中功
- 下一篇: BZOJ 1878: [SDOI2009