編輯:關於android開發
依照郭霖老師的《第一行代碼Android》,今天我要來學習Activity,首先來初步了解Activity,基本上就是照葫蘆畫瓢的模式,有點回到當初敲java的hello world的模式。
順便介紹一下我為什麼要學習安卓,至於說自己能夠學習到什麼程度,這完全看項目的需要以及個人的興趣,但是我對自己持懷疑態度。項目未來要由pc端轉向手機端,雖然有專業的安卓工程師,但作為創業團隊,我必須要對安卓有所了解,況且我還“精通”(姑且這麼說來著,王二的臉皮本來就厚)java,所以之前就研究了安卓環境的部署,花了100多人民幣注冊了紅杏出牆(不料不到兩周的時間,突然被封殺了,這種付費模式真不敢恭維,所以在國內免費來得更加讓人心安理得些),寫了一篇安卓版的hello world,之後就忙其他的事情,時隔多日,再次學習安卓,只想一步一個腳印兒。
至於說id為什麼是”@+id”作為定義方式,不清楚,約定俗成的東西,先記住。 match_parent比較好理解,匹配父容器的寬度 wrap_content自動換行 text=”aaa”,不知道為什麼會有黃點,可能是要定義到string裡,先記錄疑問。 另外還有一點不知道為什麼:新建一個Android 布局xml後,雙擊怎麼就是打不開,刪掉項目,重啟ATD幾次後方可打開。
package com.mwq.activity;
import android.app.Activity;
import android.os.Bundle;
public class FirstActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}
被R.layout.first_layout
糾結了好一會,在引入R包的時候,切記是本項目的包(也就是你創建項目app時指定的package),而非android包下的R,這個R對應也有自己的layout屬性,但是調不出來first_layout(也就是上文中創建的layout),這有點坑。不過書中也提到了,但王二我就是容易眼瞎,還是忽略掉了友情提示。
感覺label很多余,不過驗證後,發現還是有區別的,這個可能書中某處已有介紹,我沒有注意。 對於ATD來說,提示確實不夠靈活,android.intent.action.MAIN
對於這樣的提示應該輸入一個main就可以定位到,但是完全沒辦法做到,夠low的。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.first_layout);
Button button = (Button) findViewById(R.id.button_1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "王二表現不錯", Toast.LENGTH_SHORT).show();
}
});
}
requestWindowFeature(Window.FEATURE_NO_TITLE)
設置後,運行虛擬機過程中有延遲,先顯示後不顯示,以後不知道是否有新用法。 Toast消息提醒,感覺挺不錯的,makeText方法的第一個參數為context,從api上來看就是application和activity,第三個參數為顯示周期,長或者短,但不知道默認的長短是多少時間,看代碼,好像是可以指定。
/**
* Show the view or text notification for a short period of time. This time
* could be user-definable. This is the default.
* @see #setDuration
*/
public static final int LENGTH_SHORT = 0;
先新建一個menu.xml
重寫onCreateOptionsMenu方法
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
getMenuInflater方法依照書中所說是獲得menu的Inflater對象,再調用inflate方法可以顯示對應的菜單,我反正還不太懂,只是理解會用。 return true和false控制菜單顯示和不顯示,確實這樣子。
彈出消息
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item1:
Toast.makeText(this, "add", Toast.LENGTH_LONG).show();
break;
case R.id.item2:
Toast.makeText(this, "update", Toast.LENGTH_LONG).show();
break;
default:
break;
}
return true;
}
先了解到這裡吧,項目中來問題了。整體來看,安卓的activity還是蠻有意思的。
Android--音樂播放器 1、什麼是Open Core? Open Core是 Android 多媒體框架的核心,所有 Android平台的音頻、視頻的采用以及播
阿裡巴巴開源Weex 開發教程,開源weexWeex 是什麼 Weex是阿裡發布的一款用WEB方式開發原生app的開源產品 Weex能夠完美兼顧性能與動態性,讓移動開發者
圓形頭像CircleImageView和Cardview使用,circleimageview效果: 圓形頭像在我們的日常使用的
Android 應用程序集成Google 登錄,androidgoogle谷歌登錄API: https://developers.google.com/ide