一、資料介面tasky.core.android模組
在這個模組中定義乙個任務類task、封裝針對task類進行sql資料操作的taskdatabase類、封裝針對task操作的單例taskrepositoryado類(建立sqllite資料庫檔案、儲存、修改、查詢、刪除task例項的方法)、taskmanager類呼叫taskrepositoryado單例來提供資料增刪改查操作方法。
各個類的作用:
這個模組中需要注意的地方如下:
public taskdatabase (string dbpath)
;foreach (var command in commands)
}} else
console.writeline (output);
}其實就是配置sqliteconnection例項,指定data source後開啟連線,執行create table sql命令。
mono.data.sqlite.dll中提供的sqliteconnection 、sqlitedatareader、sqlitecommand等類。
二、android應用程式
這個模組是有ui介面的程式,包括顯示任務列表的主介面和任務操作(新增、修改、刪除)介面,下面解析一下介面操作的實現步驟。
1、主介面
在任務的resources\layout目錄中,雙擊homescreen.axml,開啟介面設計器,可以看到乙個按鈕控制項和乙個listview控制項。接著在screens目錄雙擊homescreen.cs檔案,開啟原始碼檔案,下面對**中的要點進行簡要說明。
[activity (label = "tasky", mainlauncher = true, icon="@drawable/icon")]
public class homescreen : activity
這裡屬性指定了這個activity是專案的預設啟動activity,並指定其圖示和標題。
protected override void oncreate (bundle bundle)//activity例項建立的時候執行,用於初始化介面元素和資料成員
這裡呼叫了setcontentview函式指定這個activity載入resources\layout目錄中設計的介面。並使用findviewbyid函式獲取介面中的元素例項,為這些元素例項繫結事件、做初始化等操作。
protected override void onresume ()//介面需要重新整理的時候觸發,比如activity第一次顯示或覆蓋在上方的activity被關閉後需要重新繪製介面時執行這個函式。
這個方法時介面需要重新整理的時候自動呼叫的,因此將介面中的listview控制項與任務資料關聯**寫在這裡。首先呼叫上面資料操作模組中提供的方法獲取所有task物件,建立tasklistadapter例項,並賦給介面的listview控制項的adapter屬性。這裡是從資料庫中從新查詢所有任務資料的,保證在任務編輯activity關閉後,從資料庫中獲取到最新的任務資料。
不需要傳遞引數可使用函式:startactivity(typeof(activity類名稱));
需要傳遞引數則使用:
var taskdetails = new intent (this, typeof (taskdetailsscreen));
taskdetails.putextra ("taskid", tasks[e.position].id);
startactivity (taskdetails);
需要子activity返回值的呼叫方式:
//第二引數為 requestcode(請求編碼),主要是設定讓 onactivityresult 可以判斷當初發出的動機(區分onactivityresult函式是針對哪個請求觸發的)
startactivityforresult(typeof(activity類名稱), 1);
接著重寫方法:
protected override void onactivityresult(int requestcode, result resultcode, intent data)
}子activity要返回值必按如下方式設定返回值:
var intent = new intent(this, typeof(activity1));//第二個引數指定目標activity例項的型別資訊,這樣可以讓這種型別的activity例項都觸發執行onactivityresult函式
//放入乙個key 為hero 值為 黑寡婦
intent.putextra("hero", "黑寡婦");
//狀態設為ok
setresult(result.ok, intent);
//呼叫後將關閉此視窗
finish();
public class tasklistadapter : baseadapter
在類的建構函式中將listview所在activity例項、要顯示的資料集合傳遞過來,並儲存在私有資料成員中。接著重寫幾個關鍵虛方法。
public override task this[int position]
}public override long getitemid (int position)
public override int count
}//這個方法最為關鍵,指定每行資料要顯示的ui介面,以及這個ui介面中視覺化控制項顯示的內容
public override android.views.view getview (int position, android.views.view convertview, android.views.viewgroup parent)
lua 範例 Lua讀寫檔案範例
檔案讀寫 檔案讀寫對製作遊戲很有幫助。可以呼叫別的檔案中的 儲存最高分 遊戲存檔 玩家狀態等信寫到檔案中。首先,讓我們看乙個簡單的命令 dofile。這個命令會讀入另乙個檔案的 並立即執行。dofile test.lua 很簡單的命令。注意 是指根目錄,不是子目錄。如果是子目錄,應該這樣用 dofi...
Spring自定義標籤範例,以及原始碼解析
一 自定義標籤範例 1.實現自己的註解xsd xsd complextype xsd complexcontent 2.定義meta inf spring.schemas 配置檔案 3.定義meta inf spring.handlers 配置處理類 4.實現處理類,這裡並沒有真正處理,而是委託給t...
DataBinder Eval用法範例
databinder.eval用法範例 常見繫結格式,不過他們的效能有區別。databinder.eval container.dataitem,n databinder.eval container.dataitem,columnname databinder.eval container.dat...