Time of Update: 2017-02-27
除了能從一個Activity返回資料結果之外,向一個Activity傳遞資料也是很常用的。1. 建立一個 工程,PassData。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-02-27
startActivity()方法可以調用另外的Activity,但這種方法不會給當前的Activity返回一個結果。例如 ,你有一個Activity提示使用者輸入使用者名稱和密碼,使用者輸入的資訊需要被“回傳”給這個輸入資訊的 Activity,那就需要使用startActivityForResult()方法。1. secondactivity.xml中的代碼。<?xml version="1.0"
Time of Update: 2017-02-27
當要進行耗時的操作的時候,往往會看見“請稍候”字樣的對話方塊。例如,使用者正在登入伺服器,此時並 不允許使用者使用這個軟體,或者應用程式把結果返回給使用者之前,要進行某些耗時的計算。在這些情況下, 顯示一個“進度條”對話方塊,能友好地讓使用者等待,同時也能阻止使用者進行某些不必要的操作。1. 建立一個工程:Dialog。2. main.xml中的代碼。<?xml version="1.0"
Time of Update: 2017-02-27
有的時候,可能需要彈出一個對話方塊,以便從使用者的輸入來擷取某些確認資訊。這種情況下,可以重寫 Activity基類中的受保護方法(protected)onCreateDialog()。1. 建立一個工程:Dialog。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2017-02-27
在上一篇文章中,我和大家一起實現了類似於Android系統連絡人的分組導航和擠壓動畫功能,不過既然 文章名叫做《Android系統連絡人全特效實現》,那麼沒有快速滾動功能顯然是稱不上"全"的。 因此本篇文章我將帶領大家在上篇文章的代碼基礎上改進,加入快速滾動功能。如果還沒有看過我 上一篇文章,請抓緊去閱讀一下 Android系統連絡人全特效實現(上),分組導航和擠壓動畫 。其實 ListView本身是有一個快速滾動屬性的,可以通過在XML中設定
Time of Update: 2017-02-27
使用一個例子,來總結一下ListView的基本使用。1. 建立一個工程:ListViewDemo。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="
Time of Update: 2017-02-27
ListView是一個可以被深度擴充的視圖。在做項目的時候,擴充ListView去顯示資料是必不可免的。接下 來會展示如何在ListView中去選擇多個物件,以及如何使用ListView的“過濾”功能。1. 使用上一 節的工程:BasicViews5。2. 在BasicViews5Activity.java中添加一些代碼。String[] presidents; /** Called when the activity is first
Time of Update: 2017-02-27
DataPicker和上一節講的TimePicker很相似。使用DatePicker,可以讓使用者選擇一個特定的日期。下面展 示如何使用DatePicker。1. 使用上一節的工程,BasicViews4,修改main.xml。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/
Time of Update: 2017-02-27
使用TimePicker,可以讓使用者去選擇一天中的事件,包括24小時制和AM/PM制。下面的例子將會展示如何 使用TimePicker。1. 建立一個工程:BasicViews4。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2017-02-27
當執行某些正在處理的任務時,ProgressBar提供了一個可視化的反饋。例如,你在從web伺服器下載資料 ,然後需要更新下載的狀態。在這種情況下,ProgressBar就是一個很好的選擇。下面的例子,展示如何去使 用ProgressBar。1. 建立一個工程,BasicViews2。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2017-02-27
Button,ImageButton,EditText,ChcekBox,ToggleButton除了最常用的TextView,Android還提供了一些其他的基本控制項。ButtonImageButtonEditTextCheckBoxRadioGroup和RadioButtonToggleButton下面的例子,展示如何使用這些基本控制項。1. 建立一個工程:BasicViews。2. main.xml 中的代碼。<?xml version="1.0"
Time of Update: 2017-02-27
到目前為止,在所有的章節中,我們所看見的UI都是通過XML來實現的。之前也提及過,除了使用XML,也 可以使用代碼來實現UI介面。這個方式是很有用的,比如你的UI需要在運行時被產生。舉個例子,假設你在 編寫一個“電影票的預定系統”,你的程式使用按鈕Buttons去顯示每個電影院的座位。在這種情況下,你就 會需要依據實際情況去動態地產生UI。下面的例子將會展示如何通過編碼,動態地在Activity中產生 UI。1. 建立一個工程:UICode。2.
Time of Update: 2017-02-27
一、bindService簡介bindService是綁定Service服務,執行service服務中的邏輯流程。service通過 Context.startService()方法開始,通過Context.stopService()方法停止;也可以通過Service.stopSelf()方法或者 Service.stopSelfResult()方法來停止自己。只要調用一次stopService()方法便可以停止服務,無論之前它被調用了多少次的
Time of Update: 2017-02-27
一、 BroadcastReceiver簡介BroadcastReceiver,用於非同步接收廣播Intent,廣播Intent是通過調用 Context.sendBroadcast()發送、BroadcastReceiver()接收。廣播Intent的發送是通過調用Context.sendBroadcast()、
Time of Update: 2017-02-27
上節已經在openfire伺服器中建立了組,這節繼續看怎樣擷取好友名單,通過connection對象得到roster,從而可以使用roster.getGroups()得到所有組,使用group.getEntries()得到組中所有的使用者<span style="white-space:pre"> </span>//擷取好友名單 Roster roster = connection.getRoster();
Time of Update: 2017-02-27
1.1.1 postFramebuffer在多緩衝區機制中,只有把顯示資料寫入framebuffer才能真正在物理螢幕上顯示。前面幾個小節的輸出都是backbuffers,我們還需要最後一步——postFramebuffer。void SurfaceFlinger::postFramebuffer(){… const
Time of Update: 2017-02-27
1.1.1
Time of Update: 2017-02-27
1.1.1
Time of Update: 2017-02-27
1.1
Time of Update: 2017-02-27
這兩天需要做音視頻播放相關的東西,所以重新找了目前android下的解碼庫。Android內建的解碼庫支援不全,因此很多第三方播放器都是內建解碼器,絕大部分都是使用FFMpeg作為解碼庫。我11年的時候也弄過視頻播放器,當時也是基於FFMpeg來做。那時候網上有關Android視頻解碼庫的資料不多,只在git上找到一個人移植FFMpeg,把它弄下來編譯,有興趣可以看看當時的文章:Android 視頻播放器 faplayer 編譯