編輯:關於Android編程
1.創建HelloWorld項目
任何編程語言寫出的第一個程序毫無疑問都會是Hello World,這已經是自20世紀70年代一直流傳下來的傳統,在編程界已成為永恆的經典,那麼今天就來使用Android studio創建第一個app(Hello World)。
首先運行Android studio,在彈出的快捷窗口中新建一個項目。
點擊上面截圖中的“Star a new Android Studio project”,然後會彈出“Create New Project”對話框。其中Application name代表應用名稱,此應用安裝帶手機後會在手機上顯示該名稱。在這裡我們填入Hello World(在以後的項目名通常不加空格)。如下圖所示
接下來直接點擊“Next”,會彈出“Add a Activity to Mobile”對話窗口,在這裡我們選擇“ Empty Activity”,至於其他的 Activity(後面稱為活動)以後會介紹。
點擊next後填入Activity Name就行,在這裡Activity Name就命名為HelloWorld Activity。
點擊Finish,一個Android項目就創建完成了。
2.運行HelloWorld項目
2.1使用 Android Studio自帶模擬器運行。
2.2使用第三方模擬器 。
在這裡我是用的是genymotion模擬器,個人覺得非常好用。同樣也能夠通過插件跟Android Studio關聯在一起。
至於怎麼下載genymotion模擬器並且跟Android Studio關聯在一起,這些都是平台的 搭建,作為一個開發者首先就應該學會怎樣磨好自己的工具,中國古話工欲善其事必先利其器,咳咳,扯遠了!但是真的要自己動手搭建平台。
在genymotion裡面,我已經下載好了 一款模擬器,Android 4.1版本的Samsung Note 2。
首先,在上面截圖中點擊“star”將其打開,樣子就是這樣的 (桌面背景我換了下)。
然後,在Android Studio中點擊“Run”,在彈出的窗口中選擇剛剛打開的模擬器。
點擊“OK”一切都好了,等待一下(根據電腦速度)就會在模擬器中看到剛剛創建的Hello World項目,並且Android Studio已經幫我們將其他的代碼都創建好了。
2、分析下創建的項目目錄。
2.1、manifest
這裡面其實是AndroidManifest.xml文件,這是整個Android項目的配置文件,在程序中定義的四大組件(Activity–活動,Service–服務,BroadcastReceiver–廣播接收器,Content Provider–內容提供器)。下面代碼就是AndroidManifest.xml。
在手機桌面上的應用程序,用戶點擊後會啟動程序,並且看到的第一個活動(頁面)是程序的主活動,主活動需要在AndroidManifest.xml中進行聲明。
如果該活動(Activity)不是主活動,那麼在AndroidManifest.xml的配置應該省去intent-filter標簽中的內容。因為裡面的action是聲明這個Activity是主活動。
2.2、java
這裡所放的是java代碼的地方,它的含義和 在eclipse中java項目中src是一樣的 ,打開後會發現剛剛我們創建的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的onCreate( )方法(高版本為AppCompatActivity).代碼如下:
public class HelloWorldActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
可以看到,onCreate( )方法很簡單,就是調用父類的onCreate( )方法,當然這只是默認的,後面我們可以在裡面加入 自己的邏輯。
例如:時間點擊事件。(使用顯示Intent)
public class FirstActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/*不在活動中顯示標題欄,一定要在setContentView()之前執行*/
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);
}
});
}
但是我們發現裡面其實還有一行代碼
setContentView(R.layout.activity_hello_world);
在代碼中引用布局文件,調用R.layout.activity_hello_world就可以看到activity_hello_world.xml的id,然後將值傳給setContentView( )方法即可。
2.3、res
這個目錄下的文件就有點多了,簡單點說就是在你的項目中使用到的圖片,布局,字符串等資源都要存放在這個目錄下。當然在這個目錄下還有很多子目錄。
2.3.1、mipmap
僅僅用於存放應用圖標,而且還是多個相同名稱的,只是分辨率不同,系統可以根據分辨率不同進行優化使用不同的分辨率的圖標。
2.3.2、drawable
其他的圖標資源
2.3.3、values
字符串
在上面創建的項目中,運行時顯示Hello World,其字符串就是存放在string.xml文件當中
Hello World
2.3.4、layout
布局文件
下面是activity_hello_world.xml的代碼:
這僅僅是一個布局文件,但是上面的TextView標簽中的android:text=”Hello World “並不是程序運行時顯示的字符串,真正的在string.xml文件當中,在上面values中已經講解了。
我們知道iOS上的應用,狀態欄的顏色總能與應用標題欄顏色保持一致,用戶體驗很不錯,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之後,谷歌允許開發者自定
有時候,我們在做開發的時候,需要讓用戶更直觀的看到數據變化,而又不應該給其提供一堆表格顯示,有時候就需要用到,類似Excel中的圖表,可是Google官方並沒有提供自帶的
昨天有人問我Android怎麼連接mysql數據庫,和對數據庫的操作呀,我想把,給他說說json通信,可是他並不知道怎麼弄,哎算了吧,直接叫他用ksoap吧,給他說了大半
LayoutInflater在看inflate()方法時,我們隨便看下如何獲得 LayoutInflater ,獲得LayoutInflater 實例有三種方式Layou