androidlistview進度條
㈠ android緗戠粶鍔犺澆榪涘害鏉℃庝箞浣跨敤
銆鐢變簬Android鐨勭晫闈㈡洿鏂板彧鑳介氳繃鑷宸辯殑UI綰跨▼榪涜屾搷浣滐紝鎵浠ラ渶瑕佺敤鍒癏andler鍦ㄨ繘琛屾洿鏂扮晫闈㈢殑鎿嶄綔銆
1銆佸0鏄庡彉閲
private Handler handler = new Handler();
private ProgressDialog progressDialog = null;
2銆佸湪寮濮嬭繘琛岀綉緇滆繛鎺ユ椂鏄劇ず榪涘害鏉″硅瘽妗
銆銆progressDialog = ProgressDialog.show(MyActivity.this, "璇風◢絳...", "鑾峰彇鏁版嵁涓...", true);
3銆佸湪handler.post涓榪涜岀晫闈㈡洿鏂
public void setListAdapter(){
handler.post(new Runnable() {
public void run() {
//灝嗚幏鍙栧埌鐨勬暟鎹鏇存柊鍒板垪琛ㄤ腑
MyListView.setAdapter(saImageItems);
}
}
});
4銆佸紑涓鏂扮殑綰跨▼榪涜岀綉緇滆繛鎺ヨ幏鍙栨暟鎹
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//鍚戞湇鍔″櫒璇鋒眰鏁版嵁
mapList=MyAPI.getAllDatas();
setListAdapter(mapList);
//鏇存柊瀹屽垪琛ㄦ暟鎹錛屽垯鍏抽棴瀵硅瘽妗
progressDialog.dismiss();
}}).start();
鏁翠釜榪囩▼灝辮繖鏍峰畬鎴愪簡錛
㈡ 關於Android界面組件的基本用法
1.文本框(TextView)和編輯框(EditText)
文本框(TextView)不允許用戶編輯文本內容,而編輯框(EditText)允許用戶編輯文本內容
2.按鈕(Button)和圖片按鈕(ImageButton)
Button顯示文字,ImageButton顯示圖片。
為ImageButton指定android:text屬性沒用,不會顯示文字
可以指定android:background為按鈕增加背景圖片,但這圖片是固定的
可以指定android:src為圖片按鈕增加圖片屬性
其實,src才是設置圖標,而background只是設置背景。
如果控制項的大小是100 100 圖片資源是80 80的話,那麼用src,圖片就會居中顯示,如果使用background那麼圖片就會被拉伸充滿控制項。
重要的是,background是底層的圖片資源,src是覆蓋在background上面的資源,他們可以疊加使用,實現選中的效果。
3.單選按鈕(RadioButton)和復選框(CheckBox)
多了一個android:checked屬性,用於指定初始時是否被選中
4.計時器組件Chronometer用法
紅色字體表示常用的方法
5.圖像視圖(ImageView)
它支持屬性android:scaleType setScaleType(ImageView.ScaleType)
matrix(ImageView.ScaleType.MATRIX):使用matrix方式進行
fixXY(ImageView.ScaleType.FIX_XY):對圖片橫向縱向獨立縮放,會改變縱橫比
fitStart(ImageView.ScaleType.FIT_START):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在左上角
fitCenter(ImageView.ScaleType.FIT_CENTER):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在中央
fitEnd(ImageView.ScaleType.FIT_END):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在右下角
center(ImageView.ScaleType.CENTER):放中間,不縮放
centerCrop(ImageView.ScaleType.CENTER_CROP):保持縱橫比,使圖片能完全覆蓋ImageView
centerInside(ImageView.ScaleType.CENTER_INSIDE):保持縱橫比,使ImageView能完全顯示圖片
6.spinner的功能和用法
如果可以確定spinner裡面的列表項,那麼直接在/res/layout/main.xml裡面指定
然後在/res/value/string.xml裡面指定
如果不確定裡面的列表項,那麼必須要提供一個Adapter,這個Adapter負責決定Spinner列表每項的內容
7.日期、時間選擇器(DatePicker和TimePicker)
8.自動完成文本框(AutoCompleteTextView)
比普通文本框多了一個功能:當用戶輸入一定字元後,自動完成文本框會顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個菜單後,組件會按用戶選擇自動填寫該文本框
使用該組件很簡單,只要為它設置一個Adapter,該Adapter封裝了AutoCompleteTextView預設的提示文本
9.進度條(ProgressBar)
通過style屬性可以為ProgressBar指定風格。該屬性可以有如下的屬性值:
1.@android:style/Widget.ProgressBar.Horizontal 水平進度條
2.@android:style/Widget.ProgressBar.Inverse 不斷跳躍、旋轉畫面的進度條
3.@android:style/Widget.ProgressBar.Large 大進度條
4.@android:style/Widget.ProgressBar.Large.Inverse不斷跳躍、旋轉畫面的大進度條
5.@android:style/Widget.ProgressBar.Small 小進度條
6.@android:style/Widget.ProgressBar.Small.Inverse不斷跳躍、旋轉畫面的小進度條
ProgressBar提供如下方法來操作進度
1.setProgress(int) 設置進度的完成百分比
2.incrementProgressBy(int) 設置進度條的增加或減少。參數為正增加,參數為負減少
10.選項卡(TabHost)
TabHost僅僅只是一個簡單的容器,它提供如下方法
1.newTabSpec(String tag) 創建選項卡
2.addTab(TabHost.TabSpec tabSpec) 添加選項卡
使用TabHost的一般步驟為:
• A. 在界面中定義TabHost組件,並為該組件定義該選項卡的內容
• B. Activity應該繼承TabActivity
• C. 調用TabActivity的getTabHost()來獲取TabHost對象
• D. 通過TabHost對象的方法來創建選項卡、添加選項卡
選項卡主要由TabHost、TabWidget、FrameLayout3個組件組成,三者缺一不可,想像一下選項卡的特點,多個卡重疊在一起,所以用FrameLayout即幀布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三個組件的android:id必須使用系統默認的名稱,而不能自己隨意定義,否則會出錯。
11.圖像切換器(ImageSwitcher)
12.網格視圖(GridView)
使用GridView一般指定numColumn大於1,否則取默認值為1.那麼GridView就變成了ListView
屬性android:stretchMode支持如下屬性
1.none 不拉伸
2.spacingWidth 僅拉伸元素之間的間距
3.spacingWidthUniform 表格、元素之間的間距一起拉伸
4.columnWidth 僅拉伸表格
13.畫廊視圖(Gallery)(現在已經被棄用了,不過還是列出來吧)
Gallery用法很簡單——為它提供一個內容Adapter,該Adapter的getView方法所返回的View可作為Gallery的列表項。可以通過OnItemSelectedListener監聽選擇項的改變
14.列表試圖(ListView和ListActivity)
1.創建ListView由兩種方式:
2.直接使用ListView進行創建
讓Activity繼承ListActivity(繼承了ListActivity的類無需調用setContentView()來顯示頁面,可以直接設置適配器)
一旦獲得ListView後,就要創建顯示的列表項了。需要藉助內容Adapter,內容Adapter負責提供需要顯示的列表項
創建ArrayAdapter時必須指定一個textViewResourceId,該參數決定每個列表項的外觀
1.simple_list_item_1 每個列表項是普通的TextView
2.simple_list_item_2 每個列表項是普通的TextView(字體略大)
3.simple_list_item_checked 每個列表項是已勾選的列表項
4.simple_list_item_multiple_choice 每個列表項是帶多選框的文本
5.simple_list_item_single_choice 每個列表項是帶多單選按鈕的文本
15.使用AlertDialog
1.創建AlertDialog.Builder對象,該對象是AlertDialog的創建器
2.調用AlertDialog.Builder方法為對話框設置圖標、標題等
3.調用AlertDialog.Builder的create()方法創建AlertDialog對話框
4.調用AlertDialog的show()方法顯示對話框
16.使用Toast顯示提示框
步驟如下:
• 調用Toast構造器或makeText方法創建Toast對象
• 調用Toast方法來設置該消息的對齊方式等
• 調用Toast的show()方法顯示出來
• Toast toast = Toast.makeText(ToastTest.this, "信息", Toast.LENGTH_LONG).show();
17.Notification(一般顯示網路狀態、電池狀態、時間等)
使用Notification發送Notification步驟:
• 調用getSystemService(NOTIFICATION_SERVICE)方法獲取系統的Notification Manager服務
• 通過構造器創建一個Notification對象
• 為Notification設置屬性
• 通過Notification Manager發送Notification
㈢ android網路編程學什麼,如何學習android網路編程
第一個問題解答:android網路編程學習內容詳解:
1.0 Android基礎入門教程
1.1 背景相關與系統架構分析
1.2 開發環境搭建
1.2.1 使用Eclipse + ADT + SDK開發Android APP
1.2.2 使用Android Studio開發Android APP
1.3 SDK更新不了問題解決
1.4 Genymotion模擬器安裝
1.5.1 Git使用教程之本地倉庫的基本操作
1.5.2 Git之使用GitHub搭建遠程倉庫
1.6 .9(九妹)圖片怎麼玩
1.7 界面原型設計
1.8 工程相關解析(各種文件,資源訪問)
1.9 Android程序簽名打包
1.11 反編譯APK獲取代碼&資源
2.1 View與ViewGroup的概念
2.2.1 LinearLayout(線性布局)
2.2.2 RelativeLayout(相對布局)
2.2.3 TableLayout(表格布局)
2.2.4 FrameLayout(幀布局)
2.2.5 GridLayout(網格布局)
2.2.6 AbsoluteLayout(絕對布局)
2.3.1 TextView(文本框)詳解
2.3.2 EditText(輸入框)詳解
2.3.3 Button(按鈕)與ImageButton(圖像按鈕)
2.3.4 ImageView(圖像視圖)
2.3.5.RadioButton(單選按鈕)&Checkbox(復選框)
2.3.6 開關按鈕ToggleButton和開關Switch
2.3.7 ProgressBar(進度條)
2.3.8 SeekBar(拖動條)
2.3.9 RatingBar(星級評分條)
2.4.1 ScrollView(滾動條)
2.4.2 Date & Time組件(上)
2.4.3 Date & Time組件(下)
2.4.4 Adapter基礎講解
2.4.5 ListView簡單實用
2.4.6 BaseAdapter優化
2.4.7ListView的焦點問題
2.4.8 ListView之checkbox錯位問題解決
2.4.9 ListView的數據更新問題
2.5.0 構建一個可復用的自定義BaseAdapter
2.5.1 ListView Item多布局的實現
2.5.2 GridView(網格視圖)的基本使用
2.5.3 Spinner(列表選項框)的基本使用
2.5.4 AutoCompleteTextView(自動完成文本框)的基本使用
2.5.5 ExpandableListView(可折疊列表)的基本使用
2.5.6 ViewFlipper(翻轉視圖)的基本使用
2.5.7 Toast(吐司)的基本使用
2.5.8 Notification(狀態欄通知)詳解
2.5.9 AlertDialog(對話框)詳解
2.6.0 幾種常用對話框基本使用
2.6.1 PopupWindow(懸浮框)的基本使用
2.6.2 菜單(Menu)
2.6.3 ViewPager的簡單使用
2.6.4 DrawerLayout(官方側滑菜單)的簡單使用
3.1.1 基於監聽的事件處理機制
3.2 基於回調的事件處理機制
3.3 Handler消息傳遞機制淺析
3.4 TouchListener PK OnTouchEvent + 多點觸碰
3.5 監聽EditText的內容變化
3.6 響應系統設置的事件(Configuration類)
3.7 AnsyncTask非同步任務
3.8 Gestures(手勢)
4.1.1 Activity初學乍練
4.1.2 Activity初窺門徑
4.1.3 Activity登堂入室
4.2.1 Service初涉
4.2.2 Service進階
4.2.3 Service精通
4.3.1 BroadcastReceiver牛刀小試
4.3.2 BroadcastReceiver庖丁解牛
4.4.1 ContentProvider初探
4.4.2 ContentProvider再探——Document Provider
4.5.1 Intent的基本使用
4.5.2 Intent之復雜數據的傳遞
5.1 Fragment基本概述
5.2.1 Fragment實例精講——底部導航欄的實現(方法1)
5.2.2 Fragment實例精講——底部導航欄的實現(方法2)
5.2.3 Fragment實例精講——底部導航欄的實現(方法3)
5.2.4 Fragment實例精講——底部導航欄+ViewPager滑動切換頁面
5.2.5 Fragment實例精講——新聞(購物)類App列表Fragment的簡單實現
6.1 數據存儲與訪問之——文件存儲讀寫
6.2 數據存儲與訪問之——SharedPreferences保存用戶偏好參數
6.3.1 數據存儲與訪問之——初見SQLite資料庫
6.3.2 數據存儲與訪問之——又見SQLite資料庫
7.1.1 Android網路編程要學的東西與Http協議學習
7.1.2 Android Http請求頭與響應頭的學習
7.1.3 Android HTTP請求方式:HttpURLConnection
7.1.4 Android HTTP請求方式:HttpClient
7.2.1 Android XML數據解析
7.2.2 Android JSON數據解析
7.3.1 Android 文件上傳
7.3.2 Android 文件下載(1)
7.3.3 Android 文件下載(2)
7.4 Android 調用 WebService
7.5.1 WebView(網頁視圖)基本用法
7.5.2 WebView和javaScrip交互基礎
7.5.3 Android 4.4後WebView的一些注意事項
7.5.4 WebView文件下載
7.5.5 WebView緩存問題
7.5.6 WebView處理網頁返回的錯誤碼信息
7.6.1 Socket學習網路基礎准備
7.6.2 基於TCP協議的Socket通信(1)
7.6.3 基於TCP協議的Socket通信(2)
7.6.4 基於UDP協議的Socket通信
8.1.1 Android中的13種Drawable小結 Part 1
8.1.2 Android中的13種Drawable小結 Part 2
8.1.3 Android中的13種Drawable小結 Part 3
8.2.1 Bitmap(點陣圖)全解析 Part 1
8.2.2 Bitmap引起的OOM問題
8.3.1 三個繪圖工具類詳解
8.3.2 繪圖類實戰示例
8.3.3 Paint API之—— MaskFilter(面具)
8.3.4 Paint API之—— Xfermode與PorterDuff詳解(一)
8.3.5 Paint API之—— Xfermode與PorterDuff詳解(二)
8.3.6 Paint API之—— Xfermode與PorterDuff詳解(三)
8.3.7 Paint API之—— Xfermode與PorterDuff詳解(四)
8.3.8 Paint API之—— Xfermode與PorterDuff詳解(五)
8.3.9 Paint API之—— ColorFilter(顏色過濾器)(1/3)
8.3.10 Paint API之—— ColorFilter(顏色過濾器)(2-3)
8.3.11 Paint API之—— ColorFilter(顏色過濾器)(3-3)
8.3.12 Paint API之—— PathEffect(路徑效果)
8.3.13 Paint API之—— Shader(圖像渲染)
8.3.14 Paint幾個枚舉/常量值以及ShadowLayer陰影效果
8.3.15 Paint API之——Typeface(字型)
8.3.16 Canvas API詳解(Part 1)
8.3.17 Canvas API詳解(Part 2)剪切方法合集
8.3.18 Canvas API詳解(Part 3)Matrix和drawBitmapMash
8.4.1 Android動畫合集之幀動畫
8.4.2 Android動畫合集之補間動畫
8.4.3 Android動畫合集之屬性動畫-初見
8.4.4 Android動畫合集之屬性動畫-又見
9.1 使用SoundPool播放音效(Duang~)
9.2 MediaPlayer播放音頻與視頻
9.3 使用Camera拍照
9.4 使用MediaRecord錄音
10.1 TelephonyManager(電話管理器)
10.2 SmsManager(簡訊管理器)
10.3 AudioManager(音頻管理器)
10.4 Vibrator(振動器)
10.5 AlarmManager(鬧鍾服務)
10.6 PowerManager(電源服務)
10.7 WindowManager(窗口管理服務)
10.8 LayoutInflater(布局服務)
10.9 WallpaperManager(壁紙管理器)
10.10 感測器專題(1)——相關介紹
10.11 感測器專題(2)——方向感測器
10.12 感測器專題(3)——加速度/陀螺儀感測器
10.12 感測器專題(4)——感測器了解
10.14 Android GPS初涉
第二個問題解答:如何學習android網路編程:
1. Android學習之路,博客是Android新手必備資料。
2. 書不在多,適合就好,這里推薦一本Android和兩本Java書籍吧。
《第一行代碼》:郭霖大神的著作。
《Thinking In Java》:Java經典書籍,不必說。
《Effective Java》:Java進階必備書籍。
3. 有些人一開始看書也有困難,沒關系,那就去網上看視頻,結合視頻和書一起看,邊看邊敲。
4. 多去混GitHub,目前最流行的開源社區,多參與開源項目,慢慢試著讀牛人們的代碼,時機到的時候自己也可以為開源社區貢獻力量,可以這樣說在GitHub上認真混一年。
5. 關注一些Android界不錯的博客。
6. 善於利用搜索引擎,從用Google做起,學會英文關鍵字搜索,有問題第一時間想到去搜索而不是去請教別人。
㈣ android上拉刷新下拉載入 通用框架怎麼用
1. 關於下拉刷新
下拉刷新這種用戶交互最早由twitter創始人洛倫•布里切特(Loren Brichter)發明,有理論認為,下拉刷新是一種適用於按照從新到舊的時間順序排列feeds的應用,在這種應用場景中看完舊的內容時,用戶會很自然地下拉查找更新的內容,因此下拉刷新就顯得非常合理。大家可以參考這篇文章:有趣的下拉刷新,下面我貼出一個有趣的下拉刷新的案例。
2. 實現原理
上面這些例子,外觀做得再好看,他的本質上都一樣,那就是一個下拉刷新控制項通常由以下幾部分組成:
【1】Header
Header通常有下拉箭頭,文字,進度條等元素,根據下拉的距離來改變它的狀態,從而顯示不同的樣式
【2】Content
這部分是內容區域,網上有很多例子都是直接在ListView裡面添加Header,但這就有局限性,因為好多情況下並不一定是用ListView來顯示數據。我們把要顯示內容的View放置在我們的一個容器中,如果你想實現一個用ListView顯示數據的下拉刷新,你需要創建一個ListView旋轉到我的容器中。我們處理這個容器的事件(down, move, up),如果向下拉,則把整個布局向下滑動,從而把header顯示出來。
【3】Footer
Footer可以用來顯示向上拉的箭頭,自動載入更多的進度條等。
㈤ Android基礎知識
一、activity
1.一個activity就是一個類,繼承activity;
2.需要復寫onCreate()方法;
3.每一個activity都需要在AndroidMainfest.xml清單上進行配置;
4.為activity添加必要的控制項。
二、布局
線性布局:LinearLayout
1.填滿父空間:fill_parent、match_parent
2.文本多大空間就有多大:warp_content
3.文字對齊方式:gravity
4.占屏幕的比例:layout_weight="1" 水平方向,則width=0,垂直方向,則height=0
5.一行顯示,空間不夠會省略:singleLine="ture" false會換行
6.背景:background="#ffffff"
7.水平布局:orientation="horizontal"
垂直布局:orientation="vertivcal"
表格布局:TableLayout
1.內邊距:padding
2.外邊距:marginLeft\Start、Right\End、Top、Bottom
三、RelativeLayout相對布局
layout_above 將該控制項的底部置於給定ID控制項之上
layout_below 將該控制項的頂部置於給定ID控制項之下
layout_toLeftOf 將該控制項的右邊緣和給定ID控制項的左邊緣對齊
layout_toRightOf 將該控制項的左邊緣和給定ID控制項的右邊緣對齊
layout_alignBaseline 該控制項的baseline和給定ID的控制項的Baseline對齊
layout_alignBottom 該控制項的底部邊緣和給定ID的控制項的底部邊緣對齊
layout_alignLeft 該控制項的左邊緣和給定ID的控制項的左邊緣對齊
layout_alignRight 該控制項的右邊緣和給定ID的控制項的右邊緣對齊
layout_alignTop 該控制項的頂部邊緣和給定ID的控制項的頂部邊緣對齊
layout_alignparentBottom 如果該值為true,則該控制項的底部和父控制項的底部對齊layout_alignParentLeft 如果該值為true,則該控制項的左邊和父控制項的左邊對齊
layout_alignParentRight 如果該值為true,則該控制項的右邊和父控制項的右邊對齊
layout_alignParentTop 如果該值為true,則該控制項的上邊和父控制項的上邊對齊
layout_centerHorizontal 如果該值為true,則該控制項將被置於水平方向的中央
layout_centerInParent 如果該值為true,則該控制項將被置於父控制項水平和垂直方向的中央
layout_centerVertival 如果該值為true,則該控制項將被置於垂直方向的中央
四、一個Intent對象包含一組信息
1.Component name
2.Action
3.Data
4.Category
5.Extras
6.Flags
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent); //startActivity方法
intent.putExtra("Key", "Value"); //鍵值對
intent = getIntent();
String value = intent.getStringExtra("Key"); //通過鍵提取數據
五、初級控制項:EditText、TextView、Button
1.獲取EditText的值
String value = EditText.getText().toString();
2.將值放到Intent對象中
Intent intent = new Intent();
intent.putExtra("one",value )
intent.setCalss(Activity.this, OtherActivity.class);
3.使用這個Intent對象來啟動Otheractivity
Activity.this.startActivity(intent);
4.將監聽器的對象綁定到按鈕對象上
button.setOnclickListener(new Listener());
5.得到Intent對象當中的值
Intent intent = getIntent();
String value1 = intent.getStringExtra("one");
int value2 = Integer.parseInt(value);
六、其他初級控制項使用
①ImageView
②RadioGroup和RadioButton
setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener())
③Checkbox
setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener())
④Menu
1.當客戶點擊MENU按鈕的時候,調用onCreateOptionMenu()方法
public boolean onCreateOptionMenu(Menu menu){
menu.add(0,1,1,R.string.id);
}
2.當客戶點擊MENU內部的具體某一個選項時,調用onOptionItemSelected()方法
public boolean onOptionItemSelected(MenuItem item){
if(item.getItemId() == 1){
finish();
}
return super.onOptionItemSelected(item);
}
七、Activity的生命周期
1.第一次創建時調用
protected void onCreat(Bundle saveInstanceState);
2.顯示出來時調用
protected void onStrat();
3.獲得用戶焦點時調用(可操作)
protected void onResume();
4.點擊彈出第二個Activity時調用
protected void onPause();
5.當第一個Activity不可見時調用
protected void onStop();
6.當返回第一個Activity時調用,代替OnCreate,因為沒被銷毀
protected void onRestart();
7.當返回第一個Activity時調用(先執行onStop,在執行,因為第二個Activity被銷毀,不能返回獲取,只能通過onCreat,onStart,onResume再創建)
protected void onDestory();
八、Task
1.Task是存放Activity的Stack棧。當點擊啟動第二個Activiry時,第一個Activtiy會被壓入Stack棧當中,第二個Activity會位於棧的頂部;當返回第一個Activtiy時,第二個Activity會被彈出Stack,第一個Activity會位於棧的頂部,以此類推。
注釋:當調用finish()時,當前的Activity會被Destory掉,棧中的Activity會消失。
2.當Activity都從Stack退出後,則就不存在Task。
九、高級控制項
①進度條ProgressBar
水平進度條style="?android:attr/progressBarStyleHorizontal"
圓圈進度條style="?android:attr/progressBarStyle"
用戶可視的visibility="gone"
②列表ListView
十、其他控制項
A.下拉菜單Spinner
1.創建一個ArrayAdapter:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, //指上下文對象
R.array.plant_array, //引用了在文件中定義的String數組
android.R.layout.simple_spinner_item);//用來指定Spinner的樣式,可替換自定義
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);//設置Spinner當中每個條目的樣式
2.得到Spinner對象,並設置數據:
spinner=(spinner)findViewById(R.id.spinnerId);
spinner.setAdapter(adapter);
spinner.setPrompt("測試");//標題
3.創建監聽器
class SpinnerOnSelectListener implements OnItemSelectedListener{
@override
public void onItemSelected(
AdapterView<?> adapterView,//整個列表對象
View view,//被選中的具體條目對象
int position,//位置
long id){ //id
String selected = adapterView.getItemAtPosition(position).toString();
}
@override
public void onNothingSelected(AdapterView<?> adapterView){
S.o.p("nothingSelected");
}
}
4.綁定監聽器
spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());
註:第二種動態設計
1.創建ArrayList對象
List<String> list = new ArrayList<String>();
list.add("test1");
2. 調用方法
ArrayAdapter adapter = new ArrayAdapter(
this, //指上下文對象
R.layout.item, //引用了指定了下拉菜單的自定義布局文件
R.id.textViewId,//id
list);//數據
3.得到Spinner對象,並設置對象
spinner.setAdapter(adapter);
spinner.setPrompt("測試");//標題
3.創建監聽器
class SpinnerOnSelectListener implements OnItemSelectedListener{
@override
public void onItemSelected(
AdapterView<?> adapterView,//整個列表對象
View view,//被選中的具體條目對象
int position,//位置
long id){ //id
String selected = adapterView.getItemAtPosition(position).toString();
}
@override
public void onNothingSelected(AdapterView<?> adapterView){
S.o.p("nothingSelected");
}
}
4.綁定監聽器
spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());
B.DatePicker和DatePickerDialog
1.聲明一個監聽器,使用匿名內部類
DatePickerDialog.OnDateSetListener onDateSetListener
= new DatePivkerDialog.OnDateSetListener(){
public void onDateSet(
DatePicker view,
int year,
int monthOfYear,
int dayOfMonth){
S.o.p(year+"-"+motnOfYear+"-"+dayOfMonth)
}
}
2.復寫onCreateDialog(int id)方法:
@override
protected Dialog onCreateDialog(int id){
switch(id){
case DATE_PICKER_ID:
return new DatePickerDialog(this,onDateSetListener,2019,11,25);
}
return null;
}
3.使用時調用showDialog()方法
showDialog(DATE_PICKER_ID);
C.AutoCompleteTextView
B.Widget
C.Animatin
十一、實現ContentProvider過程
1.定義一個CONTENT_URI常量
2.定義一個類,繼承ContentProvider
3.實現query、insert、update、delete、getType和onCreate方法
4.在AndroidManifest.xml當中進行聲明
㈥ 一般Android培訓學校學習課程有哪些
好程序員Android高端班課程,是一套涵蓋 Java 語言強化、Java Web 開發、Android 應用開發、Android 游戲開發的專業課程。本套課程真正圍繞Android知識體系制訂,絕非由Java EE課程、Java ME課程或者Symbian課程改造而成。每一階段課程涵蓋多個實戰項目,每個知識點均對應項目中實際功能,學習新知識的同時不斷向項目中添加新功能,獨特的教學方法幫助學員強化學習目標,迅速提升學習能力。致力於培養Android 高端開發人才,旨在培養真正的 Android 應用和游戲開發能力的高素質人才,學員畢業即具備行業前沿開發技術。
第一階段 Java面向對象高級編程——java編程語法進階
該階段課程重點講解了面向對象設計原則與設計模式;智能家居之遠程監控。
Java面向對象編程
1、面向對象設計原則
2、面向對象設計模式概要
3、面向對象設計模式a.創建型設計模式b.結構型設計模式c.行為模式4、數據結構與常用演算法
第二階段 高級JDK API開發技術 —— Java Web編程
該階段課程重點講解了JDK當中的高級API的使用方法,包括新的並發線程庫和反射機制。手機安全衛士
Java Web編程
1、並發線程庫介紹
2、線程本地變數的使用方法
3、信號量與可重入鎖
4、讀寫鎖的使用方法
5、阻塞隊列與同步集合庫使用方法
6、Java反射機制介紹
7、Class、Field和Method的使用方法
8、動態代理模式的使用方法
9、Java框架開發原理
第三階段 Android基礎階段大綱
一、UI基礎
1.Android環境搭建及工程目錄介紹:1.1 Android開發(版本:SDK21及以上版本)環境搭建1.2 Android發展史、移動設備操作系統、四層系統架構等理論知識1.3 HelloWorld程序1.4 adb shell簡介(install uninstall)
2.常用UI布局及主要控制項2.1 LinearLayout2.2 RelativeLayout2.3 FrameLayout2.4 GridLayout2.5 TextView基本用法
3.表單UI控制項及相應控制項的事件處理3.1 EditText、Button、ImageView3.2 RadioButton及RadioGroup的用法3.3 CheckBox的多選效果及監聽3.4 Toast的基本用法
4.Spinner、AutoCompleteTextView、ScrollView及適配器、數組資源4.1 Spinner4.2 適配器4.3 數組資源4.4 AutoCompleteTextView4.5 ScrollView4.6 ProgressBar、SeekBar、RatingBar
5.UI美化及Android資源5.1 Style的簡單用法5.2 Android資源匯總
二、應用核心組件初識
1.Activity生命周期及頁面跳轉傳值1.1 Activity的聲明和使用1.2 Activity生命周期1.3 Activity現場保護1.4 Activity基本頁面跳轉及傳值1.5 Activity具有返回值的頁面跳轉
2.Activity啟動模式及Intent七大屬性2.1 Task和Back Stack的基本概念2.2 Activity的啟動模式2.3 Intent屬性的特點及用法
3.AsyncTask非同步任務3.1 使用非同步任務的必要性3.2 非同步任務的用法
4.ListView基本用法及適配器介紹4.1 ListView基本用法4.2 SimpleAdapter4.3 BaseAdapter
5.ListView優化及分頁載入數據、GridView載入網路圖片、ExpandableListView5.1 ListView優化5.2 ListView滾動監聽實現分頁載入數據5.3 GridView載入圖片
三、數據存儲
1.菜單及對話框1.1 OptionsMenu1.2 ContextMenu1.3 PopupMenu1.4 PopupWindow1.5 AlertDialog1.6 ProgressDialog1.7 列表對話框1.8 自定義Dialog
2.數據存儲2.1 SharedPreferences2.2 內部存儲2.3 外部存儲2.4 存儲Bitmap圖片到外部存儲
3.SQLite資料庫與CursorAdapter適配器3.1 回顧SQLite3.2 SQLiteOpenHelper的用法3.3 CursorAdapter
4.ContentProvider4.1 ContentResolver實現系統資料庫的操作4.2 自定義ContentProvider
5.Loader5.1 CursorLoader的用法5.2 AsyncTaskLoader載入本地數據
四、移動開發主流界面實現
1.動畫資源1.1 幀動畫1.2 補間動畫1.3 屬性動畫
2.Fragment2.1 Fragment基本用法2.2 Fragment傳值2.3 Fragment性能優化
3.ViewPager3.1 ViewPager與適配器3.2 ViewPager載入網路圖片3.3 PagerAdapter的優化
4.書簽導航4.1 書簽導航多種實現方式(無需代碼實現)4.2 RadioGroup + ViewPager + Fragment實現導航4.3 HorizontalScrollView + ViewPager + Fragment實現導航
5.Handler、Looper消息傳遞機制5.1 Handler、Looper消息傳遞機制的原理5.2 Handler、Looper源碼
五、應用核心組件進階(Android Studio開發環境教學)
1.ActionBar (Action View、SearchView)+ ToolBar1.1 ActionBar1.2 ToolBar
2.BroadcastReceiver及Notification2.1 Notification (普通通知、大視圖通知、進度條通知、自定義通知)2.2 廣播接收器2.3 自定義發送廣播
3.Service基礎3.1 Service介紹3.2 Start Service3.3 IntentService3.4 Bind Service3.5 兩種服務混合使用實現MediaPlayer音樂播放
4.跨進程的Service4.1 AIDL4.2 Messenger
5.LruCache與Bitmap二次采樣、WebView與HTML5混合開發5.1 LruCache5.2 二次采樣5.3 WebView5.4 HTML5混合開發
六、View深入探究
1.網路地圖1.1 網路地圖基本用法1.2 網路地圖搜索
2. 事件分發消費機制2.1 事件分發消費機制原理2.2 事件分發消費機制的應用場景
3.自定義View(一)3.1 自定義View介紹3.2 自繪制的自定義View
4.自定義View(二)4.1 具有介面回調的自定義View4.2 繼承於ViewGroup的自定義View
5.機型適配及SVN搭建5.1 機型適配介紹5.2 屏幕相關重要概念回顧5.3 機型適配的解決方案5.4 SVN搭建
第四階段 Android項目實戰階段大綱
一、項目實戰第一階段
1.TabLayout及SlidingPaneLayout1.1 TabLayout(5.0Material Design新技術)與ViewPager配合自定義Tab1.2 SlidingPaneLayout左側或右側滑動1.3 NavigationView(5.0Material Design新技術)HeaderLayoutMenu xml配置Navigation監聽事件
2.okHttp網路訪問框架及Picasso2.1 okHttp框架的介紹2.2 okHttp框架的用法Http請求方法:get,post同步請求,非同步請求(回調在非UI線程中)2.3 Picasso載入網路圖片的用法簡單圖片請求Picasso通用配置:內存緩存大小,磁碟緩存大小及位置圖片載入配置:下載尺寸,填充模式,載入中圖片,錯誤圖片2.4 第三方側滑菜單:SlidingMenu菜單設置
3.Fresco(壁畫非同步載入圖片框架)3.1 Fresco框架的介紹3.2 Fresco框架的用法(中文文檔)簡單圖片請求Fresco通用配置:內存緩存大小,磁碟緩存大小及位置圖片載入配置:下載尺寸,填充模式,載入中圖片,錯誤圖片,頂層,底層,圖片變形
4.PullToRefresh、SwipeRefreshLayout及Ultra PullToRefresh4.1 PullToRefresh框架配置事件回調多種控制項PullToRefreshBase重寫4.2 SwipeRefreshLayout配置事件回調4.3 Ultra PullToRefresh(中文文檔)配置事件回調多種下拉效果
5.打包(按渠道打包)、混淆及數字簽名5.1 按渠道打包基本打包多渠道:資源,清單文件,代碼,調試5.2 混淆開啟混淆混淆配置:保留類,保留方法,忽略錯誤5.3 數字簽名生成keystore配置簽名
二、項目實戰第二階段——Android新技術
1.RecyclerView1.1 5.0新技術介紹(Material Design)設計理念、新增控制項1.2 RecyclerView的用法、CardView的用法1.3 RecyclerView與ListView比較
2.5.0Material Design新技術2.1 CoordinatorLayoutToolbar與Layout2.2 TextInputLayout錯誤監聽2.3 Snackbar監聽Action2.4 FloatingActionButton屬性介紹onClick
3.媒體播放器3.1 視頻播放器VideoView3.2 SurfaceView及MediaPlayerSurfaceView介紹與View區別SurfaceHolder與CallBackMediaPlayer.setDisplayMediaPlayer載入網路視頻3.3 獲取視頻縮略圖使用Fresco3.4 ListView的item實現視頻播放Item顯示視頻單Item播放Item滾出時停止播放3.5 播放器全屏顯示與恢復3.6 Vitamio(維他密播放器)
4.攝像頭、感測器、ZXing二維碼4.1 利用Intent實現攝像頭兩種模式,存文件和縮略圖4.2 加速度感測器實現《搖一搖》感測器獲取感測器監聽注冊加速度感測 搖一搖4.3 ZXing實現生成二維碼(容錯等級、二維碼正中心Logo)生成BitMatrix轉Bitmap容錯等級中心Logo4.4 ZXing實現二維碼掃描導包
5.JPush推送、ShareSDK一鍵分享及第三方登錄5.1 JPush極光推送的原理及用法通知推送消息推送推送原理5.2 ShareSDK一鍵分享及第三方登錄注冊集成分享第三方登錄APIOAuth介紹
三、項目實戰第三階段
1.加密解密1.1 對稱加密(AES 、DES、3DES)1.2 非對稱加密(RSA)1.3 消息摘要(MD5、 SHA-1 )1.4 編碼解碼(Base64、URLEncode、URLDecode)
2.網路支付2.1 Alipay支付2.2 微信支付
3.ButterKnife(反轉注入框架)、EventBus、ActiveAndroid(資料庫ORM框架)及Retrofit(網路訪問框架)3.1 ButterKnife(反轉注入框架)3.2 EventBus的用法3.3 ActiveAndroid(資料庫ORM框架)3.4 Retrofit(網路訪問框架)
4.項目實戰需知4.1Git、UML4.2XMPP4.3常見面試題4.4移動端與伺服器端的交互流程4.5移動開發工程師與web工程師工作配合的流程4.6面試常用技巧(面試禁忌)4.7開發規范(代碼規范)
第五階段 就業指導及職業規劃