android退出應用程序會調用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),這只是針對第一個Activity(也就是入口的Activity)時生效。如果有A,B,C三個Activity,而想在B或C中Activity退出,調用上面的方法,往往會銷毀當前的Activity返回上一個Activity。當然也可以逐個返回上一個Activity,直到跳轉到入口的Activity,最後退出應用程序。但這樣比較麻煩,而且逐個返回的體驗並不友好。 網上比較流行的方法是定義棧,寫一個ExitApplication類,利用單例模式管理Activity,在每個在Activity的onCreate()方法中調用ExitApplication.getInstance().addActivity(this)方法,在退出時調用ExitApplication.getInstance().exit()方法,就可以完全退出應用程序了。 import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class ExitApplication extends Application { private List activityList = new LinkedList(); private static ExitApplication instance; private ExitApplication() { } //單例模式中獲取唯一的ExitApplication實例 public static ExitApplication getInstance() { if(null == instance) { instance = new ExitApplication(); } return instance; } //添加Activity到容器中 public void addActivity(Activity activity) { activityList.add(activity); } //遍歷所有Activity並finish public void exit() { for(Activity activity:activityList) { activity.finish(); } System.exit(0); } } 下面的三個類IndexActivity, BActivity,CActivity是簡單的例子,分別是IndexActivity–>BActivity–>CActivity的跳轉順序。在每個Activity類中onCreate()方法中調用ExitApplication.getInstance().addActivity(Activity activity)方法。在任何一個Activity界面退出應用程序時,只要調用ExitApplication.getInstance().exit()方法,就可以在任何一個Activity中完全退出應用程序。 import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class IndexActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button next=(Button)findViewById(R.id.next_to_b); next.setOnClickListener(nextClick); Button exit=(Button)findViewById(R.id.exit_main); exit.setOnClickListener(exitClick); ExitApplication.getInstance().addActivity(this); } OnClickListener nextClick=new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(IndexActivity.this,BActivity.class); startActivity(intent); } }; OnClickListener exitClick=new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ExitApplication.getInstance().exit(); } }; } CActivity 類源代碼: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class CActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.c); Button exit_c=(Button)findViewById(R.id.exit_c); exit_c.setOnClickListener(exitClick); ExitApplication.getInstance().addActivity(this); } OnClickListener exitClick=new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ExitApplication.getInstance().exit(); //如果只是調用以下其中的一個方法,並不會完全退出應用 //android.os.Process.killProcess(android.os.Process.myPid()); //System.exit(0); } }; }
❷ 菜鳥求助make moles
首先到kangle官方網站上下載最新的源代碼。
前提條件:
請先確保你的系統上有g++,libz開發包,libpcre開發包,libiconv開發包(非linux版要).如你的系統為centos/rhel則運行下面命令安裝這些包:
yum -y install wget make automake gcc gcc-c++ pcre-devel zlib-devel sqlite-devel openssl-devel
復制代碼
第一步 下載源代碼:
下載後我們會得到kangle-x.y.z.tar.gz(x,y,z是版本號,以下命令請替換x,y,z為具體的版本號)
以2.8.3版本為例:
wget http://download.kanglesoft.com/zcore.php?os=src
復制代碼
第二步,解壓:
tar xzf kangle-*.tar.gz
cd kangle-*
復制代碼
第三步,配置:這一步用來配置kangle源代碼。
./configure --prefix=/vhs/kangle --enable-disk-cache --enable-ipv6 --enable-ssl --enable-vh-limit
復制代碼
第四步 編譯安裝:
make
make install
復制代碼
第五步 啟動kangle
/vhs/kangle/bin/kangle
復制代碼
第六步 進入kangle管理
通過瀏覽器打開
http://伺服器ip地址:3311/
復制代碼
第一次進入輸入 用戶名admin,密碼kangle
強烈建議第一次進入後修改管理後台的用戶名和密碼
kangle參數:
下面的參數是添加在:
/vhs/kangle/bin/kangle 後面
[-h --help] 可以看到詳細的參數說明
[-d level] 調試運行程序
[-r --reload] 重新載入所有配置文件
[--revh] 重新載入etc/vh.xml文件(etc/vh.xml)
[--reboot] 平滑重起程序(原有程序會保證服務完客戶),一般用來升級用的
[-z [disk_dir]] 建立硬碟cache目錄
[-v --version] 查看程序版本
[-a apache_config_file] 轉換的Apache配置
[-q] 關閉程序
[-n] start program not in daemon
復制代碼
❸ java怎麼開發安卓
安卓系統是用java開發的嗎?android是基於linux的開源操作系統。 linux是使用標准C語言開發的操作系統。 android底層驅動以及操作系統內核使用C語言以及匯編開發。 android操作系統本身是使用Java開發,並使用JNI調用本地的C語言庫,實現操作系統底層調度。 android應用是使用Java開發;同時也可以使用C/C++native開發,但是多數時候不用用到C。所以基本上就是Java為標准開發語言。 android使用了修改過的JVM(Java虛擬機)叫做dalvik虛擬機,其本質還是Java虛擬機。 所以對應每一個APP都會創建個dalvik虛擬機,也就是一個linux進程。 說復雜了,其實就是基於linux下的修改版Java虛擬機,運行java程序。
北大青鳥java培訓:安卓開發需要學習哪些知識?自學Android到什麼程度才能找到工作?對於自學Android的朋友們來說這是最疑問的事情,選擇自學Android的原因一般氛圍兩點,一點是愛好想要業余學習一下,另外一種就是想從事Android行業的,不管是哪種,都可以了解一下自學Android到什麼程度才能找到工作,畢竟這個行業的前景還是很可觀,不僅需求量大,而且薪資待遇都是非常不錯的。
接下來就跟著成都北大青鳥一起了解自學Android都需要學習哪些知識吧!1、Java基礎Java語言其實應用很廣泛,對於Android開發來說只需要你掌握JavaSE就夠了,尤其對於一個Android初學者只需要掌握Java基礎就行,這包括哪些呢?我粗略的列了下,主要包括:Java基本語法、面向對象相關的基本概念與思想,常用String類的api,異常處理,IO基礎,容器,多線程,內存管理與垃圾回收,知道並最好知道幾種常見的Java設計模式等,建議可以找些網上Java面試寶典之類的文章,熟悉下面試常遇到的一些Java知識點,一般都是Java基礎。
2、Android基礎Java如果算基礎中的基礎,那這部分才是你找工作的核心技能,畢竟你要從事的是Android開發,所以Android基礎一定要牢固,這部分包括:Android基礎UI控制項的熟練掌握,也就是指Button、TextView、EditText、CheckBox、RadioButton、ImageView、Spinner、ProgressBar、SeekBar、ListView、RecycleView、ScrollView等,可能不全,以上只是一時想到的,可自行補充。
Android四大組件的理解與熟練掌握,四大組件就不必說了吧,具體掌握到什麼程度呢?如果我問到「Activity的生命周期」你還支支吾吾的那我就沒心情繼續問下去了,其他一些如Activity的四種啟動模式,Fragment的生命周期、Fragment與Activity之間的關系,BroadcastReceiver、ContentProvider、Service的使用場景與具體用法,更細節點的如BroadcastReceiver的廣播類型與不同的注冊方式的區別等都應該關注並理解到位。
動畫相關也是必須掌握的,不管是矢量動畫還是屬性動畫的api都應該熟練,一些簡單的動畫應該隨手就能寫出來才行。
自定義View得會吧?這個在實際的開發中經常遇到,因為基本的那些UI控制項不可能完全滿足你的需求。
Sqlite與SQL語句得掌握吧,資料庫雖然說在客戶端開發上只有特定的業務或者場景才用得到,但是SQL語句這是基礎,基本的操作sqlite相關的api也必須要掌握。
北大青鳥java培訓:如何學習好安卓開發?
自從智能手機問世以來,安卓開發技術人員也逐漸隨著市場需求而增加,廣闊的就業前景更是吸引了眾多懷揣夢想和想拿高薪的學子。
那麼對於安卓新手來講,到底怎麼才能學好安卓開發呢?首先要掌握一門計算機語言現在C語言課程在理工類專業的大學生課表裡隨處可見,尤其是和計算機相關的專業還會有更深入的語言,只是很多同學在大學期間並沒有好好學習,如果對它掌握的不夠熟練或者很久沒使用過了,北大青鳥湖北計算機學院建議先從將其好好復習一下,將其基本的語法再好好回顧一下,最好能搭建一個環境來運行、調試它。
如果沒有學過,不妨也提前學習一下。
大部分的高校所開設的C語言使用的教材都是用它作為教材,因此無論是購買還是借閱,都容易找到。
所以學習一門編程語言還是很容易的。
其次要掌握數據結構和演算法基礎知識如果後續有志於游戲方面的開發,最好具備一定的數據結構和演算法基礎知識。
雖然現代的高級編程語言中,其類庫中已經幫我們實現了大部分的數據結構,一般情況下,我們直接使用即可。
但如果能對其原理有所了解,當需要在這些數據結構和演算法中間的時候,可以更加的清楚到底應該選擇哪個數據結構或者演算法。
另外,在圖形圖像處理上面,線性代數的作用也非常重要,如果能掌握一點這方面的基礎知識,無疑也會在後續的學習中如虎添翼。
最後要了解Java基礎知識安卓應用的開發語言用的是Java語言,並且在安卓中也用到了Java核心類庫的大量的類,因此,在學習安卓開發之前,可以先把Java基本語法和JavaSE的基礎類庫好好學習一下。
安卓應用程序開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。
建議在安卓課程前期的java學習階段中,需要用心的學好。
Java能轉Android開發嗎?如何轉?很多同學在昆明北大青鳥java學院學完java開發後因工作需要要求做android開發,於是問我們的咨詢老師說:Java能轉Android開發嗎?怎麼轉?需要注意什麼了?昆明北大青鳥java培訓老師為你解答。
1、Java和Android程序的區別
Android是主流智能手機的操作系統,Java是一種開發語言,兩者沒有好壞優劣之分,只是兩種職業崗位的選擇。學安卓從事移動互聯方向開發,學Java從事軟體、網站開發。而安卓上的應用大多是Java編寫的,所以建議在安卓前期的Java學習階段中,要用心學好。
2、Java轉Android前的准備
其實Java程序員要自學安卓開發的基礎知識還是沒有什麼難度的,畢竟語言相通,特性相似,閱讀安卓源代碼的門檻以比較低一些,學習安卓也相對比較輕松一些。
所以Java程序員轉安卓開發可以看做是一次「增量更新」,只需要學習一下安卓的基本組件:Activity、ContentProvider、Service、BroadcastReceiver;
了解一下安卓中的Intent,Handler,Adapter以及各類事件的傳遞方式(onClick,onTouch等);
同時輔助一定的代碼量,像JNI、AIDL什麼的都可以看一下;你還要摒棄「UI元素像素位置」這個概念,安卓本身是允許通過設定元素位置來製作UI的,如果你這樣做導致的結果便是大批機器不適配,那麼顯示效果就有點慘不忍睹了,所以不要妄想通過獲取屏幕大小來調整UI。
還有熟悉ide,安卓提供的開發框架、Java及其他編程知識等。
3、Java轉Android經驗分享
移動開發和PC上的開發帶來了哪些不一樣?
從2002年之後,傳統桌面的開發者基本都轉向了J2EE/.NET/LAMP等以Web技術或者伺服器端開發技術為主的開發方式。使用C/C++/MFC/Delphi等開發C/S模式的用戶越來越少,甚至工作的需求也開始變得越來越少。
那對於移動開發上需要什麼?
從桌面端轉向移動端,一定要認識到二者不同的側重點。桌面端包括web更側重於邏輯復雜,高級的任務,而移動端的娛樂性明顯更強。
就從操作方式說起吧,桌面端主要靠滑鼠鍵盤和touchpad,所以操作精度要高得多,很容易將很多功能集成到一個界面里;但同樣的思路就完全不適用於移動端了(反例我是實在想不起來了,大家可以幫忙想想),相信一個clutterei的app,就算功能再強大,用戶盯著你的界面超過3s就會頭暈,點擊某個button要點好幾下才會成功,也必定是一個糟糕的app。
雲南北大青鳥java培訓告訴你怎麼學安卓手機開發?程序員,相信在很多人眼中是一個非常神秘,非常特別又或者說非常有趣的職業。因為在這個行業裡面實在出現了太多的英雄,麗江計算機學校認為每一個英雄的事跡都足以讓我們熱血沸騰。但是,又有誰知道在這些英雄的背後,藏著多少辛酸,藏著多少的努力,這個行業需要的是擁有努力、認真、堅持等品質的人。
1、了解編程語言切合實際的目標定位
2、開發思想是精髓項目實戰是武器
如何學好軟體編程?
1、首先要給自己定一個明確的目標。
2、分清楚語言和工具的區別。
4、把思想放在首位,語言在精不在多,學好了一門語言再去學其他的,就易如反掌了。
5、工具是經常被淘汰的,不要被工具所迷惑,堅定自己的信念。
6、無論選擇做什麼系統開發,首先要去了解這個系統,只有了解了這個系統才能在上面為所欲為。
6怎麼學android手機開發
很多朋友一上手就開始學習Android,似乎太著急了一些。那麼,怎麼學android手機開發?
android手機開發是以Java語言為基礎的,所以沒有扎實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。那麼Java學到什麼程度才算是過關呢?麗江北大青鳥老師認為至少要掌握以下兩個方面的內容:
1、Java基礎語法
設計模式:由於在Android系統的框架層當中,使用了大量的設計模式,如果沒有這個方面的知識,對於Android的理解就會大打折扣。設計模式的種類非常之多,一個一個的全部掌握,是不現實的,必須首先掌握面向對象的基礎設計原則,有了這些基礎原則的支持,就可以舉一反三。這部分內容可以在《EffectiveJava》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
2、Linux基礎知識:
Android系統的基礎是Linux操作系統。在開發過程當中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎知識是必須的(話說現在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當不錯;
3、資料庫基礎知識
這個比較簡單,就是一個增刪改查的資料庫操作,可以看一下這本書:《SQL編程練習與解答》
4、網路協議
至少需要學習兩種基礎的協議,HTTP協議與Socket協議;
5、Android基礎知識
有了以上的鋪墊,再來看Android,是不是覺得輕鬆了很多呢?至於基礎知識的學習順序,最好的方法就是按照AndroidSDK幫助文檔當中的DevGuide裡面的順序。