Xamrin開發安卓筆記(二)

2022-02-07 12:02:56 字數 2586 閱讀 2040

昨天調理一天aapt.exe 被推出的問題(錯誤** error msb6006: "aapt.exe" exited with code -1073741819),糾結一天到底是什麼原因,寢食難安,後來想通了可能是安卓模擬器的原因。今早換了乙個安卓sdk,到現在沒出現aapt的錯誤。

並且可以視覺化布局(之前視覺化布局很醜陋)。然後接著寫,暫時拋棄vs2015,因為2015的bug直接影響我編寫的感覺,所以先用vs2013 update4繼續寫。

首先解決的是真機除錯的問題,之前沒搞過安卓,不知道這麼除錯,其實超級簡單。插上安卓機器,開發者模式的usb除錯選項開啟,找個什麼手機管家之類的東西,把驅動安裝上(有的手機型號不自動安裝驅動,導致能識別他是個移動裝置但是無法讓vs認識他,所以最好找個什麼管家之類的東西把驅動安裝上)。

首先寫的是跳轉傳值的事情,這個屬於常用功能。布局就不多說了,就是乙個按鈕,拖進來改個名字。改個id,生成(為了避免cs檔案找不到這個id,這個事情以後不在說了)

1 btnto.click += delegate

2;

帶引數跳轉到另乙個頁面。另乙個頁面獲取引數

1 intent.getstringextra("

tel");

通過key索檢資料。我感覺跳轉很簡單。。

接下來說通知事件,通知事件有好幾種實現方式,不過我寫完之後vs告訴我使用的方法已經過時。這讓我很傷心。

先說一下普通的通知吧,安卓的通知是可以閃燈,響聲,震動。這些通過通知的屬性來實現。

通知呼叫notification類來實現。看下具體**

1   btnpush.click += delegate

8 notify.vibrate = new

long ;9//

color靜態類需要引用這個 android.graphics

10//

led等是自動迴圈的不用像震動那樣設定迴圈間隔

11 notify.ledargb =color.green;

12 notify.ledoffms = 1000;//

顯示時間

13 notify.ledonms = 1000;//

關閉時間

14 notify.flags = notificationflags.showlights |notify.flags;

15var pintent = pendingintent.getactivity(this, 0,16

new intent(this, typeof

(secondactivity)), pendingintentflags.updatecurrent);

17 notify.setlatesteventinfo(this, "

通知頭", "

通知內容

", pintent);

18 mgr.notify(0, notify);//

通知id和通知

19 };

據說這個是2.0時代的**,很古老。

mgr的初始化寫法是

var mgr = (notificationmanager)getsystemservice(notificationservice);

當然你可以不實用弱變數,隨意咯。

這裡重點說一下這句話

var pintent = pendingintent.getactivity(this, 0,new intent(this, typeof(secondactivity)), pendingintentflags.updatecurrent);

索檢乙個新的活動,第乙個引數是上下文(貌似所有關於上下文的時候都是this)第二個引數巴拉巴拉說一大堆結果括號裡面說暫時沒啥用,但是你必須寫。第三是點選通知啟動哪個活動頁面,第四個是傳送標誌。

這句話目的是當使用者點選通知的時候執行那個頁面。不寫不行,因為通知必須指定到某個地方去。

最後執行通知。

另乙個寫法據說是3.0的寫法。如下

1 btnbuilder.click += delegate

2;

我欣賞3.0的寫法。簡約而不簡單。所有的東西都可以靠 點來完成,而且引數屬性比2.0寫法還要多。這個寫法也可以寫上震動,閃燈,聲音,可以自己看看哪個是。

今天先更新這麼多。下一次更新估計就開始系統的學習一些東西了。

總結一下這幾天的體驗,安裝方面盡量找靠譜的模擬器,我就在模擬器上吃虧,xamrin版本盡量最新。

**執行風格類似mvc。

所有事件都是先 例項化,在去修改他的各種屬性,最後執行。而不像以前寫web那樣,頁面畫一畫cs**直接寫執行。幾乎每個東西都需要去做例項化。

var變數和強型別,自己把握用哪個,我個人覺得var其實不錯。

就這樣吧。接下來會繼續更新的。

如果有**描述不清楚或者錯誤,請指出,我會馬上更改的,畢竟我也是第一次用這個東西。

安卓開發筆記(二)

1.建立帶布局的彈出框 alertdialog.builder builder new alertdialog.builder getactivity layoutinflater inflater layoutinflater.from getactivity view view1 inflate...

安卓開發學習筆記

android設定背景色為透明 方法一 只要在配置檔案內activity屬性配置內加上 android theme android style theme.translucent 就好了。這樣就呼叫了android的透明樣式!方法二 先在res values下建colors.xml檔案,寫入 這個值...

安卓開發 學習筆記

setcontentview r.layout.activity main 這裡activity main為指定布局檔案 activity main.xml 在r所對應的變數,載入布局檔案,並顯示到視窗中。注 這裡布局檔案都在res資源目錄下 關於尺寸 在布局檔案中,除了字型大小,其他的都以dp作為...