Java -> .NET
安卓 -> winform/WPF
類繼承Activity -> 類繼承 Form
①安卓的
如果android中你有2個Activity,可以從一個Activity跳到另一個Activity怎么搞
Intent t=new Intent(MainActivity.this,OtherActivity.class); startActivity(t);
使用Intent,專業術語叫 意圖。
后面 MainActivity是第一個窗口,后面一個是即將要打開的
Intent t=new Intent(A.this,B.class)
然后startActivity(t);
②Winform
要被打開的Form,實例化它,然后Show就打開了
FormA a=new FormA();
a.Show();
所以android很像.net的編程
Android的結構
在項目的 src文件夾中,就是java的源代碼的地方,gen文件夾是生成編譯后的代碼的地方
.net寫代碼的時候是 .cs文件,java中是 .java文件
編譯后是.dll文件,java中是 .class文件
我們看到了,src下面有個 com.android.helloword的類似文件夾的地方,下面放了源代碼
這個com.android.helloworld , 點的寫法,在可視化時候,是3層文件夾,com文件夾下的android文件下的helloworld的文件夾下
這個目錄在你新建類可以指定,在1處指定文件目錄結構。
2處可以指定父類,繼承他,java中使用extends,子類使用父類東西使用super,自己的使用this
.net中使用 : 即可,子類使用父類東西使用base,自己的用this
3處指定實現接口,java使用implements,.net還是 :
java的繼承后又實現接口
4處指定 生成類時候,默認帶不帶構造函數,不勾選也沒關系,在類中,你也可以快速生成構造函數
你可以右擊你的代碼的地方,選擇Source,然后出現一個菜單,你也可以通過Alt+shift+s快速打開這個工具菜單,上面也有生成屬性的地方
關於java的屬性,看下面代碼
在這里我只寫了2個private .. ..的東東,然后使用Alt+shift+s,生成屬性,生成帶參數的構造函數的,所以java寫代碼還算比較快的,只是沒有.net的敲寫單詞實時提示代碼而已。但是在java中你使用Alt+?就可以提示代碼了,但是你的給IDE的幾個單詞大小寫要注意,不要匹配不上。
在.net中寫了一個代碼,沒有引入命名空間時候使用Shift+alt+F10可以快速導入命名空間很方便,.net使用using可以手動導入
在java中寫了一個代碼,可以使用Ctrl+shift+o就可以達到同樣的效果,java使用import手動導入
還有個常用快捷鍵是,格式化代碼,代碼不整齊時候,.net使用Ctrl+E+D,java使用Ctrl+Shift+F就可以了
.net注釋用Ctrl+E+C,取消注釋Ctrl+E+U
java注釋和取消注釋使用Ctrl+\
大致可能我目前知道的一些常用快捷鍵就這么多了。
那關於你寫好程序怎么測試調試呢
1. 我目前使用真實的手機進行測試的,效果挺快的,右擊你的項目,打開Run Configurations
2
雙擊Android Application可以新建一個配置文件,然后你選擇你的項目,然后單擊target
第一個選項就是真機測試的選項,當時寫完沒有找到我的手機,但是我電腦裝上豌豆莢軟件時候,貌似豌豆莢給我電腦裝了什么adb的什么驅動東東,然后我的手機就可以和IDE通訊了,就可以測試了,你的手機要打開開發者選項
每次當我寫完代碼,點擊運行,過會手機就會打開這個程序,看到的是最新的效果,如果沒有安裝,他會先安裝
關於java和.net都有 log4java,log4net等日志工具,在安卓中自帶了調試的類和可視化工具(Logcat)
使用Log. 什么就可以記錄日志,並且有日志的嚴重級別,這里的 i 是info級別的簡寫,前賣那個TAG我定義的一個常量,在上面定義了,這個好比一個日志的標簽,這里TAG等於Main
所以我可以在Logcat中定義一個日志過濾器
所以我的Logcat這里顯示的都是Main標簽的 日志文字
關於日志調試的入門就到這里了,歡迎你們研究去
下面手動建立一個Activity,讓你結合.NET的基礎知識,知道安卓的文件是怎么依賴關聯上的
在這之前要講一下 Activity的生命周期
7個方法 onCreate,onStart,onRestart,onResume,onStop,onPause,onDestroy
在每個類中,你都可以重寫Activity父類的這幾個方法,默認新建一個繼承Activity的類都含有一個onCreate方法,等同於winform的 XXX_Load方法
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }
這里super.onCreate下面 寫一行代碼可以綁定 這個窗口的界面 ,比如我們綁定 activity_main這個android xml布局文件
setContentView(R.layout.activity_main);

這樣界面和后面的邏輯就綁定了,打開activity_main.xml文件,一個是界面模式,一個是xml文件模式

界面模式,是不是很像winform的可視化模式

接下來我們看下android背后的后台代碼

真的很像WPF背后的xaml語言,所以把android對比.net的wpf還是很形象的
有了 后台類,有了layout文件中的布局xml文件,你還需要在androidmanifest文件中加入 這個新增的activity
這個名字跟后台的類名是一樣的,不是跟布局文件名字一樣的,使用 點+加上后台類名,組成一個activity中的android配置名字
這個思路跟win8應用開發也很像,win8應用開發時候也有配置清單文件,可以設置圖標,宣傳的圖片,其他系統權限配置等,這個文件的作用你也可以理解為.net網站中的global文件,好了,你知道有這個文件的入門作用就行了。
講了這么多,估計有手中應該有一部安卓手機吧,簡單看下安卓的幾個生命周期
你可以新建一個項目,在默認的activity中 重寫 父類的7個生命周期方法,每個生命周期中使用Log.i 打印方法執行的標記。接下來操作android程序,我們看下日志
① 安裝完了程序,點擊圖標啟動

總結: OnCreate - OnStart OnResume
② 按了 小房子鍵,回到桌面

總結: onPause onStop
③ 按住小房子鍵,顯示歷史打開程序列表,然后選中剛才的程序,這種方式打開程序

總結: OnRestart - OnStart OnResume
④手機長期不用,默認黑屏,掛機狀態,跟②情況一樣
onPause onStop
⑤黑屏后打開,跟③情況一樣
OnRestart - OnStart OnResume
⑥點了返回鍵,退出程序
onPause-onStop-onDestroy
好了,關於android的第一印象大致寫到這里,如果有超過10名 .NET同胞連android的ide搭建還有問題,我可以單獨在寫個android的4.x開發IDE搭建筆記