蘇州培訓(xùn)網(wǎng) > 蘇州web前端培訓(xùn)機構(gòu) > 蘇州其然軟件開發(fā)培訓(xùn)
首頁 培訓(xùn)網(wǎng) 最新資訊 熱門問答

蘇州其然軟件開發(fā)培訓(xùn)

免費試聽

您當(dāng)前的位置: 蘇州軟件系統(tǒng)培訓(xùn) > 蘇州web前端培訓(xùn) > 張家港如何才能學(xué)好java編程

張家港如何才能學(xué)好java編程_JAVA培訓(xùn)

¥詳詢

班制:周末班

蘇州其然軟件開發(fā)
上課(咨詢)地址:蘇州市昆山市震川西路111號名仕大廈
報名咨詢 預(yù)約試聽
課程介紹
張家港如何才能學(xué)好java編程
其然IT 教育師資

吳嘉俊(Stef)高級講師

擁有多年的Java開發(fā)經(jīng)驗,CTO,EasyJF開源團隊創(chuàng)始人之一、負(fù)責(zé) EasyJWeb項目的開發(fā)和維護。曾在國內(nèi)多家大型軟件公司負(fù)責(zé)公司內(nèi)部框架的開發(fā)和維護,為多個大中型公司做過架構(gòu)和技術(shù)咨詢。曾組織開發(fā)了藍源 裝飾行業(yè)ERP、美國EMR、藍源服裝行業(yè)連鎖管理系統(tǒng)、藍源SaaS服務(wù)平臺、藍源Eloan互聯(lián)網(wǎng)金融綜合解決方案等系統(tǒng)產(chǎn)品。具有非常豐富項目開發(fā)和 管理經(jīng)驗。

擅長技術(shù):主流JavaEE,Android技術(shù),對 Spring、JPA、Hibernate、 MyBatis、Struts2、MongoDB、Redis等技術(shù)領(lǐng)域有深入研究。 

吳老師有豐富的Java培訓(xùn)經(jīng)驗和IT培訓(xùn)行業(yè)顧問經(jīng)驗;授課激情,有感染力 ,注重對底層原理的剖析和理解;善于培養(yǎng)學(xué)生對編程的興趣; 

張家港如何才能學(xué)好java編程

Java工程師的工資待遇怎么樣?

張家港如何才能學(xué)好java編程

Java工程師的工資待遇怎么樣?

Java軟件工程師一般月薪范圍在4000-10000元,遠遠超過了應(yīng)屆畢業(yè)生月薪 2500元的平均水平。通常來說,有一年工作經(jīng)驗的Java高級軟件工程師的薪酬大致在年薪10—13萬左右。

從Java的應(yīng)用領(lǐng)域來分,Java語言的應(yīng)用方向主要表現(xiàn)在以下三個方面:首 先是大中型的商業(yè)應(yīng)用;其次是桌面應(yīng)用,就是常說的C/S應(yīng)用;再次是移動領(lǐng)域應(yīng)用。

綜上而言JAVA就業(yè)方向為:可以從事JSP網(wǎng)站開發(fā)、Java編程、Java游戲開 發(fā)、Java桌面程序設(shè)計,以及其他與Java語言編程相關(guān)的工作。可進入電信、銀行、保險專業(yè)軟件開發(fā)公司等從事軟件設(shè)計和開發(fā)工作。

Java基礎(chǔ)語法

張家港如何才能學(xué)好java編程

Java基礎(chǔ)語法

Java基礎(chǔ)語法

流程控制語句

Java 編譯器執(zhí)行流程

if 分支結(jié)構(gòu)

switch 選擇結(jié)構(gòu)與相關(guān)規(guī)則

循環(huán)結(jié)構(gòu)

for 循環(huán)

while 循環(huán)

do-while 循環(huán)語句

各語句性能對比與應(yīng)用場景

特殊流程控制語句

方法的聲明與使用

方法調(diào)用的過程分析

跨類調(diào)用方法

參數(shù)的值傳遞

方法的重載 Overload

2種判斷(獲?。m攁ctivity的方法


>

有時候,需要獲取當(dāng)前位于棧頂?shù)腶ctivity的實例。這里介紹2種方法,以及各自適用的場景。**后有demo測試數(shù)據(jù)以供參考

