Java工程師就業(yè)前景
Java工程師就業(yè)前景
2015年,在美國(guó)、加拿大、澳大利亞、新加坡等發(fā)達(dá)國(guó)家和中等發(fā)達(dá)國(guó)家,
JAVA軟件工程師年薪均在4—15萬(wàn)美金,而在國(guó)內(nèi),JAVA軟件工程師也有極好的工作機(jī)會(huì)和很高的薪水。
在未來(lái)5年內(nèi),合格軟件人才的需求將遠(yuǎn)大于供給。JAVA軟件工程師是目前
國(guó)際高端計(jì)算機(jī)領(lǐng)域就業(yè)薪資非常高的一類(lèi)軟件工程師。
一般情況下的JAVA軟件工程師是分四個(gè)等級(jí),從軟件技術(shù)員到助理軟件工程
師,再到軟件工程師,**后成為高級(jí)軟件工程師。
根據(jù)IDC的統(tǒng)計(jì)數(shù)字,在所有軟件開(kāi)發(fā)類(lèi)人才的需求中,對(duì)JAVA工程師的需
求達(dá)到全部需求量的60%—70%。同時(shí),JAVA軟件工程師的工資待遇相對(duì)較高。
通常來(lái)說(shuō),具有3—5年開(kāi)發(fā)經(jīng)驗(yàn)的工程師,擁有年薪15萬(wàn)元是很正常的一個(gè)
薪酬水平。80%的學(xué)生畢業(yè)后年薪都超過(guò)了8萬(wàn)元。
根據(jù)專(zhuān)業(yè)數(shù)據(jù)分析,由于我國(guó)經(jīng)濟(jì)發(fā)展不均衡因素,JAVA軟件工程師工資待
遇在城市之間的差異也較大,一級(jí)城市(如北京、上海等),初級(jí)軟件工程師的待遇大概在4000-6000之間,中級(jí)軟件工程師的待遇在6000—8000之間,
而高級(jí)軟件工程師的待遇基本破萬(wàn)。
JAVA 課程
一、課程簡(jiǎn)介
??學(xué)士后java軟件工程師課程是專(zhuān)門(mén)針對(duì)大專(zhuān)或以上學(xué)歷,在職、待業(yè)人群
精心設(shè)計(jì)、打造的教育培訓(xùn)產(chǎn)品。學(xué)習(xí)的方法也是非常的立體,線上線下相結(jié)合,小班面授,面授的更是企業(yè)所需的技術(shù)和經(jīng)驗(yàn)。每一位老師都是有真
正的實(shí)戰(zhàn)經(jīng)驗(yàn),經(jīng)歷過(guò)重重的考核才能成為我們的技術(shù)老師。豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn)可以把你快速的訓(xùn)練成實(shí)用型的技術(shù)人才。
學(xué)士后java軟件工程師課程學(xué)成之后也得到了勞動(dòng)與人力資源社會(huì)部的認(rèn)可
,學(xué)員**考試后可獲得承認(rèn)的java軟件開(kāi)發(fā)認(rèn)證證書(shū)。
二、培養(yǎng)目標(biāo)
1、精通JavaEE平臺(tái)開(kāi)發(fā)的java軟件工程師,能夠勝任各種行業(yè)的企業(yè)級(jí)軟
件開(kāi)發(fā)工作;
2、具備一年以上軟件開(kāi)發(fā)經(jīng)驗(yàn);
3、熟悉java軟件開(kāi)發(fā)流程;
4、良好的語(yǔ)言表達(dá)、溝通能力、工作責(zé)任心和團(tuán)隊(duì)意識(shí)。
三、課程設(shè)計(jì)
四、勝任職位
java大數(shù)據(jù)、Java(JavaEE)工程師、.NET軟件工程師、外包開(kāi)發(fā)工程師、網(wǎng)
站設(shè)計(jì)和開(kāi)發(fā)工程師、數(shù)據(jù)庫(kù)工程師、ERP/CRM/OA/B2C開(kāi)發(fā)應(yīng)用工程師、系統(tǒng)分析設(shè)計(jì)工程師、文檔工程師
五、招生對(duì)象
年滿20周歲,大專(zhuān)及大專(zhuān)以上學(xué)歷
?適合大學(xué)生、在職提升、轉(zhuǎn)行或待業(yè)人群等有志于進(jìn)入IT軟件行業(yè)發(fā)展的
人群。
Android答題app
>當(dāng)我們**次安裝軟件打開(kāi)時(shí),進(jìn)入的是導(dǎo)航頁(yè)面,導(dǎo)航面采用的是Activity fragment實(shí)現(xiàn)側(cè)滑導(dǎo)航頁(yè)的效果,而以后打開(kāi)進(jìn)入的是啟動(dòng)頁(yè)面此效果采用的是SharedPReferences,實(shí)現(xiàn)代碼如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_back);
//在下面判斷是否是**次安裝
if (!readIsInit()) {
initWelcome();
}
if (readIsWelcome()) {
Intent wItent = new Intent(WelcomeBackActivity.this, WelcomeActivity.class);
startActivity(wItent);
WelcomeBackActivity.this.finish();
} else {
new Thread(){
@Override
public void run() {
try {
sleep(3000);
Intent i = new Intent(WelcomeBackActivity.this,PageActivity.class);
startActivity(i);
WelcomeBackActivity.this.finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
super.run();
}
}.start();
}
Timer timer = new Timer();
}
public void jump(View view){
Intent intent=new Intent(WelcomeBackActivity.this,PageActivity.class);
startActivity(intent);
}
private boolean readIsWelcome() {
//使用SharedPreferences讀取數(shù)據(jù)方法如下:
//同樣,在讀取SharedPreferences數(shù)據(jù)前要實(shí)例化出一個(gè)SharedPreferences對(duì)象
SharedPreferences sharedPreferences= getSharedPreferences("isWelcome",
Activity.MODE_PRIVATE);
// 使用getString方法獲得value,注意第2個(gè)參數(shù)是value的默認(rèn)值
Boolean isWelcome =sharedPreferences.getBoolean("isFirst",false);
System.out.println(">>>>>>>>>>>" isWelcome);
return isWelcome;
}
private boolean readIsInit() {
//使用SharedPreferences讀取數(shù)據(jù)方法如下:
//同樣,在讀取SharedPreferences數(shù)據(jù)前要實(shí)例化出一個(gè)SharedPreferences對(duì)象
SharedPreferences sharedPreferences= getSharedPreferences("isWelcome",
Activity.MODE_PRIVATE);
// 使用getString方法獲得value,注意第2個(gè)參數(shù)是value的默認(rèn)值
Boolean isInit =sharedPreferences.getBoolean("isInit",false);
System.out.println(">>>>>>>>>>>" isInit);
return isInit;
}
private void initWelcome() {
//使用SharedPreferences保存數(shù)據(jù)方法如下:
//實(shí)例化SharedPreferences對(duì)象(**步)
SharedPreferences mySharedPreferences = getSharedPreferences("isWelcome",
Activity.MODE_PRIVATE);
//實(shí)例化SharedPreferences.Editor對(duì)象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit();
//用put的方法保存數(shù)據(jù)
editor.putBoolean("isFirst", true);
editor.putBoolean("isInit",true);
//提交當(dāng)前數(shù)據(jù)
editor.commit();
}
進(jìn)入之后的主界面整個(gè)布局是用LinearLayout里面加了一個(gè)TabHost(選項(xiàng)卡),然后再寫(xiě)里面的布局,圖片效果如下:
具體操作代碼如下:
public class PageActivity extends TabActivity implements RadioGroup.OnCheckedChangeListener {
private TabHost tabHost;
private RadioGroup radio_main_group;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page);
findView();
}
public void findView(){
radio_main_group = (RadioGroup) findViewById(R.id.radio_main_group);
tabHost=getTabHost();
tabHost.addTab(tabHost.newTabSpec("闖關(guān)答題").setIndicator("闖關(guān)答題").setContent(new Intent(this,AdvocateActivity.class)));
tabHost.addTab(tabHost.newTabSpec("設(shè)置").setIndicator("設(shè)置").setContent(new Intent(this,SetActivity.class)));
tabHost.addTab(tabHost.newTabSpec("科二秘籍").setIndicator("科二秘籍").setContent(new Intent(this,Keer2Activity.class)));
tabHost.addTab(tabHost.newTabSpec("科三秘籍").setIndicator("科三秘籍").setContent(new Intent(this,Kesan3Activity.class)));
((RadioButton) findViewById(R.id.rb_view_pager_3)).setChecked(true);
radio_main_group = (RadioGroup) findViewById(R.id.radio_main_group);
radio_main_group.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_view_pager_1:
tabHost.setCurrentTabByTag("科二秘籍");
break;
case R.id.rb_view_pager_3:
tabHost.setCurrentTabByTag("闖關(guān)答題");
break;
case R.id.rb_view_pager_2:
tabHost.setCurrentTabByTag("科三秘籍");
break;
case R.id.rb_view_pager_5:
tabHost.setCurrentTabByTag("設(shè)置");
break;
}
}
答題的主界面上面是用了ViewPager viewpagerindicator(第三方)
下面的是用RelativeLayout布局。
點(diǎn)擊答題頁(yè)面是用activty Fragment 上面那個(gè)是ProgressBar
我在選擇答案的四個(gè)RadioButton上面都加了判斷,如果選錯(cuò)就觸發(fā)二個(gè)行為:一個(gè)是添加到錯(cuò)題中去,一個(gè)是觸發(fā)這到題的解釋
答對(duì)就什么都不觸發(fā)
popupwindow點(diǎn)擊事件
具體代碼如下:
@Override
public void onClick(View view) {
ScrollView ScrollView=new ScrollView(MainActivity.this);
final GridLayout gridLayout=new GridLayout(MainActivity.this);
//一行顯示幾個(gè)
gridLayout.setColumnCount(4);
gridLayout.setBackgroundColor(Color.parseColor("#fdfffd"));
for (int i =1; i <=myl.size(); i ) {
Button bu=new Button(MainActivity.this);
bu.setText(i "");
//按鈕沒(méi)有被選中的顏色
bu.setBackgroundColor(Color.parseColor("#f6fdf6"));
bu.setTextColor(Color.BLACK);
final int finalJ = i;
if(viewPager.getCurrentItem()==i-1){
bu.setBackgroundColor(Color.parseColor("#774997ea"));
}
bu.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
//按鈕被選中的顏色
view.setBackgroundColor(Color.parseColor("#774997ea"));
jumpViewParger(null, finalJ-1);
View vn=gridLayout.getChildAt(gridindex);
//把以前選中的改回去
vn.setBackgroundColor(Color.parseColor("#f6fdf6"));
gridindex=finalJ-1;
}
});
gridLayout.addView(bu);
}
ScrollView.addView(gridLayout);
PopupWindow mPopupWindow1 = new PopupWindow(ScrollView, 1200, 500, true);
mPopupWindow1.setTouchable(true);
mPopupWindow1.setOutsideTouchable(true);
mPopupWindow1.setBackgroundDrawable(new BitmapDrawable(getResources(), (Bitmap) null));
mPopupWindow1.showAsDropDown(view,0,0);
}
});
科二秘籍和科三秘籍采用的是webview:
具體代碼如下:
public void vehicleis(View view){
Intent intent=new Intent(Kesan3Activity.this, Html3Activity.class);
intent.putExtra("typee","車(chē)距判斷");
startActivity(intent);
}
//根據(jù)傳來(lái)的值判斷要跳那個(gè)靜態(tài)的html
if ("車(chē)距判斷".equals(num1)){
webView.loadUrl("file:///android_asset/XX/detail/chejupanduan_3.html");
webView.getSettings().setjavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setDomStorageEnabled(true);
setContentView(webView);
wv_html_03.setTag(num1);
}
在這里我寫(xiě)了一個(gè)客服QQ直接打開(kāi)QQ和我聊天,代碼如下:
String url="mqqwpa://im/chat?chat_type=wpa&uin=952309023";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
這個(gè)頁(yè)面上有下雪的效果,需要的可以聯(lián)系我。
相關(guān)推薦:
蘇州JAVA培訓(xùn) 蘇州JAVA培訓(xùn)班 蘇州JAVA培訓(xùn)機(jī)構(gòu)
體驗(yàn)課預(yù)約試聽(tīng)
倒計(jì)時(shí)
12:00:00