Android studio創(chuàng)建第一個app
本文實例為大家介紹了Android studio創(chuàng)建第一個app的詳細步驟,供大家參考,具體內(nèi)容如下
1.創(chuàng)建HelloWorld項目
任何編程語言寫出的第一個程序毫無疑問都會是Hello World,這已經(jīng)是自20世紀70年代一直流傳下來的傳統(tǒng),在編程界已成為永恒的經(jīng)典,那么今天就來使用Android studio創(chuàng)建第一個app(Hello World)。
首先運行Android studio,在彈出的快捷窗口中新建一個項目。
點擊上面截圖中的“Star a new Android Studio project”,然后會彈出“Create New Project”對話框。其中Application name代表應(yīng)用名稱,此應(yīng)用安裝帶手機后會在手機上顯示該名稱。在這里我們填入Hello World(在以后的項目名通常不加空格)。如下圖所示
接下來直接點擊“Next”,會彈出“Add a Activity to Mobile”對話窗口,在這里我們選擇“ Empty Activity”,至于其他的 Activity(后面稱為活動)以后會介紹。
點擊next后填入Activity Name就行,在這里Activity Name就命名為HelloWorld Activity。
點擊Finish,一個Android項目就創(chuàng)建完成了。
2.運行HelloWorld項目
2.1使用 Android Studio自帶模擬器運行。
2.2使用第三方模擬器 。
在這里我是用的是genymotion模擬器,個人覺得非常好用。同樣也能夠通過插件跟Android Studio關(guān)聯(lián)在一起。
至于怎么下載genymotion模擬器并且跟Android Studio關(guān)聯(lián)在一起,這些都是平臺的 搭建,作為一個開發(fā)者首先就應(yīng)該學(xué)會怎樣磨好自己的工具,中國古話工欲善其事必先利其器,咳咳,扯遠了!但是真的要自己動手搭建平臺。
在genymotion里面,我已經(jīng)下載好了 一款模擬器,Android 4.1版本的Samsung Note 2。
首先,在上面截圖中點擊“star”將其打開,樣子就是這樣的 (桌面背景我換了下)。
然后,在Android Studio中點擊“Run”,在彈出的窗口中選擇剛剛打開的模擬器。
點擊“OK”一切都好了,等待一下(根據(jù)電腦速度)就會在模擬器中看到剛剛創(chuàng)建的Hello World項目,并且Android Studio已經(jīng)幫我們將其他的代碼都創(chuàng)建好了。
3、分析下創(chuàng)建的項目目錄。
3.1、manifest
這里面其實是AndroidManifest.xml文件,這是整個Android項目的配置文件,在程序中定義的四大組件(Activity–活動,Service–服務(wù),BroadcastReceiver–廣播接收器,Content Provider–內(nèi)容提供器)。下面代碼就是AndroidManifest.xml。
<?xml version="1.0" encoding="utf-8"?> <manifest package="com.example.chencong.helloworld" xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".HelloWorldActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
在手機桌面上的應(yīng)用程序,用戶點擊后會啟動程序,并且看到的第一個活動(頁面)是程序的主活動,主活動需要在AndroidManifest.xml中進行聲明。
<activity android:name=".HelloWorldActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
如果該活動(Activity)不是主活動,那么在AndroidManifest.xml的配置應(yīng)該省去intent-filter標簽中的內(nèi)容。因為里面的action是聲明這個Activity是主活動。
3.2、java
這里所放的是java代碼的地方,它的含義和 在eclipse中java項目中src是一樣的 ,打開后會發(fā)現(xiàn)剛剛我們創(chuàng)建的HelloWorldActivity文件就在里面。
package com.example.chencong.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class HelloWorldActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello_world); } }
在這里會插入點Activity的生命周期,每個活動都是從onCreate( )方法開始的。
了解更過Activity生命周期的知識也可以看看這篇博客。Activity生命周期
首先我們需要了解的是,項目中的任何活動都應(yīng)該重寫Activity的onCreate( )方法(高版本為AppCompatActivity).代碼如下:
public class HelloWorldActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }
可以看到,onCreate( )方法很簡單,就是調(diào)用父類的onCreate( )方法,當然這只是默認的,后面我們可以在里面加入 自己的邏輯。
例如:時間點擊事件。(使用顯示Intent)
public class FirstActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); /*不在活動中顯示標題欄,一定要在setContentView()之前執(zhí)行*/ setContentView(R.layout.first_layout); Button button1=(Button)findViewById(R.id.button_1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent); } }); }
但是我們發(fā)現(xiàn)里面其實還有一行代碼
setContentView(R.layout.activity_hello_world);
在代碼中引用布局文件,調(diào)用R.layout.activity_hello_world就可以看到activity_hello_world.xml的id,然后將值傳給setContentView( )方法即可。
3.3、res
這個目錄下的文件就有點多了,簡單點說就是在你的項目中使用到的圖片,布局,字符串等資源都要存放在這個目錄下。當然在這個目錄下還有很多子目錄。
3.3.1、mipmap
僅僅用于存放應(yīng)用圖標,而且還是多個相同名稱的,只是分辨率不同,系統(tǒng)可以根據(jù)分辨率不同進行優(yōu)化使用不同的分辨率的
圖標。
3.3.2、drawable
其他的圖標資源
3.3.3、values
字符串
在上面創(chuàng)建的項目中,運行時顯示Hello World,其字符串就是存放在string.xml文件當中
<resources>
<string name="app_name">Hello World</string>
</resources>
3.3.4、layout
布局文件
下面是activity_hello_world.xml的代碼:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.chencong.helloworld.HelloWorldActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> </RelativeLayout>
這僅僅是一個布局文件,但是上面的TextView標簽中的android:text=”Hello World “并不是程序運行時顯示的字符串,真正的在string.xml文件當中,在上面values中已經(jīng)講解了。
以上就是本文的全部內(nèi)容,希望對大家使用Android studio創(chuàng)建你的第一個項目Hello World有所幫助。
相關(guān)文章
Android如何動態(tài)調(diào)整應(yīng)用字體大小詳解
這篇文章主要給大家介紹了關(guān)于Android如何動態(tài)調(diào)整應(yīng)用字體大小的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Android實現(xiàn)ListView分頁自動加載數(shù)據(jù)的方法
這篇文章主要介紹了Android實現(xiàn)ListView分頁自動加載數(shù)據(jù)的方法,涉及Android生成listview列表的相關(guān)技巧,需要的朋友可以參考下2015-12-12Android判斷是Wifi還是4G網(wǎng)絡(luò)代碼
這篇文章主要為大家詳細介紹了Android判斷網(wǎng)絡(luò)類型的方法,判斷是Wifi還是4G網(wǎng)絡(luò)代碼分享,感興趣的小伙伴們可以參考一下2016-07-07Android編程之Activity中onDestroy()調(diào)用分析
這篇文章主要介紹了Android編程之Activity中onDestroy()調(diào)用方法,針對onDestroy引起的內(nèi)存泄露及解決方法進行了分析,并給出了解決方案,需要的朋友可以參考下2015-12-12android-使用環(huán)信SDK開發(fā)即時通信功能(附源碼下載)
本篇文章主要介紹了android-使用環(huán)信SDK開發(fā)即時通信功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。2016-12-12Android中ACTION_CANCEL的觸發(fā)機制與滑出子view的情況
這篇文章主要介紹了Android中ACTION_CANCEL的觸發(fā)機制與滑出子view的情況,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09