開始為第一個用戶界面添加一個小功能
(注:android stdio的版本為3.0.1英支,不同版本可能存在一定的差異,學習時建議在谷歌官網(wǎng)下載最新版)
給按鈕添加功能
- 打開 app > java > com.example.myfirstapp(你當初創(chuàng)建的文件名) > MainActivity 添加幾行代碼管嬉,現(xiàn)在暫時不了解這些代碼沒有關(guān)系,可以理解為給程序添加功能所必要的條件。
java版本
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
// Do something in response to button
}
}
KOTLIN(2017年開始支持kotlin)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
/** Called when the user taps the Send button */
fun sendMessage(view: View) {
// Do something in response to button
}
}
添加了這些代碼后藻懒,你可能會看到如圖所示的許多小錯誤簇爆,下面我們來修復(fù)他們
選擇錯誤的地方革娄,然后按下快捷鍵option+enter 會出現(xiàn)快捷修復(fù)選項,我們選擇import class
-
返回 activity_main.xml文件冕碟,我們添加button和這個sendmessage之間的關(guān)聯(lián)拦惋。
選擇button,然后在屬性頁面中搜索oncilck(意思是當你觸碰這個按鈕時會觸發(fā)的功能)
我們選擇sendmessage安寺,也就是我們剛剛在代碼中添加的那一行功能厕妖。
現(xiàn)在只要我們點擊這個按鈕,系統(tǒng)就會響應(yīng)sendmessage這一幾行代碼挑庶。
建立一個intend
intend通常用于兩個活動之間提供運行時綁定的對象
- 在MainActivity言秸,添加EXTRA_MESSAGE和 sendMessage代碼(目前只提供java)
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
添加完后软能,你的代碼應(yīng)該是這個樣式的
(仍有部分錯誤:DisplayMessageActivity)
不過沒有關(guān)系,現(xiàn)在我們就來解決它
在project窗口中举畸,右鍵單擊app 文件夾選擇New > Activity > Empty Activity.
更改這個新的activity的名字為displaymessageactivity查排, 點finish
添加文字反饋
我們創(chuàng)建好了這個新的空白的activity后,打開app > res > layout > activity_display_message.xml.
像之前學過的一樣抄沮,這次我們添加一個textview(還記得第一節(jié)課的helloworld嗎跋核?),唯一的不同是記得打開圖上紅框的按鈕
可以在屬性面板給他添加你喜歡顏色以及大小
顯示文字
打開DisplayMessageActivity文件叛买,添加如下代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Get the Intent that started this activity and extract the string
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Capture the layout's TextView and set the string as its text
TextView textView = findViewById(R.id.textView);
textView.setText(message);
}
如果代碼正確砂代,應(yīng)該顯示為下圖(有不對的地方請用option+enter自動修復(fù))
添加導航欄
部分安卓手機是沒有返回按鈕的,所以我們要給他添加一個導航欄
打開app > manifests > AndroidManifest.xml
添加如下代碼
<activity android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity">
<!-- The meta-data tag is required if you support API level 15 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
好了率挣,到這里刻伊,你的第一個有著完整功能的app就建好了,插上你的安卓手機椒功,安裝你親手寫的app試試吧捶箱,他的效果應(yīng)該就像下圖一樣