個例子實現的功能是:1,安裝程式後看的一個Activity程式介面,裡面有個按鈕,點擊按鈕就會啟動一個Service服務,此時在設定程式管理裡面會看的有個Activity和一個Service服務運行2,如果手機關機重啟,會觸發你的程式裡面的Service服務,當然,手機啟動後是看不到你的程式介面。好比手機裡面內建的鬧鐘功能,手機重啟看不到鬧鐘設定介面只是啟動服務,時間到了,鬧鐘就好響鈴提醒。程式碼是:首先要有一個用於開機啟動的Activity,給你們的按鈕設定OnClickListener();
一、在 AndroidManifest.xml檔案中配置Widgets:複製代碼 代碼如下:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.widget" android:versionCode="1" android:versionName="1.0"
1、建好項目之後在它的layout檔案夾下建立一個title.xml檔案,作為自訂視窗標題的檔案。複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
1、Toast控制項:通過查看原始碼,發現Toast裡面實現的原理是通過服務Context.LAYOUT_INFLATER_SERVICE擷取一個LayoutInflater布局管理器,從而擷取一個View對象(TextView),設定內容將其顯示複製代碼 代碼如下:public static Toast makeText(Context context, CharSequence text, int duration) {
1、在android4.0以後的版本,主線程(UI線程)不在支援網路請求,原因大概是影響主線程,速度太慢,容易卡機,所以需要開啟新的線程請求資料;複製代碼 代碼如下:thread1 = new Thread(){@Overridepublic void run() { try { URL url = new URL(WebUrlManager.CARSEVER_GetCarsServlet);
1.設計思路,使用VersionCode定義為版本升級參數。android為我們定義版本提供了2個屬性:複製代碼 代碼如下:<manifest package="com.cnblogs.tianxia.subway"android:versionCode="1"
複製代碼 代碼如下:package com.demo.day20140228;import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Statement;import jxl.Cell;import jxl.Sheet;import
曾經有一個朋友問過我一個問題, 一張512*512 150KB PNG格式圖片和一張512*512 100KB 壓縮比是8的JPG格式的圖片,載入到記憶體中,也就是載入到一個Bitmap中,哪個佔用的記憶體大? 這個問題似乎有點難回答,測試一下就知道了.好了,按照要求我準備了三張圖片,1. 512*512px, 114KB, PNG2. 512*512px, 138KB, JPG ,壓縮比 123. 512*512px, 57KB, JPG,壓縮比
複製代碼 代碼如下:package com.homer.sms;import java.sql.Date;import java.text.SimpleDateFormat;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteException;import android.net.Uri;import android.os.Bundle;import
複製代碼 代碼如下:package com.homer.phone;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.provider.ContactsContract;import
複製代碼 代碼如下:// 讀取assets檔案private void assetsRead(){String fileName = "my_assets.txt";// assets下檔案//String fileName = "test/my_assets_test.txt";// assets下子目錄檔案String ret = "";try {InputStream is = getResources().getAssets().open(fileName);int len =
複製代碼 代碼如下:// 讀取sdcard檔案private void sdcardRead(){String fileName = "/sdcard/my_sdcard.txt";// assets下檔案//String fileName = "/sdcard/test/my_sdcard_test.txt";// sdcard下子目錄檔案String ret = "";try {FileInputStream fis = new FileInputStream(fileName);int
Android串連首先,要判斷網路狀態,需要有相應的許可權,下面為許可權代碼(AndroidManifest.xml):複製代碼 代碼如下:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/>然後,檢測網路狀態是否可用複製代碼 代碼如下:/** *
方法1: 系統api實現複製代碼 代碼如下:Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic); //bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(bitmap);
許可權提升方法:一種方法:1、在AndroidManifest.xml中的manifest節點中添加 android:sharedUserId="android.uid.system"。2、添加後程式在虛擬機器上是不可以直接用的。但可以用eclipse編譯成apk。3、(這一步經驗證不執行即可)編譯成apk後用壓縮公用程式開啟apk,把META-INF目錄中的CERT.SF、CERT.RSA 兩個檔案刪除。4、使用android內建的簽名工具signapk.jar 以及源碼中的platform.
BroadcastReceiver 是系統全域廣播監聽類, 其主要方法是onReceive(),自訂的廣播類繼承於它並實現自己的onReceive()處理邏輯BroadcastReceiver 使用前,需要進行註冊監聽(xml和代碼兩種方式),不使用時需要登出監聽,其生命週期一般為整個應用的生命週期1, 自訂廣播自訂廣播MyInstalledReceiver繼承自BroadcastReceiver,實現其onReceive()方式,具體代碼如下:複製代碼 代碼如下:public class
它的繼承關係如下所示:複製代碼 代碼如下:java.lang.Objectandroid.content.Contextandroid.content.ContextWrapperandroid.app.Application操作步驟步驟1、建立Application子類,範例程式碼:複製代碼 代碼如下://ApplicationAct繼承自Application類public class ApplicationAct extends
傳統方式:複製代碼 代碼如下:public void backSms(View view){ //假設我已經擷取到了所有的簡訊 StringBuilder sb = new StringBuilder(); sb.append("<?xml version=\"1.0\"
* AsyncTask 看上去修改後的connect()方法已經可用了,但是這種匿名線程的方式是存在缺陷的:第一,線程的開銷較大,如果每個任務都要建立一個線程,那麼應用 程式的效率要低很多;第二,線程無法管理,匿名線程建立並啟動後就不受程式的控制了,如果有很多個請求發送,那麼就會啟動非常多的線程,系統將不堪重負。
最近遇到一個關於android軟鍵盤的問題。在ListView中每個Item中都有個EditText,在最後的幾個Item中,EditText第一次點擊介面還能向上彈出,正常顯示,但第二次點擊時,軟體盤就把最後的幾個Item給正當住了。這樣很影響使用者體驗的。其實解決的辦法只要想一下,我相信有經驗的開發人員就能夠想到,讓軟鍵盤在消失的時候讓相應Item中的EditText消失焦點clearFouce();但是有個關鍵的問題,就是在獲得返回事件的時候,如果獲得的事件不對那就不會達到想要的效果。這個