Android studio創(chuàng)建第一個(gè)app
本文實(shí)例為大家介紹了Android studio創(chuàng)建第一個(gè)app的詳細(xì)步驟,供大家參考,具體內(nèi)容如下
1.創(chuàng)建HelloWorld項(xiàng)目
任何編程語言寫出的第一個(gè)程序毫無疑問都會(huì)是Hello World,這已經(jīng)是自20世紀(jì)70年代一直流傳下來的傳統(tǒng),在編程界已成為永恒的經(jīng)典,那么今天就來使用Android studio創(chuàng)建第一個(gè)app(Hello World)。
首先運(yùn)行Android studio,在彈出的快捷窗口中新建一個(gè)項(xiàng)目。

點(diǎn)擊上面截圖中的“Star a new Android Studio project”,然后會(huì)彈出“Create New Project”對話框。其中Application name代表應(yīng)用名稱,此應(yīng)用安裝帶手機(jī)后會(huì)在手機(jī)上顯示該名稱。在這里我們填入Hello World(在以后的項(xiàng)目名通常不加空格)。如下圖所示

接下來直接點(diǎn)擊“Next”,會(huì)彈出“Add a Activity to Mobile”對話窗口,在這里我們選擇“ Empty Activity”,至于其他的 Activity(后面稱為活動(dòng))以后會(huì)介紹。

點(diǎn)擊next后填入Activity Name就行,在這里Activity Name就命名為HelloWorld Activity。

點(diǎn)擊Finish,一個(gè)Android項(xiàng)目就創(chuàng)建完成了。
2.運(yùn)行HelloWorld項(xiàng)目
2.1使用 Android Studio自帶模擬器運(yùn)行。

2.2使用第三方模擬器 。
在這里我是用的是genymotion模擬器,個(gè)人覺得非常好用。同樣也能夠通過插件跟Android Studio關(guān)聯(lián)在一起。
至于怎么下載genymotion模擬器并且跟Android Studio關(guān)聯(lián)在一起,這些都是平臺(tái)的 搭建,作為一個(gè)開發(fā)者首先就應(yīng)該學(xué)會(huì)怎樣磨好自己的工具,中國古話工欲善其事必先利其器,咳咳,扯遠(yuǎn)了!但是真的要自己動(dòng)手搭建平臺(tái)。
在genymotion里面,我已經(jīng)下載好了 一款模擬器,Android 4.1版本的Samsung Note 2。
首先,在上面截圖中點(diǎn)擊“star”將其打開,樣子就是這樣的 (桌面背景我換了下)。

然后,在Android Studio中點(diǎn)擊“Run”
,在彈出的窗口中選擇剛剛打開的模擬器。
點(diǎn)擊“OK”一切都好了,等待一下(根據(jù)電腦速度)就會(huì)在模擬器中看到剛剛創(chuàng)建的Hello World項(xiàng)目,并且Android Studio已經(jīng)幫我們將其他的代碼都創(chuàng)建好了。

3、分析下創(chuàng)建的項(xiàng)目目錄。

3.1、manifest
這里面其實(shí)是AndroidManifest.xml文件,這是整個(gè)Android項(xiàng)目的配置文件,在程序中定義的四大組件(Activity–活動(dòng),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>
在手機(jī)桌面上的應(yīng)用程序,用戶點(diǎn)擊后會(huì)啟動(dòng)程序,并且看到的第一個(gè)活動(dòng)(頁面)是程序的主活動(dòng),主活動(dòng)需要在AndroidManifest.xml中進(jìn)行聲明。
<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)(Activity)不是主活動(dòng),那么在AndroidManifest.xml的配置應(yīng)該省去intent-filter標(biāo)簽中的內(nèi)容。因?yàn)槔锩娴腶ction是聲明這個(gè)Activity是主活動(dòng)。
3.2、java
這里所放的是java代碼的地方,它的含義和 在eclipse中java項(xiàng)目中src是一樣的 ,打開后會(huì)發(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);
}
}
在這里會(huì)插入點(diǎn)Activity的生命周期,每個(gè)活動(dòng)都是從onCreate( )方法開始的。

