Time of Update: 2017-01-19
1、問題提出 1)為何需要多線程? 2)多線程如何?? 3)多線程機制的核心是啥? 4)到底有多少種實現方式? 2、問題分析 1)究其為啥需要多線程的本質就是非同步處理,直觀一點說就是不要讓使用者感覺到“很卡”。 eg:你點擊按鈕下載一首歌,接著該按鈕一直處於按下狀態,那麼使用者體驗就很差。 2)多線程實現方式implements Runnable 或 extends Thread 3)多線程核心機制是Handler 4)提供如下幾種實現方式 —-1—–Handler
Time of Update: 2017-01-19
MainActivity如下: 複製代碼 代碼如下: package cn.testgethandsetinfo; import android.os.Bundle; import android.text.TextUtils; import android.widget.TextView; import android.app.Activity; import android.content.Context; import android.content.pm.PackageInfo;
Time of Update: 2017-01-19
MainActivity如下: 複製代碼 代碼如下: package cn.testmediametadataretriever; import java.io.File; import java.io.FileOutputStream; import android.media.MediaMetadataRetriever; import android.os.Bundle; import android.os.Environment; import android.app.Activity;
Time of Update: 2017-01-19
MainActivity如下: 複製代碼 代碼如下: package cn.testcallback; import android.os.Bundle; import android.widget.Toast; import android.app.Activity; /** * Demo描述: * Android中回調介面的使用 */ public class MainActivity extends Activity { @Override protected void onCreate(
Time of Update: 2017-01-19
初始Custom View的建構函式之前寫過一篇實現圓形進度條的部落格(自訂圓形進度條),通常我們在實現Custom View的時候,都會先繼承View並實現View的三個建構函式,例如:import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.view.View;public class MyCustomView extends
Time of Update: 2017-01-19
在android中,經常要用到協助、about、關於作者等的提示頁面。類似這樣的頁面:這樣的頁面,我們可以通過AlertDialog對話方塊來設計。設計一個AboutDialog類繼承於AlertDialog複製代碼 代碼如下:public class AboutDialog extends AlertDialog { public AboutDialog(Context context)
Time of Update: 2017-01-19
loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字元,出現這種字元就會出現解析錯誤,顯示找不到網頁還有部分html代碼。需要如何處理呢?我們需要用UrlEncoder編碼為%23, %25, %27, %3f 。可以使用以下兩種代碼,data為string類型的html代碼1、webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html",
Time of Update: 2017-01-19
在Android中,用string-array是一種簡單的提取XML資源檔資料的方法。例子如下:把相應的資料放到values檔案夾的arrays.xml檔案裡複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="city">
Time of Update: 2017-01-19
1)如何獲得MediaPlayer執行個體:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//這時就不用調用setDataSource了2) 如何設定要播放的檔案:MediaPlayer要播放的檔案主要包括3個來源:a.
Time of Update: 2017-01-19
背景知識:當Android啟動時,會發出一個系統廣播,內容為ACTION_BOOT_COMPLETED,它的字符串常量表示為 android.intent.action.BOOT_COMPLETED。只要在程式中“捕捉”到這個訊息,再啟動之即可。記住,Android架構說:Don''t call me, I''ll call you
Time of Update: 2017-01-19
1. dip: device independent pixels(裝置獨立像素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。
Time of Update: 2017-01-19
程式員最頭疼的事情就是bug和debug。這次debug長達20天,搞的我心力交瘁。累,因為Android相容性,不同手機會有不同的bug出來,而且很難複現,所以就上網找了下類似儲存錯誤log到檔案再上傳到伺服器,現把源碼也共用出來。上傳至伺服器的代碼我沒加。相信大家都有現成的代碼了。先講下原理,跟JavaEE的自訂異常捕獲一樣,將錯誤一直向上拋,然後在最上層統一處理。這裡就可以獲得Exception Message,進行儲存操作異常捕獲類如下:複製代碼 代碼如下:/** *
Time of Update: 2017-01-19
Android提供三種字型:“Sans”,“serif”和“monospace”。1、在Android XML檔案中設定字型可以採用android:typeface,例如android:typeface=”monospace”。在這裡例子中我們在Activity中對android:text=”Hello, World!
Time of Update: 2017-01-19
在做android 開發時,在預設情況下當螢幕從豎評變到橫屏時會觸發 onConfigurationChanged 事件 在預設情況下會重新載入畫面並顯示和橫評一樣的畫面,這樣會有2個問題,布局問題,在豎屏 顯示的布局到橫屏中由於寬和高發生了變化所有多少都會影響到布局(除非你定製2套畫面在然後加個判斷在橫屏時怎麼顯示,在豎屏時怎麼顯示),當然最簡單的辦法就是在項目的 AndroidManifest.xml中找到你所指定的activity 中加上
Time of Update: 2017-01-19
Android橫豎屏要解決的問題應該就兩個:一。布局問題;二。重新載入問題。1.布局問題:如果不想讓軟體在橫豎屏之間切換,最簡單的辦法就是在項目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation屬性,他有以下幾個參數:"unspecified" 預設值 由系統來判斷顯示方向.判定的策略是和裝置相關的,所以不同的裝置會有不同的顯示方向. "landscape" 橫屏顯示(寬比高要長) "portrait"
Time of Update: 2017-01-19
如果你做過多媒體應用,一定會苦惱過,怎樣擷取sd卡中的多媒體檔案。android還是很強大的,如果你知道怎麼調用android的api,萬事就ok了。 當手機或模擬器開機時,會調用android的MediaScanner,掃描sd卡和記憶體裡的檔案。以下是log資訊。 複製代碼 代碼如下:12-13 15:39:11.062: VERBOSE/MediaPlayerService(67): Create new media retriever from pid 349<BR> 12-
Time of Update: 2017-01-19
複製代碼 代碼如下:W/ResourceType( 756): Failure getting entry for 0x7f020004 (t=1 e=4) in package 0: 0xffffffb1D/AndroidRuntime( 756): Shutting down VMW/dalvikvm( 756): threadid=1: thread exiting with uncaught exception (group=0x2aac47c8)E/
Time of Update: 2017-01-19
最近作圖片的顯示,遇到了些問題,簡單總結1)可以用ImageSwicher和ImageView結合在來做,這樣會用到setFectory(),華而不實最要命的是如果圖片的大小超過螢幕,實現比較困難,目前是沒有找到方法2)最簡單的方法是用ImageView,圖片直接FIT_CENTER,android會根據圖片的大小自動調節保持圖片的比例。如果圖片解析度超過螢幕,android也會自動的調整到螢幕能放下整張的圖片在放大圖片的時候,可以用ImageView的SetFrame() 和setScale(
Time of Update: 2017-01-19
本文使用Matrix實現Android實現圖片縮放與旋轉。範例程式碼如下:複製代碼 代碼如下:package com.android.matrix;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.drawable.BitmapDrawable;
Time of Update: 2017-01-19
我們都知道,在我們開發時需要在模擬器上類比GPS,可在Location的時候總是null,上網查了一下,發現如下解決: 網上大俠的解決方案: 在模擬器上擷取GPS資訊時,使用Location loc = LocationManager.getLastKnownLocation("gps");來擷取location資訊,但是往往在調試中loc是null的,因為首先需要在模擬器中手動添加GPS資訊,有兩種手動添加方法 1、在eclipse下,windows-->open