我的新浪微博(wind瑞):http://weibo.com/tianrui1990內容來自網路搜集並結合本人心得整理,推薦給大家:“積分牆是在一個應用內展示優質的軟體產品,以供使用者下載安裝的系統。使用者在嵌入積分牆的應用內下載積分牆提供的產品將獲得積分,該應用的開發人員則能得到相應的收入。”
一、線程間通訊的Message機制1、Message介紹frameworks\base\core\java\android\Os\Message.javaMessage是線程之間傳遞資訊的載體,包含了對訊息的描述和任意的資料對象。Message中包含了兩個額外的 int欄位和一個object欄位,這樣在大部分情況下,使用者就不需要再做記憶體配置工作了。雖然Message的建構函式是public的,但是最好是使用Message.obtain( )或Handler.obtainMessage( )
原文地址http://developer.android.com/training/custom-views/create-view.html說在前面的話:第一次翻譯,自知翻譯得不是很好,所以請讀者(如果有讀者的話)不要責怪,我相信以後會做得更好的。為什麼我要去翻譯,我想原因有以下幾點吧:鍛煉我的英語閱讀的能力通過認真地翻譯,讓我可以對翻譯的內容有更深入的瞭解,可以很好的學習其中的知識。將英文翻譯為中文,可以協助其他一些英語閱讀有困難的人來學習文中的知識(當然了,我現在能力有限,翻譯的東西都是很
代碼 public String getFromAssets(String fileName){ try { InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) ); BufferedReader bufReader = new
package com.example.wifitest;import java.util.List;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import
如題,預設下,HttpClient是不能請求Https的,需要自己擷取private static final int SET_CONNECTION_TIMEOUT = 5 * 1000;private static final int SET_SOCKET_TIMEOUT = 20 * 1000;public static HttpClient getNewHttpClient() {try {KeyStore trustStore =
1 xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
ContentProvider簡介及其好處簡介:ContentProvider 在android中的作用是對外共用資料,也就是說你可以通過ContentProvider把應用中的資料共用給其他應用訪問,其他應用可以通過ContentProvider 對你應用中的資料進行添刪改查。關於資料共用,以前我們學習過檔案操作模式,知道通過指定檔案的操作模式為Context.MODE_WORLD_READABLE
BroadcastReceiver初識:廣播接收者(BroadcastReceiver)用於接收廣播Intent,廣播Intent的發送是通過調用Context.sendBroadcast()、Context.sendOrderedBroadcast()來實現的。通常一個廣播Intent可以被訂閱了此Intent的多個廣播接收者所接收,這個特性跟JMS中的Topic訊息接收者類似。要實現一個廣播接收者方法如下:第一步:繼承BroadcastReceiver,並重寫onReceive()方法。pu
Pull解析器是一個開源的java項目,既可以用於android,也可以用於JavaEE。如果用在javaEE需要把其jar檔案放入類路徑中,因為Android已經整合進了Pull解析器,所以無需添加任何jar檔案。android系統本身使用到的各種xml檔案,其內部也是採用Pull解析器進行解析的。 Pull解析器的運行方式與 SAX 解析器相似。它提供了類似的事件,如:開始元素和結束元素事件,使用parser.next()可以進入下一個元素並觸發相應事件。跟SAX不同的是,
正常關閉應用程式:當應用不再使用時,通常需要關閉應用,可以使用以下三種方法關閉android應用:第一種方法:首先擷取當前進程的id,然後殺死該進程。
安裝ApkTool工具,該工具可以解碼得到資源檔,但不能得到Java源檔案。安裝環境:需要安裝JRE1.61> 到http://code.google.com/p/android-apktool/下載apktool1.3.2.tar.bz2 和apktool-install-windows-2.2_r01-3.tar.bz2 檔案。解壓兩個檔案,然後把解壓後的檔案放在一起,如:c:\apktool2> 在系統變數PATH中添加進aapt.exe,如:;c:\apktool\aapt.
AsyncQueryHandler簡介:非同步查詢操作協助類,可以處理增刪改(ContentProvider提供的資料)使用情境:在一般的應用中可以使用ContentProvider去操作資料庫。這在資料量很小的時候是沒有問題的,但是如果資料量大了,可能導致UI線程發生ANR異常(超過5秒)。當然你也可以寫個Handler去做這些操作,只是你每次使用ContentProvider時都要再寫個Handler,必然降低了效率。因此當資料量較大時,最好還是使用Android已經封裝好的非同步查詢方塊架
項目名:HelloFromC一、在開始jni編程之前對我們使用的環境進行如下配置:(在windows環境下)1、下載android-ndk-r7b,解壓放在C:\android-ndk-r7b目錄下。(方便輸入命令,也可以自定目錄)2、下載cygwin。 安裝的時候,最高版本進行安裝。3、配置NDK的 cygwin環境變數 為了方便直接在命令列裡面使用ndk-build需要給cygwin的環境變數裡面添加ndk的目錄目錄/etc/profile/4、運行cygwin。(可輸入如下命令:mak
先簡單說說Widget的原理。Widget是在案頭上的一塊顯示資訊的東西,也通過單擊Widget跳轉到一個程式裡面。而系統內建的程式,典型的Widget是music,這個Android內建的音樂播放小程式。這個是典型的Widget+app應用。就是一個程式既可以通過Widget啟動,也可以通過App啟動。Widget就是一個AppWidgetProvider+一個UI介面顯示(預先綁定了好多Intent),介面上的資訊可以通過程式控制而改變,單擊Widget,上的控制項只能激發發送一個Inten
Android開發規範之編碼規範1,java代碼中不出現中文,最多注釋中可以出現中文,中文統一寫在strings.xml中;2,局部變數命名、靜態成員變數命名 只能包含字母,單字首大寫,其他字母都為小寫3,常量命名只能包含字母和_,字母全部大寫,單詞之間用_隔開4,布局檔案中的id命名命名模式為:view縮寫_模組名稱_view的邏輯名稱常用控制項的縮寫如下LayoutView:lv_RelativeView : rv_TextView : tv_ImageView :
線程系統的分類1.1 作業系統核心實現了執行緒模式(核心型線程)- Windows - 線程與進程的多對多模型線程效率比較高Window Thread結構如所示:1.2 作業系統核外實現的線程(使用者進程)- Linux 部分 Unix 線程與進程的一對一,一對多模型,線程的調度者在核外Linux Thread結構如所示:Linux 線程的實現和調度:2.6之前使用的是LinuxThreads,2.6之後是NPTL.(Native Posix Thread
通過應用程式內建資源實現換膚,典型的應用為QQ空間中換膚的實現. 應用情境為: 應用一般不大,且頁面較少,風格相對簡單,一般只用實現部分資源或者只用實現背景的更換. 此種換膚方式實現的思路: 1. 把幾套皮膚放在res/drawable目錄裡,然後用SharedPreferences來記錄當前皮膚的資源id.然後在程式啟動時載入Activity背景。 2. 主要的實現在皮膚管理器SkinManager類中. 將皮膚資源的ID加入集合中.
CountDownTimer這個類,從名字上面大家就可以看出來,記錄下載時間。將後台線程的建立和Handler隊列封裝成為了一個方便的類調用。 查看了一下官方文檔,這個類及其簡單,只有四個方法,上面都涉及到了onTick,onFinsh、cancel和start。其中前面兩個是抽象方法,所以要重寫一下。 下面是官方給的一個小例子:1. new CountdownTimer(30000, 1000) { 2. public void onTick(long millisUntilFini
Traceview是android平台配備一個很好的效能分析的工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程式的效能,並且能具體到method。在SDK路徑\tools目錄下.1.在開始使用TraceView你要注意: 你的裝置和模擬器必須設定SD card 和 你的程式擁有對SD card 具有讀寫操作的許可權(<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"