Microsoft Word - AEL CH05.doc

Size: px
Start display at page:

Download "Microsoft Word - AEL CH05.doc"

Transcription

1 5-2 AutoCompleteTextView AutoCompleteTextView 非常類似 EditText, 屬於文字輸入方塊 ; 不過 AutoCompleteTextView 會在使用者輸入幾個字時就會顯示提示文字, 方便使用者選取而無需輸入所有文字, 是一種體貼使用者輸入的設計 AutoCompleteTextView 的提示列表與 Spinner 的選項列表建立方式相同, 需要建立字串陣列來儲存欲提示的文字 範例 AutoCompleteTextViewDemo 範例說明 : 圖 5-2 輸入 T, 應用程式會作比對, 並自動將符合的提示文字以列表方式呈現, 方便使用者以選取方式輸入 5-5

2 Android App 開發教戰手冊 建立步驟 : 使用 layout 檔案建立 AutoCompleteTextView,completionThreshold 屬性設定輸入多少個字元才會顯示提示文字, 如果未設定則預設為 2 個字元 AutoCompleteTextViewDemo > res > layout > main_activity.xml <AutoCompleteTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/actvcountry" android:hint="@string/text_actvcountry" android:completionthreshold="1" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" android:layout_margintop="84dp" /> 呼叫 findviewbyid() 找到 layout 檔案上的 AutoCompleteTextView 建立 ArrayAdapter 並以字串陣列儲存提示列表上的文字 ; AutoCompleteTextView 再套用此 ArrayAdapter 最後 AutoCompleteTextView 註冊 OnItemClickListener 監聽器, 當使用者選擇提示列表上的文字時會呼叫 onitemclick() AutoCompleteTextViewDemo > java > MainActivity.java public class MainActivity extends ActionBarActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_activity); final String[] countries = { "CANADA", "CHINA", "FRANCE", "GERMANY", "ITALY", "JAPAN", "KOREA", "TAIWAN", "UK", "US" ; AutoCompleteTextView actvcountry = (AutoCompleteTextView) findviewbyid(r.id.actvcountry); 5-6

3 R.layout.list_item 是自行建立的 layout 檔案, 當作選項內容的樣式 ArrayAdapter<String> arrayadapter = new ArrayAdapter<>(this, R.layout.list_item, countries); actvcountry.setadapter(arrayadapter); AutoCompleteTextView 註冊 OnItemClickListener 監聽器, 當使用者選擇提示列表上的文字時會呼叫 onitemclick(), 此時呼叫 getitematposition() 取得使用者選取的文字並以 Toast 訊息方塊呈現 actvcountry.setonitemclicklistener(new AdapterView.OnItemClickListener() { public void onitemclick( AdapterView<?> parent, View view, int position, long id) { String item = parent.getitematposition(position).tostring(); Toast.makeText( MainActivity.this, ); item, Toast.LENGTH_SHORT).show(); 5-3 ListView ListView 元件屬於 AdapterView, 以列表方式呈現內容, 如果內容過長, 使用者可以捲動畫面來瀏覽, 此元件非常適合用來呈現大量資料 ListView 的每一列資料都是一個選項, 而這些選項內容是由 Adapter 動態載入 layout 檔案, 再將資料來源 (List 或陣列 ) 的資料取出後配置在 layout 檔案的各個 UI 元件上 ; 換句話說,Adapter 負責管理 ListView 選項列的內容 ( 包含值與樣式 ), 這也是所有 AdapterView 元件的特色 當 ListView 資料內容有變時, 開發者可以呼叫 BaseAdapter.notifyDataSetChanged() 來刷新畫面 5-7

4 Android App 開發教戰手冊 範例 ListViewDemo 圖 5-3 範例說明 : 主頁面有 2 個 UI 元件 :TextView 顯示會員標題文字與 ListView 顯示各個會員資料 ListView 每一筆選項列, 需要另外載入 layout 檔案來配置圖片與文字等內容 此例所載入的 layout 檔案內有 1 個 ImageView 用來顯示會員照片 ; 2 個 TextView 分別呈現會員 ID 與會員姓名 點擊選項列後會以 Toast 顯示對應文字 建立步驟 : 建立主頁面的 layout 檔案, 並在其內建立 ListView ListViewDemo > res > layout > main_activity.xml <LinearLayout xmlns:android=" xmlns:tools=" 5-8

5 android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".mainactivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textsize="20sp" /> <ListView android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> 建立 ListView 各選項列所需的 layout 檔案 因為每一筆選項列的版面配置都一樣, 所以只要建立一個 layout 檔案即可重複套用 在此例中, 載入的 layout 檔案 -listview_item.xml 其父元件為 LinearLayout, 所以其實載入的是 LinearLayout; 而 3 個子元件 :1 個 ImageView 用來顯示會員照片 ;2 個 TextView 分別呈現會員 ID 與會員姓名 ListViewDemo > res > layout > listview_item.xml <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:id="@+id/ivimage" android:layout_width="48dp" 5-9

6 Android App 開發教戰手冊 android:layout_height="48dp" android:layout_marginleft="10dp" android:padding="6dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:padding="6dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:padding="6dp" /> </LinearLayout> 建立 BaseAdapter 子類別 ( 例如 MemberAdapter), 並改寫下列 4 個方法, 以提供選項列內容 : public int getcount(): 提供選項列總數 public Object getitem(int position): 依據索引位置 (position) 提供該選項列對應的物件, 這裡提供 Member 物件 ( 會員物件 ) public long getitemid(int position): 依據索引位置提供該選項列對應的 ID, 這裡提供 Member ID( 會員代號 ) public view getview(int position, View convertview, parent): 依據索引位置提供該選項列對應的 View 給使用者觀看 ListViewDemo > java > MainActivity.java... // 尚有其他程式 private class MemberAdapter extends BaseAdapter { private LayoutInflater layoutinflater; private List<Member> memberlist; 5-10

7 public MemberAdapter(Context context) { 取得 LayoutInflater 物件以便之後動態載入 layout 檔案供選項列使用 layoutinflater = LayoutInflater.from(context); memberlist 是此 ListView 的資料來源, 而 Member 類別定義著會員資料如會員 ID 照片 姓名 memberlist = new ArrayList<>(); memberlist.add(new Member(23, R.drawable.p01, "John")); memberlist.add(new Member(75, R.drawable.p02, "Jack")); memberlist.add(new Member(65, R.drawable.p03, "Mark")); memberlist.add(new Member(12, R.drawable.p04, "Ben")); memberlist.add(new Member(92, R.drawable.p05, "James")); memberlist.add(new Member(103, R.drawable.p06, "David")); memberlist.add(new Member(45, R.drawable.p07, "Ken")); memberlist.add(new Member(78, R.drawable.p08, "Ron")); memberlist.add(new Member(234, R.drawable.p09, "Jerry")); memberlist.add(new Member(35, R.drawable.p10, "Maggie")); memberlist.add(new Member(57, R.drawable.p11, "Sue")); memberlist.add(new Member(61, R.drawable.p12, "Cathy")); 提供選項列總數, 系統會依照回傳值來決定呼叫下面 getview() 的次數 public int getcount() { return memberlist.size(); 依據 position 位置提供該選項列對應物件, 在此回傳代表會員的 Member 物件 public Object getitem(int position) { return memberlist.get(position); 依據 position 位置提供該選項列對應的 ID, 在此回傳會員 ID public long getitemid(int position) { return memberlist.get(position).getid(); getview() 是依據 position 位置提供該選項列對應的 View 一開始畫面尚未呈現時,converView 為 null, 呼叫 inflate() 載入 R.layout.listview_item 檔案其實就是載入 LinearLayout 這個 View 5-11

8 Android App 開發教戰手冊 畫面呈現時, 使用者可以看到 ListView 畫面, 當使用者向下滑動一列, 原本第一列會被滑出畫面, 被滑出選項列的 View 會自動傳遞給 convertview, 所以不會為 null, 可以重複利用該 View, 只要將值替換成滑入選項列的值即可 public View getview(int position, View convertview, ViewGroup parent) { if (convertview == null) { convertview = layoutinflater.inflate(r.layout.listview_item, parent, false); 依照 position 取得 memberlist 內的 member 物件 Member member = memberlist.get(position); 找到 convertview 子元件 imageview, 並指定欲顯示的圖片 ImageView ivimage = (ImageView) convertview.findviewbyid(r.id.ivimage); ivimage.setimageresource(member.getimage()); 找到 convertview 子元件 textview, 並顯示會員 ID 與姓名 TextView tvid = (TextView) convertview.findviewbyid(r.id.tvid); tvid.settext(string.valueof(member.getid())); TextView tvname = (TextView) convertview.findviewbyid(r.id.tvname); tvname.settext(member.getname()); 在此範例, 回傳 convertview 其實就是回傳 LinearLayout( 參看 listview_item.xml) return convertview; ListView 呼叫 setadapter() 套用 BaseAdapter 物件 註冊 OnItemClickListener 監聽器, 當使用者點擊選項列時會呼叫 onitemclick() ListViewDemo > java > MainActivity.java public class MainActivity extends ActionBarActivity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_activity); 5-12

9 ListView 呼叫 setadapter() 並套用建立好的 MemberAdapter ListView lvmember = (ListView) findviewbyid(r.id.lvmember); lvmember.setadapter(new MemberAdapter(this)); ListView 註冊 OnItemClickListener 監聽器, 當使用者點擊選項列時會呼叫 onitemclick() parent- 被點擊的 ListView view- 被點擊的選項列所載入的 layout 內容, 在此為 listview_item.xml 內的 LinearLayout 元件 position- 被點擊的索引位置 id- 實作 BaseAdapter.getItemId() 所回傳的 ID lvmember.setonitemclicklistener(new AdapterView.OnItemClickListener() { public void onitemclick(adapterview<?> parent, View view, int position, long id) { 呼叫 getitematposition() 會取得 BaseAdapter.getItem() 所回傳的物件, 在此為會員物件, 之後以 Toast 呈現此會員相關資訊 Member member = (Member) parent.getitematposition(position); String text = "ID = " + member.getid() + ", name = " + member.getname(); ); Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();... // 尚有其他程式 5-13

10 Android App 開發教戰手冊 5-4 GridView GridView 以格子 (grid) 方式呈現資料, 與 ListView 以列方式呈現有所不同, 但除此之外, 無論使用 BaseAdapter 載入選項內容方式, 或是點擊選項後的事件處理方式以及刷新畫面的方式可說是完全相同, 所以請直接參看 5-3 ListView 說明, 不再贅述! 範例 GridViewDemo 範例說明 : 圖 5-4 主頁面有 2 個 UI 元件 :TextView 顯示會員標題文字與 GridView 顯示各個會員資料 GridView 每一個選項格, 需要另外載入 layout 檔案來配置圖片與文字等內容 此例所載入的 layout 檔案內有 1 個 ImageView 用來顯示會員照片 ; 2 個 TextView 分別呈現會員 ID 與會員姓名 點擊選項格後會以 Toast 顯示對應圖片 5-14

11 建立步驟 : 完全與前述 ListView 相同, 不再贅述 唯一不同的地方是點擊選項格時, 此例會以 Toast 顯示圖片, 而之前僅以 Toast 顯示文字, 說明如下 GridViewDemo > java > MainActivity.java public class MainActivity extends ActionBarActivity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_activity); GridView gvmember = (GridView) findviewbyid(r.id.gvmember); gvmember.setadapter(new MemberAdapter(this)); gvmember.setonitemclicklistener(new AdapterView.OnItemClickListener() { public void onitemclick(adapterview<?> parent, View view, int position, long id) { Member member = (Member) parent.getitematposition(position); 建立 ImageView 並放上會員照片 ; 再建立 Toast 並呼叫 setview() 套用該 ImageView 即可顯示照片 ImageView imageview = new ImageView(MainActivity.this); imageview.setimageresource(member.getimage()); Toast toast = new Toast(MainActivity.this); toast.setview(imageview); toast.setduration(toast.length_short); toast.show(); );

12 Android App 開發教戰手冊 5-5 CardView 與 RecyclerView Android 5.0 時發表了 2 個新 UI 元件 : CardView 與 RecyclerView, 它們都屬於 support 函式庫的成員, 所以可以向前相容, 換句話說, 舊版的 Android 裝置也可以呈現這 2 種 UI 元件 CardView 是 FrameLayout 的子類別, 特色是可以設定圓角與陰影程度 ; 而 RecyclerView 則非常類似 ListView/GridView, 以有限的視窗大小呈現大量資料 可以將 CardView 置入 RecyclerView 內做更豐富的呈現, 如圖 5-5 CardView 圖 5-5 CardView 屬於 FrameLayout, 但比原來的 FrameLayout 多了圓角與陰影這 2 種設定 雖然 CardView 是最近才發表的 UI 元件, 但由其完整名稱 android.support.v7.widget.cardview 可知它屬於 support 函式庫, 所以可以向前相容 關於 CardView 的 2 個重要設定說明如下 : 圓角設定 : 可以設定 FrameLayout 邊角的圓弧程度, 在 layout 檔案使用 cardcornerradius 屬性 ; 在程式碼則呼叫 setradius () 來設定 陰影設定 : 可以設定 FrameLayout 周圍的陰影程度, 在 layout 檔案使用 cardelevation 屬性 ; 在程式碼則呼叫 setmaxcardelevation() RecyclerView RecyclerView 就如其名會自動重複利用選項的 View 來呈現新的而且同樣式的選項 例如畫面上只可顯示 10 個選項, 當使用者滑到第 11 個選項時, 比較好的做法是將第 1 個選項的 View 放在暫存區供滑進來的第 11 個選項使用, 5-16

13 因為它們的樣式一樣, 只不過值不同而已 這樣可以比較有效利用記憶體已存放的資料, 而且可以提升執行效能 RecyclerView 最大特色就是將 layout 設定抽離出來, 可以直接呼叫 setlayoutmanager() 設定 layout 樣式, 如果搭配 LinearLayoutManager, 呈現的樣子就會幾乎跟 ListView 一樣 ; 如果搭配 GridLayoutManager, 就會如同 GridView 一般 最有趣的是 StaggeredGridLayoutManager, 樣子像 GridView, 但是可以水平滑動 RecyclerView 無法像 ListView/GridView 一樣註冊 OnItemClickListener; 如果仍舊想要監聽選項是否被點擊, 可以將選項的 View 註冊我們熟悉的 OnClickListener 並透過 getadapterposition() 來取得被點擊項目的位置 當資料內容有變時, 開發者可以呼叫 DataSetChanged() 來刷新畫面 RecyclerView.Adapter.notify 範例 RecyclerCardViewDemo 圖

14 Android App 開發教戰手冊 範例說明 : 主頁面有 2 個 UI 元件 :TextView 顯示會員標題文字與 RecyclerView 顯示各個會員資料 RecyclerView 每一個選項格, 需要另外載入 layout 檔案來配置圖片與文字等內容 此例所載入的 layout 檔案內有 1 個 ImageView 用來顯示會員照片 ;2 個 TextView 分別呈現會員 ID 與會員姓名 使用者可以左右滑動 RecyclerView, 點擊選項格後會以 Toast 顯示對應圖片 建立步驟 : build.gradle 檔案內新增 cardview, recyclerview 套件 :Android Studio 主選單 File > Project Structure > app > Dependencies > 點擊新增按鈕, 新增 com.android.support:cardview 與 com.android.support:recyclerview, 如圖 5-7 圖 5-7 建立主頁面的 layout 檔案, 並在其內建立 RecyclerView 因為 RecyclerView 不屬於 android.widget 套件, 所以必須輸入完整名稱 android.support.v7.widget.recyclerview RecyclerCardViewDemo > res > layout > main_activity.xml <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" 5-18

15 tools:context=".mainactivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textsize="20sp" /> <android.support.v7.widget.recyclerview android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> 建立 RecyclerView 選項所需的 layout 檔案 因為每一個選項樣式都相同, 所以只要建立一個 layout 檔案即可重複套用 在此例中為了要搭配 CardView, 所以建立 CardView 元件 ; 因為也不屬於 android.widget 套件, 所以也必須使用完整名稱 android.support.v7.widget.cardview 因為 CardView 使用到不同的名稱空間 " res-auto", 所以必須加入, 並以 card_view 名稱代表 CardView 重要屬性有 cardbackgroundcolor 用來設定背景色,cardCornerRadius 設定圓角弧度,cardElevation 設定陰影 RecyclerCardViewDemo > res > layout > recyclerview_cardview_item.xml <android.support.v7.widget.cardview xmlns:android=" xmlns:card_view=" android:id="@+id/cardview" android:layout_width="match_parent" android:layout_height="match_parent" 5-19

16 Android App 開發教戰手冊 android:padding="6dp" card_view:cardbackgroundcolor="#ffdddddd" card_view:cardcornerradius="28dp" card_view:cardelevation="6dp" android:layout_margin="6dp"> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:layout_width="120dp" android:layout_height="160dp" android:layout_marginleft="16dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="20dp" android:layout_marginbottom="12dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="24dp" android:layout_marginbottom="12dp" /> </LinearLayout> </LinearLayout> </android.support.v7.widget.cardview> 5-20

17 RecyclerView 呼叫 setlayoutmanager() 套用 RecyclerView. LayoutManager 提供的版面配置樣式 RecyclerView 呼叫 setadapter() 套用 RecyclerView.Adapter 提供的選項內容設定 建立 RecyclerView. Adapter 子類別 ( 例如 MemberAdapter), 並在其內建立 RecyclerView. ViewHolder 子類別 ( 例如 MemberAdapter.ViewHolder),ViewHolder 目的在於暫存 RecyclerView 選項的 View, 以方便之後相同樣式的選項重複利用 另外 RecyclerView.Adapter 子類別還需要改寫下列 3 個方法, 以提供選項內容 : public int getitemcount(): 提供 RecyclerView 選項總數 public ViewHolder oncreateviewholder(viewgroup viewgroup, int viewtype): 當 RecyclerView 需要一個 View 來顯示特定選項內容時會呼叫此方法, 此時要提供一個 View 給 ViewHolder 保存著, 然後回傳這個 ViewHolder 讓 RecyclerView 使用 public void onbindviewholder(viewholder viewholder, int position): 要顯示 RecyclerView 特定位置 (position) 的選項內容時會呼叫此方法, 此時要將 ViewHolder 內保存的各個 View 設定好要呈現的資料 RecyclerCardViewDemo > java > MainActivity.java... protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_activity); RecyclerView recyclerview = (RecyclerView) findviewbyid(r.id.recyclerview); 呼叫 setlayoutmanager() 設定 layout 樣式,StaggeredGridLayoutManager 的樣式像 GridView,StaggeredGridLayoutManager 建構式第 1 個參數設定為 2 代表 2 列 ( 或 2 欄 ), 第 2 個參數為 HORIZONTAL 代表為水平走向 recyclerview.setlayoutmanager( new StaggeredGridLayoutManager( 2, StaggeredGridLayoutManager.HORIZONTAL)); memberlist 是資料來源, 而 Member 類別定義著會員資料如會員 ID 照片 姓名 List<Member> memberlist = new ArrayList<>(); 5-21

18 Android App 開發教戰手冊 memberlist.add(new Member(92, R.drawable.p05, "James")); memberlist.add(new Member(103, R.drawable.p06, "David")); memberlist.add(new Member(234, R.drawable.p09, "Jerry")); memberlist.add(new Member(35, R.drawable.p10, "Maggie")); memberlist.add(new Member(23, R.drawable.p01, "John")); memberlist.add(new Member(75, R.drawable.p02, "Jack")); memberlist.add(new Member(65, R.drawable.p03, "Mark")); memberlist.add(new Member(12, R.drawable.p04, "Ben")); memberlist.add(new Member(45, R.drawable.p07, "Ken")); memberlist.add(new Member(78, R.drawable.p08, "Ron")); memberlist.add(new Member(57, R.drawable.p11, "Sue")); memberlist.add(new Member(61, R.drawable.p12, "Cathy")); 呼叫 MemberAdapter 建構式並傳入 memberlist 會員清單資料以建立 MemberAdapter 物件後供 RecyclerView 套用 recyclerview.setadapter(new MemberAdapter(this, memberlist)); RecyclerView 要透過 RecyclerView.Adapter 來處理欲顯示的選項內容, 必須建立 RecyclerView.Adapter 子類別並改寫對應的方法 private class MemberAdapter extends RecyclerView.Adapter<MemberAdapter.ViewHolder> { private Context context; private LayoutInflater layoutinflater; private List<Member> memberlist; public MemberAdapter(Context context, List<Member> memberlist) { this.context = context; 初始化 layoutinflater 以載入 layout 檔案 ; 而 memberlist 儲存著欲顯示的資料 layoutinflater = LayoutInflater.from(context); this.memberlist = memberlist; 建立 RecyclerView.ViewHolder 的子類別以設定欲參照到的 View, 便於之後使用 public class ViewHolder extends RecyclerView.ViewHolder { ImageView ivimage; TextView tvid, tvname; View itemview; 呼叫 ViewHolder 建構式必須提供 RecyclerView 其中一個選項的 View public ViewHolder(View itemview) { super(itemview); 5-22

19 this.itemview = itemview; ivimage = (ImageView) itemview.findviewbyid(r.id.ivimage); tvid = (TextView) itemview.findviewbyid(r.id.tvid); tvname = (TextView) itemview.findviewbyid(r.id.tvname); 提供 RecyclerView 選項總數 public int getitemcount() { return memberlist.size(); 提供一個選項所需的 View, 可以透過 LayoutInflater 載入, 再透過呼叫 ViewHolder 建構式將選項的 View 傳給 ViewHolder public ViewHolder oncreateviewholder(viewgroup viewgroup, int viewtype) { View itemview = layoutinflater.inflate( R.layout.recyclerview_cardview_item, viewgroup, false); return new ViewHolder(itemView); 要顯示 RecyclerView 指定位置 (position) 選項的資料時會呼叫此方法, 開發者應該依照 position 提供 Member 物件, 並將資料顯示在 ViewHolder 參照到的 View 上 public void onbindviewholder(viewholder viewholder, final int position) { Member member = memberlist.get(position); viewholder.ivimage.setimageresource(member.getimage()); viewholder.tvid.settext(string.valueof(member.getid())); viewholder.tvname.settext(member.getname()); RecyclerView 無法像 ListView/GridView 一樣註冊 OnItemClickListener; 如果仍舊想要監聽選項是否被點擊, 可以將選項的 View 註冊 OnClickListener viewholder.itemview.setonclicklistener(new View.OnClickListener() { 使用者點擊 RecyclerView 的一個選項時, 會 Toast 該選項所代表的會員照片 public void onclick(view v) { ImageView imageview = new ImageView(context); imageview.setimageresource(member.getimage()); Toast toast = new Toast(context); toast.setview(imageview); toast.setduration(toast.length_short); 5-23

20 Android App 開發教戰手冊 ); toast.show(); 5-6 自訂 View 元件與 2D 繪圖 當函式庫沒有提供開發者所需要的 UI 元件時, 開發者可以自行定義, 但自行定義的 UI 元件仍舊必須繼承 View 類別並改寫 ondraw() 讓 Android 系統可以繪製此自訂元件 關於繪圖部分可以使用 Android API 提供的 2D 繪圖功能, 套件名稱為 android.graphics, 常用到的類別為 Paint( 繪圖功能 ) 與 Canvas( 畫布功能 ) 範例 Draw2dDemo 圖

21 範例說明 : 按下 MOVE RIGHT 按鈕會讓下面的幾何圖形向右移動 建立步驟 : 繼承 View 類別並改寫 ondraw(): 想繪圖必須有個可顯示的元件供繪製, 可以自行定義類別 ( 例如 GeometricView 類別 ) 去繼承 View 類別, 並且改寫 ondraw(), 將想要繪製的圖形置入 ondraw() 方法內 除此之外還需建立至少 2 個建構式方便開發者可以用程式碼或 layout 檔案來建立此 UI 元件 Draw2dDemo > java > GeometricView.java public class GeometricView extends View { private int offset = 0; private Paint paint = new Paint(); 此建構式方便直接使用程式碼建立 GeometricView 元件 public GeometricView(Context context) { super(context); 透過 layout 檔案建立 GeometricView 元件會呼叫此建構式, 在 layout 檔案使用到的屬性會傳遞給 attrs 參數 public GeometricView(Context context, AttributeSet attrs) { super(context, attrs); 呼叫此方法並傳遞偏移量給 offset 參數, 會在 ondraw() 繪圖時使用到 public void setoffset(int offset) { this.offset = offset; protected void ondraw(canvas canvas) { paint 呼叫 setcolor() 設定顏色 setstrokewidth() 設定線的粗細 paint.setcolor(color.red); paint.setstrokewidth(10); paint 呼叫 drawline() 畫線, 需提供起點與終點的 x, y 座標 ; 5-25

22 Android App 開發教戰手冊 drawcircle() 畫圓, 需提供圓點的 x, y 座標與半徑長度 ; drawrect() 畫方形, 需提供左 上 右 下四條邊線的座標 canvas.drawline(10 + offset, 10, offset, 10, paint); paint.setcolor(color.yellow); canvas.drawcircle(110 + offset, 140, 100, paint); paint.setcolor(color.green); canvas.drawrect(10 + offset, 260, offset, 460, paint); 以 layout 檔案建立自行定義的 GeometricView 元件會自動呼叫前述的 GeometricView(Context, AttributeSet) 建構式 因為不屬於 android.widget 套件, 所以必須輸入完整名稱 idv.ron.draw2ddemo. GeometricView Draw2dDemo > res > layout > main_activity.xml <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" android:paddingbottom="@dimen/activity_vertical_margin" tools:context=".mainactivity"> <Button android:id="@+id/btoffset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/text_btoffset" android:onclick="onoffsetclick" /> <idv.ron.draw2ddemo.geometricview android:id="@+id/geometricview" android:layout_width="match_parent" 5-26

23 android:layout_height="wrap_content" android:layout_margintop="24dp" /> </LinearLayout> 呼叫 View.invalidate() 重繪元件 : 如果想要重新繪製 UI 元件, 該元件呼叫 invalidate(), 系統會先廢棄原來的畫布然後再次呼叫 ondraw() 並提供新的畫布, 以重新繪製此元件的內容 Draw2dDemo > java > MainActivity.java public class MainActivity extends ActionBarActivity { private GeometricView geometricview; private int offset = 0; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_activity); geometricview = (GeometricView) findviewbyid(r.id.geometricview); 使用者每按下一次 Move Right 按鈕時會將偏移量 +10, 也就是向右移動 10 像素, 需要呼叫 invalidate() 廢棄原來在 GeometricView 元件上的畫布 ; 系統會自動呼叫 ondraw() 並傳送新的畫布以便重新繪製 public void onoffsetclick(view view) { if (geometricview!= null) { offset += 10; geometricview.setoffset(offset); geometricview.invalidate(); 5-27

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

RecyclerView and CardVew

RecyclerView and CardVew RecyclerView and CardView 建國科技大學資管系饒瑞佶 2017/10 V1 CardView CardView A CardView is a ViewGroup. Like any other ViewGroup, it can be added to youractivity or Fragment using a layout XML file. To create an

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

Android Fragment

Android Fragment Android Fragment 建國科技大學資管系饒瑞佶 2017/10 V1 Android 3.0 後才支援 Fragment 解決部分 App 適應螢幕大小的問題 它類似於 Activity, 可以像 Activity 可以擁有自己的版面設計, 也和 Activity 一樣有自己的生命週期 ( 具備 oncreate() oncreateview() 與 onpause() 方法 ) LifeCycle

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

More information

<android.support.v7.widget.recyclerview android:layout_width="0dp" android:layout_height="0dp" android:layout_marginbottom

<android.support.v7.widget.recyclerview android:layout_width=0dp android:layout_height=0dp android:layout_marginbottom Android 天气预报简单记录 ( 二 ) 主要内容使用 RecyclerView 显示所有城市和未来 4 天天气使用 SearchView 来实现查询基于百度地图 API 实现定位, 更新天气 ViewPager 实现介绍界面使用 RecyclerView 显示所有城市和未来 4 天天气 RecyclerView 是 support.v7 包中的控件, 和 ListView 类似, 十分的灵活,

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

图 6-1 主界面 MainActivity 界面对应的布局文件 (activity_main.xml) 如下所示 : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="

图 6-1 主界面 MainActivity 界面对应的布局文件 (activity_main.xml) 如下所示 : <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android= 第 6 章广播接收者 应用案例 案例 6-1 CallRecord( 通话记录 ) 一 案例描述 1 考核知识点 030006001: 广播接收者简介 030006002: 广播接收者的创建 2 练习目标 广播的静态注册和使用 使用广播处理处理事件 3 需求分析手机最重要的功能就是通话功能, 同样储存通话记录也是必不可少的 该案例使用广 播接收者自己实现通话记录的功能 包括呼出电话 已接来电 未接来电以及通话产生的

More information

Microsoft Word - weather12 刷新按钮动画+搜索框+bug处理.docx

Microsoft Word - weather12 刷新按钮动画+搜索框+bug处理.docx 一 刷新按钮的动画效果 : 在刷新按钮的位置做两个按钮的布局, 一个是原来的静态图片, 一个是旋转的动画, 然 后控制这两个效果的显示和隐藏 ( 一 ) 刷新按钮的 style: 1. 在 app/src/main/res/values/ styles.xml 文件里添加一个 style: 2. 在 drawable 文件夹下新建一个 title_update_anim.xml, 添加如下内容 注

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

第 5 章 Android 控件进阶操作实战 ArrayAdapter 适配器 ListView 的数据渲染都需要借助适配器来完成, 首先看一下结合最简单的 ArrayAdapter 来实现 ListView 主布局文件 (activity_main.xml) 代码如下 : <?

第 5 章 Android 控件进阶操作实战 ArrayAdapter 适配器 ListView 的数据渲染都需要借助适配器来完成, 首先看一下结合最简单的 ArrayAdapter 来实现 ListView 主布局文件 (activity_main.xml) 代码如下 : <? 108 Android 开发入门百战经典 第 5 章 Android 控件进阶操作实战 5.1 控之经典 ListView ListView 是最经典的控件之一, 虽然现在其江山地位不稳, 将要被 RecylerView 取 代, 但设计理念是很经典的, 而且很多程序员还是习惯了 ListView, 因此我们还需要对 ListView 进行深入学习 ListView 内容非常多, 读者要有足够的耐心进行学习,

More information

Microsoft Word - 第4章 3D相册.doc

Microsoft Word - 第4章 3D相册.doc 第 4 章 3D 相册 学习目标 u 掌握相册界面的开发, 实现相册的立体与倒影效果 在现实生活中, 我们浏览照片时, 不同的相册软件有不同的浏览效果 本章主要实现了一个 3D 效果的相册, 该相册中的图片可以循环滑动展示 4.1 3D 相册 任务综述 相册界面主要是展示一组图片的立体效果, 并显示每个图片的倒影, 左右滑动可以切换不同的图片到 界面的中间位置, 同时在图片下方显示当前图片的标题,

More information

建立Android新專案

建立Android新專案 經濟部工業局 Android 智慧型手機程式設計實務應用班 Android WebService 建國科技大學資管系 饒瑞佶 2012/4 WebService 需要 ksoap2-android-assembly-2.5.2-jar-withdependencies.jar 或 ksoap2-android-assembly-2.5.2-jar-withdependencies_timeout1.jar

More information

0511-Android程式之GPS應用_專題週記4

0511-Android程式之GPS應用_專題週記4 逢甲大學通訊工程學系專題研究 Android 程式之 GPS 應用 專題週記 0511 學生姓名 陳彥儒 D0035131 廖元譽 D0077791 指導老師 楊豐瑞老師繳交日期 2014.05.11 1 匯入 GoogleMap 1.1 取得授權步驟 目前進度 取得 Google 授權鑰匙 實作程式尚未成功 1.1.1 建立個人的 keystore 1.1.2 由個人的 keystore 查詢 SHA1

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 Android 控件进阶 要设计出让用户喜欢的 Android 应用程序界面, 除了需要用到在第 2 章讲的最基本的 TextView EditText 和 Button 控件外, 还要用到其他控件, 如 ImageButton 控件 ImageView 控件 RadioButton 控件 CheckBox 控件和 ListView 控件等 本章主要讲解功能强大 应用广泛的一些控件 3.1

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

Android + NFC

Android + NFC Android + NFC 建國科技大學資管系饒瑞佶 2017/3 v1 讀取 Tag UUID Android 2.3.3 (API Level 10) 才有支援完整的 NFC 功能 只要 NFC 相容都讀的到 (NFC 或 Mifare) 建立新專案修改 AndroidManifest.xml 加入 , 如果有 NFC Tag 進入感測範圍, 本 App 也會變成可處理的

More information

Android + WebService

Android + WebService Android + Web Service 建國科技大學資管系饒瑞佶 2017/3 V1 呼叫 OpenData Web Service http://data.taipei/opendata/datalist/apiaccess?scope=resourceaquire& rid=e7c46724-3517-4ce5-844f-5a4404897b7d http://data.taipei/opendata/datalist/apiaccess?scope=resourceaquir

More information

實作SQLiteOpenHelper類別

實作SQLiteOpenHelper類別 SQLiteOpenHelper 類別存取 SQLite 建國科技大學資管系 饒瑞佶 2013/5 V1 Android 連結資料庫 MySQL SQL Server Web Service 遠端資料庫 Internet Intranet Android SQLite 單機資料庫 Android vs. SQLite 透過 SQLiteOpenHelper 類別來操作 建立資料庫 ( 建構子 ) 建立資料表

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

内文-2.indd

内文-2.indd 客户端服务端音乐资源信息 : 1. 项目需求从本项目开始, 我们一起开发一个简单的在线音乐播放器, 它具有以下功能 (1) 程序启动时显示一个启动画面, 如图 1-1 所示 (2) 在程序主页面显示服务器上的歌曲列表, 包括歌手名与歌曲名, 单击列表条目可实现在线音乐播放, 单击 播放 暂停 上一曲 下一曲 按钮可实现对应的功能, 进度条可以显示歌曲播放进度, 如图 1-2 所示 图 1-1 程序启动画面

More information

書面

書面 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5.4 互動功能畫面 程式碼請參考附件-程式三 在進入互動頁面時 會執行setAllText()依寵物狀態數值來 設定狀態文字與頭像 並且依心情決定是否要不要播放音效 觸摸的區域 由於是自己寫的 view 所以並未透過xml來設置 而是透過Layut.addview()來動態新增

More information

_banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _bannera

_banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanneradview.gender_male); _bannera 京东与 AdView APP 联盟 SDK Android 版接口说明文档 1.5 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

Android 编程基础 Android 开发教程 & 笔记 1

Android 编程基础 Android 开发教程 & 笔记 1 Android 开发教程 & 笔记 1 多式样 ProgressBar 撰写 : 地狱怒兽 联系 :zyf19870302@126.com 普通圆形 ProgressBar 该类型进度条也就是一个表示运转的过程, 例如发送短信, 连接网络等等, 表示一个过程正 在执行中 一般只要在 XML 布局中定义就可以了

More information

開發工具下載與安裝

開發工具下載與安裝 通知訊息與背景程式 -1 通知訊息 (Notification) Chapter 應用程式 ( 尤其是背景程式 ) 通常會利用通知訊息 (Notification) 來告知使用者重要資訊或警示訊息 為了不干擾使用者目前的操作畫面, 通知訊息利 1 用狀態列來呈現簡易的圖示與訊息文字, 待使用者向下拖曳會更進一步呈現詳細內容, 點擊該內容更可以開啟其他 Activity, 功能非常豐富 如果想要將通知訊息顯示在狀態列

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

PowerPoint 簡報

PowerPoint 簡報 Paint 繪圖板 JAVA 程式設計 指導老師 : 鄞宗賢 組員 : 4A3G0901 劉彥佐 4A3G0907 韓偉志 畫面預覽 匯入參數 package paint; import java.awt.*; import java.awt.event.*; import javax.swing.*; 主程式 public class paint{ public static void main(string[]

More information

Microsoft PowerPoint - 08_Android_Spring11_Control2.pptx

Microsoft PowerPoint - 08_Android_Spring11_Control2.pptx 作者 : 李昭賢作者 : 洪振偉編撰整理者 : 陳彥霖 學習目標 1. 透過 XML 產生控制項 2. 透過 Java 產生控制項 3. 新增事件 (Event) 處理 AnalogClock / DigitalClock 負責顯示時間 AnalogClock: 以傳統鐘錶指針方式顯示時與分 DigitalClock: 以數位數字方式顯示時 分與秒 類比小時鐘 (AnalogClock 類別 ) 數位小時鐘

More information

Microsoft Word - 02.目錄.doc

Microsoft Word - 02.目錄.doc 目錄 -1- 目錄 序 準備篇 一 使用說明... 0-2 二 標示說明... 0-6 三 注意事項... 0-7 第一類 Android 基礎知識 -UI 設計及語法應用 101. 整存整付計算機... 1-2 102. 電費計算機... 1-8 103. 點餐系統... 1-18 104. 計算 BMI 值... 1-23 105. MENU 功能選單... 1-36 106. 畫廊展示...

More information

幻灯片 1

幻灯片 1 Delivering accurate maps to Chinese Android users 为中国安卓用户提供准确的地图服务 Work at Mapbox includes: Android apps, demos, starter kits, documentation, support, syncing Android team with other departments, etc.

More information

Microsoft Word - AEL CH10

Microsoft Word - AEL CH10 序 從撰寫第一本 Android 2.x 手機程式開發教戰手冊 到此本 Android 5.x App 開發教戰手冊 歷經了 Android 四大版本 (2.x, 3.x, 4.x, 5.x),Android 系統也歷經了許多重大改變 : 系統的成長與改良 : 2.x 版僅支援手機, 而且操作流暢度差強人意 3.0 版開始支援平板, 但卻不支援手機, 苦了開發者要分別熟悉 2 套 API 4.0 版系統穩定性大幅提升,

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

Microsoft Word - GoF-ch02-8-hook-ok.doc

Microsoft Word - GoF-ch02-8-hook-ok.doc 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 39 40 Google Android 設計招式之美 認識高煥堂老師 請看 4 分鐘演講視頻 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 41 第 2 章 Android 框架与应用 类别的接合 : 卡榫 (Hook) 函数 2.1 前言 2.2 何谓卡榫 (Hook) 函数 2.3

More information

Microsoft PowerPoint - 07.Android 介面元件-TableLayout、Toast、AlertDialog

Microsoft PowerPoint - 07.Android 介面元件-TableLayout、Toast、AlertDialog 計劃名稱 : 104 年度教育部資通訊軟體創新人才推升推廣計畫跨校資源中心 : 雲端運算 ( 國立中山大學 ) 課程名稱 : 網路及平台服務 Part1- 課程教材 教材名稱 :Android 介面元件 -TableLayout Toast AlertDialog 國立高雄大學資訊工程學系張保榮教授 大綱 TableLayout 版面配置 Toast 版面配置 AlertDialog 版面配置 TableLayout

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

Microsoft PowerPoint - 05.Android 介面元件-RelativeLayout、Button、TextVeiw、EditText

Microsoft PowerPoint - 05.Android 介面元件-RelativeLayout、Button、TextVeiw、EditText 計劃名稱 : 104 年度教育部資通訊軟體創新人才推升推廣計畫跨校資源中心 : 雲端運算 ( 國立中山大學 ) 課程名稱 : 網路及平台服務 Part1- 課程教材 教材名稱 :Android 介面元件 -RelativeLayout Button TextVeiw EditText 國立高雄大學資訊工程學系張保榮教授 大綱 RelativeLayout 版面配置 Button 版面配置 TextView

More information

PowerPoint 簡報

PowerPoint 簡報 UI 設計 Android 專案目錄架構 Android 專案建立後會自動產生 3 個主要目錄 src:java 程式檔案 res: 資源 ( 文字 圖形 聲音檔案等 ) 與 UI 設定有關的 layout 檔 此目錄內檔案名稱只能為小寫字母 數字 _. gen:r.java 根據 res 目錄內容自動產生 不要去修改 R.java Android 中所有的資源檔案 ( 圖片 XML 等 ) 命名都必須使用英文小寫,

More information

Database_001

Database_001 作者 : 林致宇日期 :2011/10/26 主要參考來源 : http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applicat ions/ 問題 : 如在存取一個已經建立好的資料庫? 解答 : 有一些應用程式會需要讀取已經建立好的資料庫, 例如一個試題測驗應用程式, 裡面的試題可能已經於電腦上, 使用任何的

More information

任务实施 (1) 创建项目 图 3-1 欢迎界面 首先创建一个工程, 将其命名为 BoXueGu, 指定包名为 com.boxuegu (2) 导入界面图片将欢迎界面所需要的背景图片 launch_bg.png 导入到 drawable 文件夹中, 项目的 icon 图标 app_icon.png

任务实施 (1) 创建项目 图 3-1 欢迎界面 首先创建一个工程, 将其命名为 BoXueGu, 指定包名为 com.boxuegu (2) 导入界面图片将欢迎界面所需要的背景图片 launch_bg.png 导入到 drawable 文件夹中, 项目的 icon 图标 app_icon.png 第 3 章注册与登录模块 学习目标 掌握欢迎界面的开发, 能够独立制作欢迎界面 ; 掌握注册和登录模块的开发, 能够实现用户登录功能 博学谷项目的注册与登录模块主要用于创建用户账号, 管理用户信息 当用户注册成功后会跳转到登录界面, 用户登录后可以修改密码以及设置密保, 且只有设置过密保的账户才可以找回密码 本章将针对注册与登录模块进行详细讲解 3.1 欢迎界面 任务综述 在实际开发中, 开启应用程序时首先会呈现一个欢迎界面,

More information

投影片 1

投影片 1 計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

教学〔2016〕120号

教学〔2016〕120号 河 南 省 教 育 厅 教 学 2016 120 号 河 南 省 教 育 厅 关 于 对 口 招 收 中 等 职 业 学 校 毕 业 生 进 入 普 通 高 等 学 校 学 习 的 通 知 各 省 辖 市 省 直 管 县 ( 市 ) 教 育 局, 省 各 级 招 生 机 构, 各 普 通 高 等 学 校 省 属 中 等 职 业 学 校 : 为 贯 彻 党 的 十 八 大 和 十 八 届 三 中 四

More information

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d ! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook 2015 3 F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 declare 元件 DOM state JavaScript xi React Web ios Android

More information

概述

概述 Android Material Design 基础 北京理工大学计算机学院金旭亮 概述 概述 Material Design 是 Google 提出的一种 UI 设计风格, 主要用在 Android App 的开发中, 同时, 也为 AngularJS 提供了相应的组件, 可以用于开发具有 Material Design 风格的网页 设置 Material 主题 Material Design 其实是一种

More information

Chapter 1: Introduction

Chapter 1: Introduction 目錄 目錄 IX Part 1 擁抱 Android 單元 01 Android 造時勢或是時勢造 Android... 2 Android 從何而來... 3 Android 的功能 應用和商機... 5 先睹為快 - Android 手機和平板電腦模擬器... 7 單元 02 安裝 Android 程式開發工具... 10 不同作業系統的開發工具版本...10 安裝 Android 程式開發工具的步驟...12

More information

Chapter 10

Chapter 10 Chapter 10 多媒體程式開發 Widget Widget 簡介 android.widget 套件包含了許多視覺性的 UI 元素, 可用來將操作界面展示在應用程式畫面上 要熟悉 Android 多媒體程式的開發, 必須從 widget 套件著手, 因此本章所舉的範例, 便是以 android.widget 套件的應用為中心 Gallery 簡介 Gallery 是一個水平的清單, 移動清單時,

More information

Android Android Android SDK iv

Android Android Android SDK iv Android Market Google Android SDK Apple Google Microsoft b2c b 2010 Internet Android how why iii Android 240... Android Android SDK iv Android Market Google Android SDK Visual C++ Java N-tier J2EE Unix/Linux

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

<4D6963726F736F667420576F7264202D20303830313233BCF2C6C0A1AACAD0B3A1B2DFC2D45FB9C9CAD0B1A9B5F82E646F63>

<4D6963726F736F667420576F7264202D20303830313233BCF2C6C0A1AACAD0B3A1B2DFC2D45FB9C9CAD0B1A9B5F82E646F63> 中 国 : 市 场 策 略 关 注 经 济 走 势 和 政 策 应 对 中 金 公 司 研 究 部 分 析 员 : 高 挺 郦 彬 Email: gaoting@cicc.com.cn; libin@cicc.com.cn 2008 年 1 月 23 日 事 件 : 自 1 月 15 日 以 来, 短 短 6 个 交 易 日,A 股 市 场 经 历 大 幅 调 整, 上 证 指 数 从 5500 点

More information

Microsoft Word - Android App开发从入门到精通.doc

Microsoft Word - Android App开发从入门到精通.doc 第 2 章 Android 控件 本章主要介绍 Android 中常用的控件及其使用方法,Android SDK 本身给我们提供大量的 UI 控件, 合理熟练地使用这些控件才能做出优美的界面 有时候 Android 自带的控件不一定能满足业务需求, 所以本章还会介绍自定义控件 2.1 View 介绍 在 Android 开发中,Android 的 UI 界面都是由 View 及其派生类组合而成的 View

More information

Careers Guidance 2016 Web.pdf

Careers Guidance 2016 Web.pdf Mainland China 235 Australia Tuition Fee () Course Tuition fee per year (A$) Living Cost University 236 Foundation Studies (VET) Vocational Education and Training (VET) 237 Canada Universities The College

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

投影片 1

投影片 1 Chapter 12 Android 動畫程式設計 前言 Android 在動畫程式設計上有非常多成熟的工具可以使用 例如說 :Canvas 畫布 ViewFlipper 動畫等, 另外也可以使用 OpenGL 去設計 2D/3D 圖形或動畫, 使手機多媒體或是操作介面有更多爆炸性的發展 畫布 / 畫筆 Canvas Canvas 物件在 Java 應用程式上已經非常成熟, 用於 Android 上也是開發動畫或

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

2 从列表选择在添加黑名单界面中, 点击 从联系人中添加 按钮时, 会跳转到联系人列表界面, 点击其中的任意一个联系人, 此时该联系人的电话号码和姓名会显示在添加黑名单界面的编辑框中, 点击下方的 添加 按钮, 此时会将该号码添加到黑名单中, 并在主界面中展示, 如图 3-2 所示 图 3-2 从联

2 从列表选择在添加黑名单界面中, 点击 从联系人中添加 按钮时, 会跳转到联系人列表界面, 点击其中的任意一个联系人, 此时该联系人的电话号码和姓名会显示在添加黑名单界面的编辑框中, 点击下方的 添加 按钮, 此时会将该号码添加到黑名单中, 并在主界面中展示, 如图 3-2 所示 图 3-2 从联 第 3 章通讯卫士模块 了解通讯卫士模块功能 掌握 SQLite 数据库的使用 掌握如何使用广播接收者拦截电话和短信在日常生活中, 使用手机时经常会被某些电话或短信骚扰, 例如推销保险 中奖信息等, 为此, 我们开发了通讯卫士模块, 该模块可以将骚扰电话或垃圾短信添加到黑名单中, 并对其进行拦截 本章将针对通讯卫士模块进行详细讲解 3.1 模块概述 3.1.1 功能介绍 通讯卫士模块的主要功能是进行黑名单拦截,

More information

CU0594.pdf

CU0594.pdf 8 SOHO 1 3 003 SOHO SOHO Coder Programmer HTML CSS PHP JavaScrip 009 LECTURE 1-1 1 048 PART 2 LECTURE 1-1 1 049 SOHO Landing Page Landing 050 PART 2 LECTURE 1-1 1 SEO SEO P.093 SEO SEO SEO SEO SEO 051

More information

Android 开发教程

Android 开发教程 封面 1 GUI 可视化设计器 DroidDraw DroidDraw 是一个基于 Java Swing 的 Android 界面设计器, 可以通过它来生成复杂的 Android Layout XML 文 件,Android 的 Layout 和 Swing Layout 中有很好的对应, 设计器的代码编写起来比较容易 2 AnDroidDraw AnDroidDraw 是一个与 DroidDraw

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 5.1 异常处理 异常 (Exception) 指程序运行过程中出现的非正常现象, 例如用户输入错误 需要处理的文件不存在 在网络上传输数据但网络没有连接等 由于异常情况总是可能发生, 良好健壮的应用程序除了具备用户所要求的基本功能外, 还应该具备预见并处理可能发生的各种异常的功能 所以, 开发应用程序时要充分考虑到各种可能发生的异常情况, 使程序具有较强的容错能力 通常把这种对异常情况进行处理的技术称为异常处理

More information

小应用 Magic8

小应用 Magic8 胡家威 计研135班 http://hujiaweibujidao.github.io/ 小应用 Magic8 Android 系统简介 Android 应用结构 Android 四大组件 Activity 生命周期 Android 资源管理 UI 组件和容器组件 内容概要 ( 上 ) Android 系统简介 Android 市场份额 Android 是如何诞生的? Android 之父 :Andy

More information

2016 勒索軟體白皮書

2016 勒索軟體白皮書 Botnet Botnet 1 1 2 2 5 5 6 9 10 11 11 11 12 12 12 12 12 12 13 14 2016 1989 AIDS AIDS C 189 2005 2006 TROJ_CRYPZIP.A 2011 TROJ_RANSOM.QOWA 12 2012 REVETON 2013 Cryptolocker Cryptolocker AES RSA Cryptolocker

More information

RW Salary Survey 2015 - China A4

RW Salary Survey 2015 - China A4 2015 中国 2014年 中国政府实施从纯制造业和基础设施行业向高科 技行业的转型 加强专业服务和消费者领域发展 以出口 刺激经济增长 由于政府的投资政策重新定位 我们看到越来越多的研发 中心在国内成立 更多国际专业服务公司进入中国市场 奢侈品及零售品牌进驻苏州 杭州 南京和成都等二线城 市 带动了当地市场的招聘需求 纵观总体经济 经济普遍增长 就业市场前景乐观 雇员 与雇主信心增强 2014年前三季度GDP增长率达7.4%

More information

Microsoft Word - Chap05.doc

Microsoft Word - Chap05.doc public class EX05_31 extends Activity private ImageView imageview01; private ImageView imageview02; private Button button01; public void oncreatebundle savedinstancestate) super.oncreatesavedinstancestate

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136 漸層填色與圖樣填色 08 8-1 漸層填色 8-2 漸層填色編輯 8-3 油漆桶填色 8-4 編輯圖樣 Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 8-1 8-2 8-3 8-4 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop 8-1-1 Photoshop 8 136 漸層填色與圖樣填色 漸層填色

More information

Microsoft Word - 第3章 Activity.doc

Microsoft Word - 第3章 Activity.doc 第 3 章 Activity 学习目标 u 掌握 Activity 的生命周期 u 掌握 Activity 的四种启动模式 u 掌握显式意图和隐式意图的使用 u 学会使用 Intent 传递数据在现实生活中, 经常会使用手机进行打电话 发短信 玩游戏等, 这就需要与手机界面进行交互 在 Android 系统中, 用户与程序的交互是通过 Activity 完成的 同时 Activity 也是 Android

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

Microsoft Word - Chap16.doc

Microsoft Word - Chap16.doc Android 2D 繪圖和 3D OpenGL 繪圖 從本章節你可以學習到 : 如何用 Drawable 物件來繪製圖形 繪製您的圖像或動畫到畫面佈局的圖像顯示物件 (ImageView) 上 繪製圖形直接描繪到畫布 (Canvas) 上 形狀圖像繪製物件 ShapeDrawable 創作二度空間的動畫, 補間動畫繪製物件 Tween Animation 創作二度空間的動畫, 頁框動畫繪製物件 Frame

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

南京市人才服务中心

南京市人才服务中心 南 京 市 人 才 服 务 中 心 关 于 协 助 举 办 第 三 届 跨 区 域 秋 季 高 校 毕 业 生 巡 回 招 聘 南 京 站 东 南 大 学 校 园 专 场 招 聘 会 的 函 东 南 大 学 : 2015 年 10 月 25 日 ( 周 日 ) 南 京 市 人 才 服 务 中 心 组 织 中 国 北 方 车 辆 研 究 所 广 西 软 件 管 理 中 心 集 美 大 学 厦 门 工

More information

第一章 Android 简介与开发环境搭建

第一章 Android 简介与开发环境搭建 安卓开发环境与常用布局 第一章 Android 简介与开发环境搭建 本章目标 3G 的概念 Android 的改变 Android 开发环境的搭建编写第一个 Android 程序 Android 程序的目录结构 手机发展史 1. 3G 的概念 3G 全称为 :3rd Generation, 中文含义即为第三代数字通信, 是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统 2. 符合 3G

More information

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4 JAVA Extension 0..\Example\Ch0\ \ T.html..\Example\Ch0\ \ T.txt T.txt..\Example\Ch0\ \ T_Ok.html 提示 :. Marquee Marquee Font Color #FFFFFF BG Color #867bf Width 90 Height 50. T.txt Ctrl+C your scrolling

More information

The Embedded computing platform

The Embedded computing platform Android User Interfaces Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.tw Basic control components Text components TextView EditText Button compoents

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

RW Focus Asia Whitepaper CH1029

RW Focus Asia Whitepaper CH1029 F CUSASIA 1 Robert Walters Focus Asia Whitepaper Matthew Bennett Robert Walters 2 03 04 06 08 10 13 13 14 3 4 5 Robert Walters Focus Asia Whitepaper 6 7 Robert Walters Focus Asia Whitepaper 8 9 Robert

More information

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63> 基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

ShareText

ShareText 作者 : 林致宇 日期 :2012/1/23 問題 : 如何分享分享文字資訊給其它的應用程式? 解答 : 有時候我們可能會希望 我們的應用程式的資訊 能夠讓使用者分享出去, 讓使用者能夠將此資訊傳送簡訊給其好友或寄電子郵件的方式寄給其好友, 這份文件將示範如何寫出這樣的應用程式 本文件將產出兩個 App, 第一個 App 是 分享資料的來源, 名為 CopyPaste_Source, 功能非常簡單,

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

電機工程系認可證照清單 2011/7/1

電機工程系認可證照清單                  2011/7/1 南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年

More information

Chapter 4

Chapter 4 Chapter 4 手機控制項應用 元件佈局 線性佈局共有兩個方向 : 垂直 (vertical) 水帄 (horizontal) 決定垂直或是水帄的屬性為 Orientation android:orientation="vertical" 線性佈局就是將在 < LinearLayout > 內的元件以線性的方式來呈現

More information

中南大学第二届软件创新大赛

中南大学第二届软件创新大赛 3D 全 息 投 影 游 戏 平 台 参 赛 项 目 计 划 书 一 参 赛 作 品 构 思 的 创 意 与 价 值 1. 背 景 : 问 题 领 域 (1) 手 机 平 台 游 戏 发 展 火 爆 随 着 移 动 设 备 和 移 动 互 联 网 的 飞 速 发 展, 手 机 已 经 成 为 人 们 日 常 生 活 中 的 伙 伴 越 来 越 多 手 机 游 戏 APP 成 为 了 人 们 放 松

More information

我的生命哲學 五觀三一 陳學霖

我的生命哲學 五觀三一    陳學霖 無 可 取 代 的 寶 石 商 設 系 1011413031 吳 孟 蓁 在 每 個 人 心 中, 都 有 一 顆 最 寶 貝 也 最 珍 貴 的 寶 石, 願 意 用 盡 自 己 的 生 命 去 守 護 著, 不 願 意 它 受 到 任 何 傷 害, 而 我 最 想 保 護 也 最 深 愛 的 寶 石, 就 是 我 的 家 人 家 人, 是 我 的 生 命 來 源, 也 是 我 的 活 力 來 源,

More information