**種方法:獲取棧頂activity的實例 應(yīng)用場景:項目中,activity都繼承于一個BaseActivity,在這個base中,有個廣播接收器,收到廣播,就彈出一個dialog?,F(xiàn)打開多個activity,這個時候,**三方推送等方法,發(fā)出一個廣播,base接收到。因為只需要在棧頂?shù)腶ctivity彈出,而不是每個activity都彈出,所以,需要獲取棧頂activity的實例(即上下文,傳給dialog的構(gòu)造方法),而不能簡單的傳個this,否則,會導(dǎo)致每個activity都有dialog彈出。

獲取方法: 在application中:

public class MyApplication extends Application { PRivate static MyApplication mInstance; private Activity app_activity = null; @Override public void onCreate() { super.onCreate(); mInstance = this; initGlobeActivity(); } private void initGlobeActivity() { registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { app_activity = activity; Log.e("onActivityCreated===", app_activity ""); } @Override public void onActivityDestroyed(Activity activity) { app_activity = activity; Log.e("onActivityDestroyed===", app_activity ""); } /** Unused implementation **/ @Override public void onActivityStarted(Activity activity) { app_activity = activity; Log.e("onActivityStarted===", app_activity ""); } @Override public void onActivityResumed(Activity activity) { app_activity = activity; Log.e("onActivityResumed===", app_activity ""); } @Override public void onActivityPaused(Activity activity) { app_activity = activity; Log.e("onActivityPaused===", app_activity ""); } @Override public void onActivityStopped(Activity activity) { app_activity = activity; Log.e("onActivityStopped===", app_activity ""); } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } }); } /** * 獲取實例 * @return */ public static MyApplication getInstance() { return mInstance; } /** * 公開方法,外部可** MyApplication.getInstance().getCurrentActivity() 獲取到當(dāng)前**上層的activity */ public Activity getCurrentActivity() { return app_activity; } }

注意:initGlobeActivity()、getInstance()、getCurrentActivity() 這3個方法

使用方法: 在base的展示dialog方法中:

Activity currentActivity = MyApplication.getInstance().getCurrentActivity(); Dialog dialog = new Dialog(currentActivity, R.style.PushDialog);

————————————————————————————————–

第二種方法:獲取棧頂activity的完整包名 應(yīng)用場景:僅僅為了判斷當(dāng)前activity是不是在棧頂,以便決定要不要彈toast等等。 注意:獲取到的僅僅是完整包名,判斷當(dāng)前activity在不在棧頂,需要用到String方法中的contains方法等。這個時候需要注意,以免出錯。如:棧頂activity名為AB,里面包含A,就認(rèn)為A是在棧頂,就出錯了。**好這個activity的名字很特殊,和其他的沒有重合部分

在工具類中創(chuàng)建方法:

/** * 獲得棧中**頂層的Activity * * @param context * @return */ public static String getTopActivity(Context context) { android.app.ActivityManager manager = (android.app.ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); if (runningTaskInfos != null) { return (runningTaskInfos.get(0).topActivity).toString(); } else return null; }

使用:

String topActivity_1 = Util.getTopActivity(this); Log.e("topActivity_1", topActivity_1);

測試數(shù)據(jù): 現(xiàn)有3個activity:MainActivity_1、MainActivity_2、MainActivity_3 **個中有按鈕,點擊跳轉(zhuǎn)到第二個,第二個中有按鈕,點擊跳轉(zhuǎn)到第三個 代碼:

