Time of Update: 2018-12-08
如果ContentProvider的訪問者需要知道ContentProvider中的資料的變化情況,可以在ContentProvider發生資料變化時調用getContentResolver().notifyChange(uri,null)來通知註冊在此URI上的訪問者。複製代碼 代碼如下:public class PersonContentProvider extends ContentProvider[ public Uri insert(Uri uri,ContentValues
Time of Update: 2018-12-08
Handler的定義:主要接受子線程發送的資料, 並用此資料配合主線程更新UI.解釋: 當應用程式啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理介面中的UI控制項,進行事件分發, 比如說, 你要是點擊一個 Button ,Android會分發事件到Button上,來響應你的操作。如果此時需要一個耗時的操作,例如: 連網讀取資料,或者讀取本地較大的一個檔案的時候,你不能把這些操作放在主線程中,如果你放在主線程中的話,介面會出現假死現象, 如果5秒鐘還沒有完成的話,
Time of Update: 2018-12-08
Android狀態列提醒在Android中提醒功能也可以用AlertDialog,但是我們要謹慎的使用,因為當使用AlertDialog的時候,使用者進行中的操作將會被打斷,因為當前焦點被AlertDialog得到。我們可以想像一下,當使用者打遊戲正爽的時候,這時候來了一條簡訊。如果這時候簡訊用AlertDialog提醒,使用者必須先去處理這條提醒,從而才能繼續遊戲。使用者可能會活活被氣死。而使用Notification就不會帶來這些麻煩事,使用者完全可以打完遊戲再去看這條簡訊。所以在開發中應根
Time of Update: 2018-12-08
在Activity中覆寫下面兩個方法:複製代碼 代碼如下: // 建立菜單 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, "關於"); // menu.add(int groupId, int itemId, int order, CharSequence title) menu.add(0, 1, 1, "退出"); return
Time of Update: 2018-12-08
有一種需要,我們在功能表項目中點擊退出應用程式,應用程式就退出,不需要回到MainActivity設計:有兩個應用介面MainActivity和BActivity,以及用於程式的通用類ExitUtil步驟:1、添加一個類,名為ExitUtil 複製代碼 代碼如下:public class ExitUtil { public static final int EXIT_APPLICATION = 0x0001; private Context mContext; public
Time of Update: 2018-12-08
複製代碼 代碼如下:public class MainActivity extends Activity { TextView tv; CheckBox cb1; CheckBox cb2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cb1 =
Time of Update: 2018-12-08
現在我們上網會用百度或者Google搜尋資訊,當我們在輸入框裡輸入一兩個字後,就會自動提示我們想要的資訊,這種效果在Android 是通過Android 的AutoCompleteTextView Widget 搭配ArrayAdapter 設計同類似Google 搜尋提示的效果.先在Layout 當中布局一個AutoCompleteTextView Widget ,然後通過預先設定好的字串數組,將此字串數組放入ArrayAdapter
Time of Update: 2018-12-08
首先從字面意思理解兩個詞onTouchEvent:觸發觸摸事件onInterceptTouchEvent:觸發攔截觸摸事件通過查看原始碼及類繼承關係onInterceptTouchEvent:是定義於ViewGroup裡面的一個方法,此事件是用於攔截觸摸事件的,ViewGroup(繼承自View),一個View的Group,也就是我們的一個布局如LinerLayout,各個布局類都繼承自ViewGroup;onTouchEvent:是定義於View中的一個方法,處理傳遞到View的手勢觸摸事件。
Time of Update: 2018-12-08
當我們在一個EditText輸入電話或者網址還是Email的時候,讓Android自動判斷,當我們輸入的是電話,我們點擊輸入內容將調用打電話程式,當我們輸入是網址點擊將開啟瀏覽器程式.而Linkify很好的解決了這個問題步驟:1、布局UI複製代碼 代碼如下:<LinearLayout
Time of Update: 2018-12-08
public class ServiceList extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TextView tv = new TextView(this);ActivityManager activityManger = (ActivityManager)
Time of Update: 2018-12-08
JSON是一種輕量級的對象,資料體積小,方便傳輸,易於解析!首先建立一個類工具類JsonUtil,用於擷取請求返回的資料複製代碼 代碼如下:public class JsonUtil { private static final String TAG = "JSONUTIL"; public static JSONObject getJSON(String url) throws Exception { return new JSONObject(getRequest(url)); }
Time of Update: 2018-12-08
之前在一篇文章中已經講過了功能表項目的建立方法,但是那種方法效率較低,維護不易,現在實現另一種方法建立菜單。MenuInflater,通過此類我們可以輕鬆的建立功能表項目,具體步驟如下:1、在res/menu/檔案夾下,找到main.xml檔案,此檔案就是我們定義功能表項目的地方,在些檔案中添加如下功能表項目:複製代碼 代碼如下:<item android:id="@+id/menu1" android:icon="@android:drawable/alert_dark_frame"
Time of Update: 2018-12-08
複製代碼 代碼如下:public class PersonAdapter extends BaseAdapter { private List persons;// 要繫結資料 private int resource;// 綁定的一個條目介面的id,此例中即為item.xml private LayoutInflater inflater;// 布局填充器,它可以使用一個xml檔案產生一個View對象,可以通過Context擷取執行個體對象 public
Time of Update: 2018-12-08
在開發中我們經常需要把我們的應用設定為全屏,有兩種方法,一中是在代碼中設定,另一種方法是在設定檔裡改!一、在代碼中設定:複製代碼 代碼如下:package com.android.tutor; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class OpenGl_Lesson1
Time of Update: 2018-12-08
AIDL:Android Interface Definition Language,它是一種android內部進程通訊介面的描述語言,通過它我們可以定義進程間的通訊介面。ICP:Interprocess Communication
Time of Update: 2018-12-08
SlidingDrawer隱藏屏外的內容,並允許使用者通過handle以顯示隱藏內容。它可以垂直或水平滑動,它有倆個View組成,其一是可以拖動的handle,其二是隱藏內容的View.它裡面的控制項必須設定布局,在布局檔案中必須指定handle和content。1、布局layou檔案複製代碼 代碼如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="
Time of Update: 2018-12-08
AppWidgetProvider
Time of Update: 2018-12-08
在android中,LayoutInflater有點類似於Activity的findViewById(id),不同的是LayoutInflater是用來找layout下的xml布局檔案,並且執行個體化!而findViewById()是找具體xml下的具體 widget控制項(如:Button,TextView等)。下面通過一個例子進行詳細說明:1、在res/layout檔案夾下,添加一個xml檔案dialog.xml複製代碼 代碼如下:<LinearLayout
Time of Update: 2018-12-08
我們知道Intent的應用,可以啟動別一個Activity,那麼是否可以啟動別外的一個應用程式呢,答案是可以的。1、首先我們建立一個Android應用,名為AnotherPro,此應用什麼內容都沒有,用於被另外一個程式開啟。2、建立一個工程用於開啟上面的應用,程式介面如下3、修改程式碼,在onCreate中添加如下代碼anotherPro = (Button) findViewById(R.id.startAnotherPro);calendar = (Button) findViewById(
Time of Update: 2018-12-08
在Android應用中,往往有擷取當前地理位置的需求,比如擷取附近的人需要擷取使用者當前的位置,不多說,直接上例子。複製代碼 代碼如下:public Location getLocation() {// 擷取Location通過LocationManger擷取! LocationManager locManger = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Location loc =