Time of Update: 2013-12-11
1.TextView的ellipsize我們都知道當在TextView中設定ellipsize時,顯示的結果會是縮減顯示,但是比較不好的是Google預設只會顯示倆行,如果自己想多顯示的話就必須自訂TextView,為了減少開發過程中的重複工作,我把最近做的項目中的這部分代碼貼出來,如下:[java]package com.hustunique.Fuubo.View; import android.content.Context; import
Time of Update: 2013-12-11
textview 垂直自動滾動字幕實現前段時間,在網上搜到一個文章,textview
Time of Update: 2013-12-11
Android ndk-stack tool----------------------Introduction:-------------This document describes the 'ndk-stack' tool that is distributed withthe Android NDK, since release r6.Overview:---------'ndk-stack' is a simple tool that allows
Time of Update: 2013-12-11
ndk-gdb最近用NDK開發一些東西,結果調試相關的內容學習了不少。因為自己也手生,所以就不保證接下來介紹的內容完全正確。編譯可調試代碼NDK_DEBUG=1;apk的androidmanifest.xml也要配置為debugable=true。遇上麻煩的時候NDK_LOG=1,--verbose,V=1可以輸出更詳細的資訊排查問題。偵錯符號debug symbol./obj/local/armeabi。如果動態庫不放到這裡,就會提示no debug
Time of Update: 2013-12-11
上一節http://www.bkjia.com/kf/201203/123062.html 說到 使用 Zygote.forkSystemServer 利用 fork 產生 SystemServer進程,那個這個進程到底幹了哪些事情呢?下面從 handleSystemServerProcess 處理流程開始講解程式碼片段如下:/* Request to fork the system server process */pid =
Time of Update: 2013-12-11
項目上需要對一些使用者圖片作處理(較複雜的處理,android內建的API實現不了,通過演算法自己實現),當使用者選中某張圖片a.jpg的時候先將原圖顯示在ImageView中(不論圖片大小,如果圖片較大ImageVIew等比例縮小顯示),因為是自己去處理圖片,當然是圖片越小處理越快越好,所以項目上決定採用圖片顯示的副本來處理而非原圖(因為原圖可能會很大)。問題:為了偷點懶,我是從ImageView.getDrawingCache方法擷取的副本,因為這個副本才是真正的顯示大小的副本(imageV
Time of Update: 2013-12-11
方法一:[java] ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if(info!=null &&
Time of Update: 2013-12-11
最近在使用TabHost的時候遇到一個問題:TabHost添加了4個Activity作為tab頁面,我們從左至右的順序稱呼它們為tab1,tab2,tab3,tab4。可是每次進入TabHost頁面的時候,不管我進來的時候點擊的是指向哪個Activity的跳轉,tab1的Activity總會首先被執行。可是我希望的效果是,我點擊tab2的跳轉,我就只希望執行tab2的Activity。分析:我看了一下TabHost
Time of Update: 2013-12-11
《Application Security for the Android Platform》55頁說到service的安全1startService(new Intent(this,MyService.class))這種內部自己調用的是無視許可權各種限制的,後面的自訂許可權這這種沒影響。如果service沒有 <intent-filter
Time of Update: 2013-12-11
寫一個簡訊監聽程式,大家很容易想到的就是註冊一個廣播接收器,來接收系統收到簡訊時候的廣播。可是這個廣播是有序廣播,就是當別的程式先擷取到了這個廣播再傳遞給你,當然它也可以幹掉這個廣播,讓你接收不到,這樣你的程式肯定是接收不到這個廣播的了。網上有很多這樣的例子,什麼提高廣播接收器的優先順序又是1000又是10000的。。大家可以看看這個廣播的基本介紹:http://wenku.baidu.com/view/226f9dd5b14e852458fb57ba.html這裡提到了把intent-filt
Time of Update: 2013-12-11
有時候android系統提供給我們的ratingbar效果並不達到我們的要求,這個時候就可以自訂自己喜歡的ratingbar。從上面的效果可以看出,自訂這樣的組件,需要兩張圖片: 。一張用來未選擇的效果,一張用來顯示的效果。那還要中間那種一半是未選擇一半時選擇的呢?其實當你寫好這樣的組件後,系統就會自動幫你自動解析產生那種效果。整個項目布局:我們一步一步來分析: Xml代碼 <RatingBar style=&
Time of Update: 2013-12-11
Android SDCard架構Android SDCard架構,我們修改一般涉及到四大模組1. Linux Kernel 用於檢測熱拔插,作為架構開發人員來說,這者不用涉及2. Vold 作為Kernel 與 Framework 之間的橋樑3. Framework 操作Vold ,給Vold 下發操作命令4. UI 與Framework 互動,用於掛載/卸載SD卡架構涉及的源碼位置Vold
Time of Update: 2013-12-11
接著昨天http://www.bkjia.com/kf/201203/124792.html 的寫,實現登入的服務端部分。首先得弄個資料庫,然後建立一個表,儲存所有使用者的使用者名稱和密碼,當在用戶端發出查詢請求的時候會把使用者輸入的使用者名稱和密碼傳到伺服器端,然後在資料庫中進行查詢,這裡我們的表就3個欄位,一個ID,一個username和一個password。
Time of Update: 2013-12-11
一般情況下程式是在某一個點掛掉的,我們可以用adb shell ps查到PID,然後在target端用gdbserver attach上去,最後在host端用gdb連上去調。但程式往往不會崩潰得這麼完美,很多情況下程式一起來就crash掉了。這個時候分兩種情況:1.真的是一起來就掛掉的。2.一起來後稍稍過會就掛掉的。 這裡我用的系統是:Host: Ubuntu x64Target: Android
Time of Update: 2013-12-11
這裡主要實現了。省份和城市的二級關聯。選擇省份。二級對應的就是省份所有的城市下面看代碼; 1.activity @Override protected void onCreate(Bundle savedInstanceState) {
Time of Update: 2013-12-11
最近在學習遊戲開發,在遊戲中常常需要設定遊戲的難度,在Android中我們可以使用RatingBar來實現。具體看下面的代碼:如下: package com.cloay.pt.ui; import java.io.FileNotFoundException; import java.io.IOException; import
Time of Update: 2013-12-11
當程式的一個組件啟動的時候,如果這時程式中沒有其他組件正在啟動並執行話,Android系統將會為這個程式啟動一個進程和一個線程。預設情況下,同一個程式中的所有組件運行在相同的進程和線程中(該線程被稱為main線程)。如果當一個程式的組件啟動的時候,該程式已經有一個進程的話(這種情況可能是因為程式的其他的某個組件已經運行了),程式的該組件就會在這個已經存在的進程中被啟動,並且運行在同一個線程(即main線程)中。當然,你也可以讓同一程式中的不同組件分別運行在不同的進程中,並且你可以為這些進程分別建
Time of Update: 2013-12-11
android介面結構如所示: 常用介面組件:textview,listview,toast(簡短提示)等。介面布局:LinearLayout:線性布局RelativeLayout:相對布局TableLayout:表單布局TabWideget:切換選項卡 AbsoluteLayout:自訂x,y位置布局遊戲開發遊戲開發不使用上述布局方式,遊戲是通過狀態機器讓Canvas不斷在view上面畫所需要的東西。view類開發架構通知介面重新整理可以使用Handler或者p
Time of Update: 2013-12-11
1. Android源碼計算機:當輸入到一定數,加減乘除一些數後,容易報錯。2.
Time of Update: 2013-12-11
安卓Activity中,已包含了Menu對象,所以建立菜單只需要重寫onCreateOptionsMenu()方法,添加菜單方法有多種:1.直接添加功能表項目 menu.add("功能表項目1"); 2.通過資源指定標題