package com.chen.demo; import android.app.Activity; import android.os.Bundle; import android.view.Window; /** * 基礎(chǔ)Activity */ public abstract class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //不顯示title requestWindowFeature(Window.FEATURE__TITLE); initview(); } abstract void initview(); } package com.chen.demo; import android.content.Intent; import android.util.Log; import android.view.View; import android.widget.TextView; public class MainActivity_1 extends BaseActivity { TextView tv; @Override void initview() { setContentView(R.layout.activity_main_1); String topActivity_1 = Util.getTopActivity(this); Log.e("topActivity_1", topActivity_1); tv = (TextView) findViewById(R.id.tv); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MainActivity_1.this.startActivity(new Intent(MainActivity_1.this, MainActivity_2.class)); } }); } } import android.content.Intent; import android.util.Log; import android.view.View; import android.widget.TextView; public class MainActivity_2 extends BaseActivity { TextView tv_2; @Override void initview() { setContentView(R.layout.activity_main_2); String topActivity_2 = Util.getTopActivity(this); Log.e("topActivity_2", topActivity_2); tv_2 = (TextView) findViewById(R.id.tv_2); tv_2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MainActivity_2.this.startActivity(new Intent(MainActivity_2.this, MainActivity_3.class)); } }); } } package com.chen.demo; import android.util.Log; public class MainActivity_3 extends BaseActivity { @Override void initview() { setContentView(R.layout.activity_main_3); String topActivity_3 = Util.getTopActivity(this); Log.e("topActivity_3", topActivity_3); } }

日志:

程序剛啟動 02-24 10:56:12.997 13043-13043/com.chen.demo E/onActivityCreated===: com.chen.demo.MainActivity_1@eff3d78 02-24 10:56:13.030 13043-13043/com.chen.demo E/topActivity_1: ComponentInfo{com.chen.demo/com.chen.demo.MainActivity_1} 02-24 10:56:13.032 13043-13043/com.chen.demo E/onActivityStarted===: com.chen.demo.MainActivity_1@eff3d78 02-24 10:56:13.032 13043-13043/com.chen.demo E/onActivityResumed===: com.chen.demo.MainActivity_1@eff3d78 點擊MainActivity_1中按鈕去往MainActivity_2 02-24 10:56:47.692 13043-13043/com.chen.demo E/onActivityPaused===: com.chen.demo.MainActivity_1@eff3d78 02-24 10:56:47.718 13043-13043/com.chen.demo E/onActivityCreated===: com.chen.demo.MainActivity_2@53c82a7 02-24 10:56:47.722 13043-13043/com.chen.demo E/topActivity_2: ComponentInfo{com.chen.demo/com.chen.demo.MainActivity_2} 02-24 10:56:47.724 13043-13043/com.chen.demo E/onActivityStarted===: com.chen.demo.MainActivity_2@53c82a7 02-24 10:56:47.724 13043-13043/com.chen.demo E/onActivityResumed===: com.chen.demo.MainActivity_2@53c82a7 02-24 10:56:48.099 13043-13043/com.chen.demo E/onActivityStopped===: com.chen.demo.MainActivity_1@eff3d78 點擊MainActivity_2中按鈕去往MainActivity_3 02-24 10:57:21.984 13043-13043/com.chen.demo E/onActivityPaused===: com.chen.demo.MainActivity_2@53c82a7 02-24 10:57:21.999 13043-13043/com.chen.demo E/onActivityCreated===: com.chen.demo.MainActivity_3@f2b18ec 02-24 10:57:22.003 13043-13043/com.chen.demo E/topActivity_3: ComponentInfo{com.chen.demo/com.chen.demo.MainActivity_3} 02-24 10:57:22.003 13043-13043/com.chen.demo E/onActivityStarted===: com.chen.demo.MainActivity_3@f2b18ec 02-24 10:57:22.003 13043-13043/com.chen.demo E/onActivityResumed===: com.chen.demo.MainActivity_3@f2b18ec 02-24 10:57:22.382 13043-13043/com.chen.demo E/onActivityStopped===: com.chen.demo.MainActivity_2@53c82a7


相關(guān)推薦:


蘇州JAVA培訓(xùn)   蘇州JAVA培訓(xùn)班   蘇州JAVA培訓(xùn)機構(gòu)

體驗課預(yù)約試聽

倒計時

12:00:00

課程熱線:

在線咨詢

客服在線時間:早上9點~下午6點,其他時間請在線預(yù)約報名或留言,謝謝!

蘇州web前端

免費體驗課開班倒計時

11: 41: 09

稍后會有專業(yè)老師給您回電,請保持電話暢通

咨詢電話:

選課

推薦機構(gòu) 全國分站 更多課程

本周僅剩 個試聽名額

請鍵入信息,稍后系統(tǒng)將會把領(lǐng)獎短信發(fā)至您的手機

申請試聽名額

已有10254人申請免費試聽

01電話咨詢 |

QQ:
加盟合作:0755-83654572