Time of Update: 2018-12-07
在一個項目中我們可能會需要用到相同的布局設計,如果都寫在一個xml檔案中,代碼顯得很冗餘,並且可讀性也很差,所以我們可以把相同布局的代碼單獨寫成一個模組,然後用到的時候可以通過<include /> 標籤來重用layout代碼。app_title.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:id="@+id/titleLayout"
Time of Update: 2018-12-07
具體代碼如下:第一步:try { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); } catch (ActivityNotFoundException e) { // Do nothing for now }第二步:@Overrideprotected void onActivityResult(int requestCode,
Time of Update: 2018-12-07
//選擇圖片 requestCode 返回的標識Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"innerIntent.setType(contentType); //查看類型 String IMAGE_UNSPECIFIED = "image/*";Intent wrapperIntent =
Time of Update: 2018-12-07
public void downFile(String url, String path, String fileName)throws IOException {if (fileName == null || fileName == "")this.FileName = url.substring(url.lastIndexOf("/") + 1);elsethis.FileName = fileName; // 取得檔案名稱,如果輸入新檔案名稱,則使用新檔案名稱URL Url = new
Time of Update: 2018-12-07
現在每天都在忙,而且一忙起來,就把寫筆記的事情放在了後面,最近在寫程式的時候,突然要使用全域變數,就按照以前的方式,寫了一個類,然後把變數都聲明為靜態變數,然後做為全域變數使用,但是在進行Activity切換的時候,突然發現,在前面一個Acitivty中賦值後,但是在後面卻無法擷取到,剛開始以為是有其它地方有問題,但是後來檢查發現也沒有問題,這個問題困擾了一個來小時,後來又換一種寫法,就是使用Application,但是在使用的時候,也發現有這種問題,當時真是感覺不知道如何處理了,在網上查資料也
Time of Update: 2018-12-07
android中include標籤是為了便於控制項的覆用的一個很好解決方案。 但是也有一些需要注意的地方,下面是本人在項目中碰到過的一個問題,做此記錄,便於以後查看。 include標籤用法。 1.建立一個xml檔案,命名 head.xml head.xml檔案內容如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout
Time of Update: 2018-12-07
package a.test;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import android.app.Activity;import
Time of Update: 2018-12-07
package a.test;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.io.StringReader;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.InputSource;import
Time of Update: 2018-12-07
在開發一個項目時,遇到了這麼一個問題,登入介面是用Android的native的UI來做的,登入成功後會跳轉到WebView來載入Sencha Touch的資料,但是在WebView到後台Load資料的時候發現,這時的session和登入時的session不同了,因此取不到資料,為此google了很久,終於在StackOverflow找到了方法,在此先貼出原文地址:其中關鍵點在下面的這些code裡:private DefaultHttpClient httpClient; public
Time of Update: 2018-12-07
背景知識:可以用Activity和Service來開始訊息通知,兩者的區別在於一個是在前台觸發,一個是後台服務觸發。要使用訊息通知,必須要用到兩個類:NotificationManager和Notification,其他NotificationManager的初始化是用getSystemService方法,並且通過notify方法來向android系統發送訊息列通知和顯示。代碼://訊息通知欄//定義NotificationManagerString ns =
Time of Update: 2018-12-07
一、當Acitivity和Service處於同一個Application和進程時,通過繼承Binder類來實現。 當一個Activity綁定到一個Service上時,它負責維護Service執行個體的引用,允許你對正在啟動並執行Service進行一些方法調用。比如你後台有一個播放背景音樂的Service,這時就可以用這種方式來進行通訊。代碼如下:/*************************Service代碼*************************************
Time of Update: 2018-12-07
Traceview是android平台配備的一個很好的效能分析工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程式的效能,並且能具體到method。進行Traceview的版本限制對於Android 1.5及以下的版本:不支援。對於Android 1.5以上2.1下(含2.1)的版本:受限支援。trace檔案只能產生到SD卡,且必須在程式中加入代碼。對於Android
Time of Update: 2018-12-07
Android遊戲當中主要的除了控制類外就是顯示類View。SurfaceView是從View基類中派生出來的顯示類。android遊戲開發中常用的三種視圖是:view、SurfaceView和GLSurfaceView。 View:顯示視圖,內建畫布,提供圖形繪製函數、觸屏事件、按鍵事件函數等;必須在UI主線程內更新畫面,速度較慢。 SurfaceView:基於view視圖進行拓展的視圖類,更適合2D遊戲的開發;是view的子類,類似使用雙緩機制,在新的線程中更新畫面所以重新整理介面速
Time of Update: 2018-12-07
1.概念 SurfaceView是View類的子類,可以直接從記憶體或者DMA等硬體介面取得映像資料,是個非常重要的繪圖視圖。它的特性是:可以在主線程之外的線程中向螢幕繪圖上。這樣可以避免畫圖任務繁重的時候造成主線程阻塞,從而提高了程式的反應速度。在遊戲開發中多用到SurfaceView,遊戲中的背景、人物、動畫等等盡量在畫布canvas中畫出。2.實現方法1)實現步驟 a.繼承SurfaceView
Time of Update: 2018-12-07
1.概念 盛放Tab的容器就是TabHost。TabHost的實現有兩種方式: 第一種繼承TabActivity,從TabActivity中用getTabHost()方法擷取TabHost。各個Tab中的內容在布局檔案中定義就行了。
Time of Update: 2018-12-07
Android中讀取/寫入檔案的方法,與Java中的I/O是一樣的,提供了openFileInput()和openFileOutput()方法來讀取裝置上的檔案。但是在預設狀態下,檔案是不能在不同的程式之間共用的,以上兩個方法只支援讀取該應用目錄下的檔案,讀取非其自身目錄下的檔案將會拋出FileNotFoundException異常。建立的檔案存放在/data/data/<package
Time of Update: 2018-12-07
1.HttpURLConnection串連URL1)建立一個URL對象URL url = new URL(http://www.baidu.com);2)利用HttpURLConnection對象從網路中擷取網頁資料HttpURLConnection conn = (HttpURLConnection) url.openConnection();3)設定連線逾時conn.setConnectTimeout(6*1000);4)對響應碼進行判斷if (conn.getResponseCode()
Time of Update: 2018-12-07
import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; public class PermissionActivity extends Activity { private final int[] MODES=new int[]{ Activity.MODE_PRIVATE,//預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,
Time of Update: 2018-12-07
Android系統的移植工作的目的是為了在特定的硬體上運行Android系統。在移植的過程中,把握關鍵要點,減少工作量是一個重要的方面。從工作的角度,通常的方法為,首先要熟悉硬體抽象層的介面,其次要整合和複用已有的驅動程式,主要的工作量在硬體抽象層的實現中。為了更好地理解和調試系統,也應該適當地瞭解上層對硬體抽象層的調用情況。 移植方面主要的工作有兩個部分: Linux驅動 Android系統硬體抽象層 Linux中的驅動工作在核心空間,Android系統硬體抽象層工作在使用者空間,有了
Time of Update: 2018-12-07
在SDK的Tools檔案夾下包含著Android模擬器操作的重要命令ADB,ADB的全稱為Android Debug Bridge,就是調試橋的作用,藉助這個工具,我們可以管理裝置或手機模擬器的狀態 ,還可以進行以下的操作:(1)快速更新裝置或手機模擬器中的代碼,如應用或Android系統升級;(2)在裝置上運行Shell命令;(3)管理裝置或手機模擬器上的預定連接埠;(4)在裝置或手機模擬器上複製或粘貼檔案。 ADB的工作方式比較特殊採用監聽Socket TCP