了解更過Activity生命周期的知識(shí)也可以看看這篇博客。Activity生命周期
首先我們需要了解的是,項(xiàng)目中的任何活動(dòng)都應(yīng)該重寫Activity的onCreate( )方法(高版本為AppCompatActivity).代碼如下:
public class HelloWorldActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
可以看到,onCreate( )方法很簡單,就是調(diào)用父類的onCreate( )方法,當(dāng)然這只是默認(rèn)的,后面我們可以在里面加入 自己的邏輯。
例如:時(shí)間點(diǎn)擊事件。(使用顯示Intent)
public class FirstActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/*不在活動(dòng)中顯示標(biāo)題欄,一定要在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)里面其實(shí)還有一行代碼
setContentView(R.layout.activity_hello_world);
在代碼中引用布局文件,調(diào)用R.layout.activity_hello_world就可以看到activity_hello_world.xml的id,然后將值傳給setContentView( )方法即可。
3.3、res
這個(gè)目錄下的文件就有點(diǎn)多了,簡單點(diǎn)說就是在你的項(xiàng)目中使用到的圖片,布局,字符串等資源都要存放在這個(gè)目錄下。當(dāng)然在這個(gè)目錄下還有很多子目錄。
3.3.1、mipmap
僅僅用于存放應(yīng)用圖標(biāo),而且還是多個(gè)相同名稱的,只是分辨率不同,系統(tǒng)可以根據(jù)分辨率不同進(jìn)行優(yōu)化使用不同的分辨率的
圖標(biāo)。

3.3.2、drawable
其他的圖標(biāo)資源
3.3.3、values
字符串

在上面創(chuàng)建的項(xiàng)目中,運(yùn)行時(shí)顯示Hello World,其字符串就是存放在string.xml文件當(dāng)中
<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>
這僅僅是一個(gè)布局文件,但是上面的TextView標(biāo)簽中的android:text=”Hello World “并不是程序運(yùn)行時(shí)顯示的字符串,真正的在string.xml文件當(dāng)中,在上面values中已經(jīng)講解了。
以上就是本文的全部內(nèi)容,希望對大家使用Android studio創(chuàng)建你的第一個(gè)項(xiàng)目Hello World有所幫助。
相關(guān)文章
Android如何動(dòng)態(tài)調(diào)整應(yīng)用字體大小詳解
這篇文章主要給大家介紹了關(guān)于Android如何動(dòng)態(tài)調(diào)整應(yīng)用字體大小的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Android實(shí)現(xiàn)ListView分頁自動(dòng)加載數(shù)據(jù)的方法
這篇文章主要介紹了Android實(shí)現(xiàn)ListView分頁自動(dòng)加載數(shù)據(jù)的方法,涉及Android生成listview列表的相關(guān)技巧,需要的朋友可以參考下2015-12-12
Android判斷是Wifi還是4G網(wǎng)絡(luò)代碼
這篇文章主要為大家詳細(xì)介紹了Android判斷網(wǎng)絡(luò)類型的方法,判斷是Wifi還是4G網(wǎng)絡(luò)代碼分享,感興趣的小伙伴們可以參考一下2016-07-07
Android編程之Activity中onDestroy()調(diào)用分析
這篇文章主要介紹了Android編程之Activity中onDestroy()調(diào)用方法,針對onDestroy引起的內(nèi)存泄露及解決方法進(jìn)行了分析,并給出了解決方案,需要的朋友可以參考下2015-12-12
Android開發(fā)實(shí)現(xiàn)圖片圓角的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)圖片圓角的方法,涉及Android針對圖形圖像的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10
android-使用環(huán)信SDK開發(fā)即時(shí)通信功能(附源碼下載)
本篇文章主要介紹了android-使用環(huán)信SDK開發(fā)即時(shí)通信功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。2016-12-12
Android中ACTION_CANCEL的觸發(fā)機(jī)制與滑出子view的情況
這篇文章主要介紹了Android中ACTION_CANCEL的觸發(fā)機(jī)制與滑出子view的情況,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

