近期由于項(xiàng)目中需要使用安卓程序來(lái)做上位機(jī),所以惡補(bǔ)一下安卓和java。
首先,安卓開(kāi)發(fā)需要java語(yǔ)法,并且在一個(gè)叫eclipse的編譯環(huán)境下進(jìn)行。還得會(huì)xml。貌似很復(fù)雜的樣子。
xml負(fù)責(zé)前臺(tái)的顯示的一些東西,后面的執(zhí)行程序,通過(guò)java來(lái)實(shí)現(xiàn)。
import 從特定包引入類
package 聲明類所在的包
這兩個(gè)東西類似c語(yǔ)言里面的include,只不過(guò)一個(gè)是放類,一個(gè)是放包,具體如何放,目前尚不清楚。
public 公有的意思
private 私有的意思
extends 類的繼承 啥意思,具體不清楚,不過(guò)貌似可以在原來(lái)的功能上添加其他功能,或者覆蓋原有功能。
static 靜態(tài) 估計(jì)類似與c里的靜態(tài)變量,只能在類中去讀取,不能在類以外的程序中讀取賦值。
final final類不能被繼承,final方法不能被覆蓋,final變量只能被賦值一次,final參數(shù)可以讀取,但不可以被改變。怎么有點(diǎn)像c里面的const呢?
onCreate 來(lái)“表示一個(gè)窗口正在生成”。其不產(chǎn)生窗口,只是在窗口顯示前設(shè)置窗口的屬性如風(fēng)格、位置等。
super 超類,被繼承的類稱為超類,繼承的類稱為子類
super.onCreate(savedInstanceState)就是調(diào)用父類的onCreate構(gòu)造函數(shù),savedInstanceState是保存當(dāng)前Activity的狀態(tài)信息。
setContentView(R.layout.main);//里面R.layout.main是你的布局(一個(gè)xml文件),也就是要在你界面上顯示的view,也就是說(shuō)你想要在手機(jī)上顯示的東西都在xml布局中。
@Override 重寫(xiě)的意思,貌似就是一個(gè)標(biāo)注,沒(méi)什么太大用處。
// 聲明一個(gè)空間變量并實(shí)例化
private EditText myEditText_IP;
myEditText_IP = (EditText) this.findViewById(R.id.dt_Ip);
//貌似也可以用這種方法
mInputEditText = (EditText) findViewById(R.id.editText1);//將變量與資源進(jìn)行連接。
//判斷隱藏軟鍵盤(pán)是否彈出
if(getWindow().getAttributes
().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
{
//隱藏軟鍵盤(pán)
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}
onCheckedChanged 這東西貌似是一個(gè)事件,改變的事件
synchronized 代表這個(gè)方法加鎖,相當(dāng)于不管哪一個(gè)線程(例如線程A),運(yùn)行到這個(gè)方法時(shí),都要檢查有沒(méi)有其它線程B(或者C、 D等)正在用這個(gè)方法,有的話要等正在使用synchronized方法的線程B(或者C 、D)運(yùn)行完這個(gè)方法后再運(yùn)行此線程A,沒(méi)有的話,直接運(yùn)行。它包括兩種用法:synchronized 方法和 synchronized 塊。