Time of Update: 2018-12-04
前一段時間做項目需要做一個效果:一個ListActivity,長按不同的item彈出的菜單不一樣;如所示我們長按不同的item需要彈出不同標題的menu: 長按事件可以使用ListView的setOnItemLongClick函數進行關聯,但是在響應的onItemLongClick函數裡面沒辦法調用ListView顯示菜單。 在Android的菜單分兩種:options menu 、context menu 。(也有分三種的:options menu 、context
Time of Update: 2018-12-04
手 機號碼不是所有的都能擷取。只是有一部分可以拿到。這個是由於行動電信業者沒有把手機號碼的資料寫入到sim卡中.SIM卡只有唯一的編號,供網路與裝置識 別那就是IMSI號碼,手機的訊號也可以說是通過這個號碼在網路中傳遞的,並不是手機號碼。試想,你的SIM丟失後,補辦一張新的會換號碼嗎?是不會的. 就是因為在你的手機號碼對應的IMSI號
Time of Update: 2018-12-04
android.graphics包是核心渲染包,它提供了一些初級圖形工具,諸如畫布、顏色過濾器、畫筆等,可以讓你直接在螢幕上進行影像處理。這個包中提供了很多類,下面我們就看一下這個包中主要的幾個類。一、Canvas類android.graphics.CanvasCanvas類好比手機中的畫紙,我們可以在Canvas上畫圖形或者映像。一般我們用android來繪畫的時候,需要四個組成部分:1、位元影像:包含像素2、Canvas畫板:包含繪畫內容,寫入位元影像3、初始圖形:如Rect、Bitmap、
Time of Update: 2018-12-04
盡量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource來設定一張大圖,因為這些函數在完成decode後,最終都是通過java層的createBitmap來完成的,需要消耗更多記憶體。因此,改用先通過BitmapFactory.decodeStream方法,建立出一個bitmap,再將其設為ImageView的
Time of Update: 2018-12-04
前段時間在設計UI的時候看到UC的快顯功能表設計挺好 效果:於是就小小的模仿了下自己寫了這個這樣的效果,主要代碼如下:dlg = new AlertDialog.Builder(context).create();dlg.show();dlg.getWindow().setContentView(R.layout.alert_style);LayoutInflater factory = LayoutInflater.from(context);View view =
Time of Update: 2018-12-04
就不展示了,和上一節的一樣,滑動菜單SlidingMenu效果如何大家都比較熟悉,在這裡我簡單說明一下用自訂ViewGroup來實現. 實現方法:我們自訂一個ViewGroup實現左右滑動,第一屏隱藏,第二屏顯示. 代碼如下:package com.jj.sliding_6;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import
Time of Update: 2018-12-04
項目要用到,這兩天調查了一下這方面的知識。時間不多,簡單給大家匯總一下,方便生疏的朋友快點上手,縮短到搜尋引擎的大海裡面撈寶的過程。 除了Android開發環境之外,還要準備好tomcat,我用的6.0,其他版本應該也差不多。整體的步驟就是 1. 用keystore產生伺服器端所用的密鑰,用它設定管理員
Time of Update: 2018-12-04
http://www.fulema.com/viewthread.php?tid=8&extra=page%3D1 Android應用程式可以使用檔案或SqlLite資料庫來儲存資料。ContentProvider提供了一種多應用間資料共用的方式,比如:連絡人資訊可以被多個應用程式訪問。ContentProvider是個實現了一組用於提供其他應用程式存取資料的標準方法的類。應用程式可以在Content
Time of Update: 2018-12-04
Thread 是一個並發的執行單元,在java中實現線程一是通過繼承Thread類,二是實現Ruunable介面,當開始一個新線程的時候必須call
Time of Update: 2018-12-04
在Android中,有時需要對控制項進行測量,得到的控制項寬度和高度可以用來做一些計算。在需要自適應螢幕的情況下,這種計算就顯得特別重要。另一方便,由於需求的原因,希望一進入介面後,就能得到控制項的寬度和高度。可惜的是,根據我的驗證,利用網上轉載的那些方法在OnCreate函數中擷取到的仍然是0,例如Measure方法之後調用getMeasuredWidth的值還是0。原因是因為當OnCreate函數發生時,只是提供了資料初始化的機會,此時還沒有正式繪製圖形。而繪製圖形在OnDraw中進行,此時
Time of Update: 2018-12-04
/* * function:傳入參數建立自訂的顯示Dialog * title:dialog的訊息體 * bt1:按鈕上的text * bt2:按鈕上的text * author:dy * time:12-08-14 */private Dialog createMyDialog(String title,String bt1,String bt2) {AlertDialog.Builder dialogBuilder = new
Time of Update: 2018-12-04
Java從JDK1.2版本開始,就把對象的引用分為四種層級,從而使程式能更加靈活的控制對象的生命週期。這四種層級由高到低依次為:強引用、軟引用、弱引用和虛引用。這裡重點介紹一下軟引用和弱引用。如果一個對象只具有軟引用,那麼如果記憶體空間足夠,記憶體回收行程就不會回收它;如果記憶體空間不足了,就會回收這些對象的記憶體。只要記憶體回收行程沒有回收它,該對象就可以被程式使用。軟引用可用來實現記憶體敏感的快取。軟引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果軟引用所引用的對象被記憶
Time of Update: 2018-12-04
有些時候需要設定View,特別是“動態”Custom View的高度。例如在XML裡面我們不能確定這個View的高度是多少像素,這個跟手機具體情況有關。那麼我們必須在代碼裡面來動態設定。下面是一個例子: 在MyActivity.java中 GridView mGrid= (GridView) findViewById(R.id.gridview); LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams)
Time of Update: 2018-12-04
文章目錄 Andorid NDK使用簡要的流程【來源於Android NDK文檔中的 OVERVIEW.txt】1、make:*** No rule specified and no make file found. Stop.2、make: *** No rule to make target “XXXXXX”, needed by “ndk-app-XXXXX”. Stop.3、make: ***[XXXX]Errror
Time of Update: 2018-12-04
Android 預設沒有 tcpdump,從網上下一個其它人 port 的版本就可以了,這個很容易 google 到,我就不再贅述了。也可以自己從 http://www.tcpdump.org 下載源碼編譯。NDK r5 之後直接用 toolchain 編譯就行。 如果我們用 tcpdump 來調試 http 程式,可以這麼寫: tcpdump -p -nnn -vvv -s 0 -w /sdcard/1.pcap port 80 and tcp -p 是不開混雜模式,不過如果是用
Time of Update: 2018-12-04
Android MediaPlayer 常用方法介紹 方法:create(Context context, Uri uri) 解釋:靜態方法,通過Uri建立一個多媒體播放器。 方法:create(Context context, int resid) 解釋:靜態方法,通過資源ID建立一個多媒體播放器 方法:create(Context context, Uri uri, SurfaceHolder holder) 解釋:靜態方法,通過Uri和指定 SurfaceHolder 【抽象類別】
Time of Update: 2018-12-04
http://justanapplication.wordpress.com/2009/08/22/a-standalone-android-runtime-application-installation/ It turns out that an application can be installed, such that it cansubsequently be run, simply by placing the package containing it in the data
Time of Update: 2018-12-04
調用 /system/bin/am. 用法:usage: am [subcommand] [options] start an Activity: am start [-D] [-W] <INTENT> -D: enable debugging -W: wait for launch to complete start a Service: am startservice <INTENT> send a broadcast
Time of Update: 2018-12-04
對於自學NDK開發來說,成功編譯並運行了hello-jni應該還是有一點點興奮的,在此記一筆.(Ubuntu環境)NDK開發環境的搭建是停容易的,不過還是有幾天提示:1. Eclipse 的C/C++環境的搭建中,CDT外掛程式的安轉 最好用手動的方式,(參看我的另一篇筆記 Eclipse CDT安轉) help-->Install New Sofeware
Time of Update: 2018-12-04
調試1. 首先把要調試的程式上傳到模擬器中。假定我們用 adb push hello /data/hello 將程式傳到了模擬器的 /data 目錄。注意確認 hello 有可執行許可權。2. 在模擬器上運行 gdbserver :<port> hello,啟動調試。其中 port 是 gdbserver 在手機上監聽的連接埠號碼,注意和後面我們用 gdb 串連的連接埠可能不是同一個。運行結果可能是:# gdbserver :6789 helloProcess hello