站在.NET的角度學安卓的草民筆記1


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搭建筆記

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM