Time of Update: 2018-12-05
一、ContentProvider介紹 ContentProvider翻譯為“內容提供者”;定義:指該應用程式套件含一些方法,供外界訪問,其他應用程式可以調用該方法,比如如果應用A建立了一個資料庫“test.db”,預設是私人的,即其他應用程式不能對其進行操作,但是如果應用A使用了ContentProvider,則其他應用程式可以訪問該資料庫;用途:某個應用對外共用資料;注意點:和Activity一樣,都是Android
Time of Update: 2018-12-05
一、監聽ContentProvider主要步驟1.在ContentProvider類的insert\update\delete方法加入this.getContext().getContentResolver().notifyChange(URI,null);其中URI表示監聽的URInull表示發送訊息給任何人;2.在訪問者的類中調用如下方法:context.getContentResolver().registerContentObserver(uri,true,new
Time of Update: 2018-12-05
一、Intent介紹如果Android要做什麼事件,則肯定與Intent有關;Intent能夠做的動作有很多,比如打電話動作、發簡訊動作、跳轉介面動作等; 二、Intent繼承結構java.lang.Object |- android.content.Intent 三、Intent應用1.打電話此處實現一個如下介面的程式: 點擊撥打按鈕後:步驟1:在Android-manifest.xml中的<application>前面加入<uses-permission>元素:
Time of Update: 2018-12-05
文章目錄 0.建立新的Activity步驟1.最簡單的跳轉到新的Activity2.帶傳回值的跳轉 一、Intent與Activity應用 0.建立新的Activity步驟 在應用中建立新的Acitivity很常見;步驟1:建立一個class繼承Activity 步驟2:在Android-manifest.xml中添加<activity>元素 比如建立了一個名為SubActivity的Activity,則需要聲明如下:
Time of Update: 2018-12-05
一、Android的Junit測試一般的JUnit我們都用過,而針對Android的JUnit也是類似於這種,顯示的結果也是綠條和紅條。單元測試整體架構如下: 我們這裡只介紹其中一個類:AndroidTestCase;二、AndroidTestCase 程式描述:建立一個Android項目:Activity,添加一個EditText,其他不做任何事;import android.app.Activity;import android.os.Bundle;import
Time of Update: 2018-12-05
最近受徒弟推薦,對可視化資料開始感興趣。其中用到了一種叫做Processing的語言。Processing是一種比較新的語言。曾經被作為“Java的替代語言”被眾人關注。究其原理,是利用了Java作為整體語言的解譯器,再通過一些技術手段能夠讓Processing語言的代碼經過一些簡短的修飾,變成Java原始碼,再通過Java進行編譯。因為文法結構非常簡潔,所以Processing被廣泛用於藝術與互動類應用程式之中。Processing常用的有兩個函數:setup()和draw()。setup()
Time of Update: 2018-12-05
我們可以使用代碼產生hprof,然後使用批處理hprof檔案,然後用Memory Analyzer tool(MAT)進行對多個hprof檔案比較分析。一、批處理設定檔批處理設定檔config.bat如下:rem the following var is for getProcessState.batset rawDatadir=rawDataset processName=android.process.acore;com.android.systemuirem set
Time of Update: 2018-12-05
1、首先確定是否有記憶體泄露及哪個程式造成。1.1、記憶體泄露已彈出out of memory對話方塊的情況。這種情況很簡單,直接看對話方塊就知道是哪個應用的問題了。然後再分析該應用是否是因為記憶體泄露造成的out of memory對話方塊。1.2、對於有記憶體泄露,但沒造成彈出out of
Time of Update: 2018-12-05
(jenkins)hudson平台搭建android項目持續化整合以及基於NativeDriver的UI自動化測試環境 來自kevinkong 2011-12-16
Time of Update: 2018-12-05
我們在進行android自動化測試的時候,往往沒有html的報告,很糾結.那下面我們來看一下怎麼產生html的報告條件: 一,android的開發環境 二,testutils.jar包(http://code.google.com/p/nbandroid-utils/)操作步驟如下: 1.將 testuntils.jar 加 到 Test Project Libraries 中 , 右 鍵 Test Project > Build path >
Time of Update: 2018-12-05
上節已經說了報告的實現,這一節我們來講一下ant如何用target來走通這一流程build.xml檔案中需要添加這兩個target<target name="mkzip" depends="cmd"> <tstamp> <format property="buildtime" pattern="yyyyMMddHHmmss"/>
Time of Update: 2018-12-05
文章目錄 伺服器端核心代碼:用戶端核心代碼: 我們完成“Android入門:通過XML資料與伺服器進行通訊“同樣的功能,只是資料轉送使用JSON而不是XML;注意點:(1)當返回JSON時,content-type為text/json;(2)通過JSON包進行解析JSON格式資料和產生JSON格式資料;(3)Android中已經整合了JSON的包;一、核心代碼介紹伺服器端核心代碼:(1)JSONStringer stringer =
Time of Update: 2018-12-05
文章目錄 GET:
Time of Update: 2018-12-05
一、Handler介紹在一個線程中存在一個訊息佇列,當訊息佇列中存在訊息時,Handler就會處理這些訊息;我們考慮一下這種情境:我們要執行一個耗時很長的業務,執行完後要返回一個結果顯示在TextView上,我們在主線程中執行這種業務是否合理呢?顯然是不合理的,因此我們會想到把業務放到子線程中執行,但是Android有個規定:所有更新UI的操作全要在主線程中完成,因此我們要做的就是把子線程執行完的結果傳到主線程中並顯示,這就需要Handler的幫忙;比如ProgressBar、TextView的
Time of Update: 2018-12-05
一、HttpClient介紹HttpClient是用來類比HTTP請求的,其實實質就是把HTTP請求類比後發給Web伺服器;Android已經整合了HttpClient,因此可以直接使用;註:此處HttpClient代碼不只可以適用於Android,也可適用於一般的Java程式;HTTP GET核心代碼:(1)DefaultHttpClient client = new DefaultHttpClient();(2)HttpGet get = new HttpGet(String url);//
Time of Update: 2018-12-05
檔案上傳分為兩個部分:(1)伺服器端:需要使用FileUpload+common.io實現檔案的上傳;(2)用戶端:需要類比檔案上傳的HTTP要求標頭;一、伺服器端代碼FileServlet.javapackage org.xiazdong.servlet;import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import
Time of Update: 2018-12-05
一般ListView都是用來顯示列表的,一般列表的資料都是來自資料庫的,因此我們這裡假設前面已經實現了一個DBService類,裡面存在pageCursorQuery(int offset,int length);比如dbservice.pageCursorQuery(3,5);表示跳過3個記錄,插入5條記錄,返回Cursor;pageCursorQuery實現代碼如下,需要注意的是,查詢語句的主鍵必須要重新命名為“_id”,不然會報錯。public Cursor
Time of Update: 2018-12-05
任務:從資料庫中獲得Person對象,通過繼承BaseAdapter類,顯示ListView,如下所示:(此處我們資料庫操作的代碼略,因為主要講解的是ListView)PersonAdapter.javapackage org.xiazdong.db.domain;import java.util.List;import org.xiazdong.db.R;import android.content.Context;import
Time of Update: 2018-12-05
我們可以通過Intent調用傳送簡訊的服務,但是也可以通過SmsManager發送;一、為何需要自己開發簡訊發送器雖然在Android系統中已經存在傳送簡訊的應用,但是如果我們在開發其他應用時需要整合傳送簡訊功能,則很方便。二、開發簡訊發送器應用目標:將應用安裝到5554模擬器上,並發送給5556的模擬器;介面介紹:核心代碼:(1)SmsManager manager = SmsManager.getDefault(); //獲得預設的訊息管理器(2)ArrayList<String&
Time of Update: 2018-12-05
AbsoluteLayout因為已被廢除,因此不做介紹;只要存在介面,就會有布局的存在,就像Swing,雖然一個是案頭應用,一個是手機應用,但是他們都差不多。1.LinearLayout預設布局。組件的排列按照預先定義方向很有序的排列,類似於Swing中的FlowLayout;注意點:(1)可以在<LinearLayout>中添加android:orientation:vertical/horizontal