Time of Update: 2018-12-05
我們在做應用開發時,特別是在做圖片瀏覽器或檔案瀏覽器時,涉及到圖片或檔案的管理時,我們難免需要批量處理它們,就需要用到多選功能。怎麼來在視覺上顯示給使用者檔案時候已經選定了呢,我們可以改變檔案名稱的字型的顏色來標記,但不是很明顯,最好還是在檔案或圖片表徵圖上顯示一個勾以表選中。在android的layout檔案裡,我們是用一個ImageView控制項來顯示一張圖片,如果需要在圖片上顯示一個勾,非得在layout檔案裡實現的話,那就只能用絕對布局了,使兩個ImageView重疊起來,此方法顯然不可
Time of Update: 2018-12-05
Android中一共提供了四種資料存放區方式:Shared Preferences: 用來儲存"Key"-"Value"格式的資料,是一個輕量級的KVStore for Redis機制,只可以儲存基礎資料型別 (Elementary Data Type)。Filws: 檔案儲存體SQLite:Android提供的標準資料庫,支援SQL語句Network:通過網路來儲存和擷取資料Shared
Time of Update: 2018-12-06
OCR屬於CV的範疇,也就是電腦視覺,目前來看,除了opencv這個龍頭老大,也就是hp開發的tesseract比較好用,雖然年頭比較長了,但現在歸google維護並託管在google code上了。 現在有android版本的地址:http://code.google.com/p/tesseract-android-tools/這個版本得自己git 三個庫 leptonica tesseract libjpeg
Time of Update: 2018-12-06
運行環境:1、安裝JDK2、安裝Android SDK建議:添加JDK、SDK的環境變數,將路徑添加到path環境變數中。配置步驟:1、進入cmd命令列模式下,判斷JDK和Android是否安裝和配置成功(判斷JDK是否安裝好,請輸入java -version,如果能返回java的版本資訊,則安裝成功)(判斷Android是否安裝好,請輸入Android
Time of Update: 2018-12-06
因受系統限制,只能錄自已麥的聲音,錄不到對方的聲音,可能需要改核心才能實現雙向錄音;接通電話和掛斷電話時,震動一下;使用廣播接收者實現自啟動; 服務代碼: package com.eboy.phoneListener;import java.io.File;import android.app.Service;import android.content.Context;import android.content.Intent;import android.media.MediaRecord
Time of Update: 2018-12-06
從android api level 8(即andrid 2.2)後,允許將應用程式安裝到外置儲存裝置(如sd卡)中,通過AndroidManifest.xml檔案中manifest的android:installLocation屬性設定: <manifest
Time of Update: 2018-12-06
Android應用中,由一些基本元素構成,但如何互動呢?Activity->Activity: Activity之間通過Intent進行互動,可以通過直接類名直接跳轉,也可以通過Intent Filter進行匹配分析,然後找到對應的Activity進行切換,這是一種鬆散的藕合。Internal Activity: 在Activity 內部,View,Button 等UI組件通過設定Listener對UI事件進行監聽處理。Progress->Progress:
Time of Update: 2018-12-06
Android手機的菜單很美觀大方,其編程實現起來也簡潔明快,如果誰用過QT的介面編程,那麼看一眼Android的Menu編程會馬上會心微笑,Option Menu:看看下一段代碼:import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class HelloActivity extends Activity {
Time of Update: 2018-12-06
android.permission.ACCESS_CHECKIN_PROPERTIES允許讀寫訪問”properties”表在checkin資料庫中,改值可以修改上傳( Allows read/write accessto the “properties” table in the checkin database, to change valuesthat get
Time of Update: 2018-12-06
今天來看看Android中的錄音資料是怎麼來的。從AudioRecord開始看吧。AudioRecord中可以取得錄音資料的介面是:AudioRecord::read。首先調用函數obtainBuffer取得錄音資料的地址。然後用memcpy將錄音資料copy出來。看樣子,資料來源是obtainBuffer函數了。來看看函數AudioRecord::obtainBuffer。其主要功能就是對傳入的audioBuffer進行賦值。audioBuffer是Buffer* 類型。看看Buffer類:
Time of Update: 2018-12-06
轉自:http://blog.csdn.net/victoryckl/article/details/6832333A、B兩個模組,主要都是用C實現的,需要用ndk編譯成兩個a.so、b.so,但是a.so內調用b.so中的函數,b.so內也調用了a.so中的函數,而且由於某些原因A、B必須分開編譯。問題是無論先編譯那個模組都會編譯不通過,因為它們相互依賴。為了編譯通過,必須在編譯時間取消這種依賴關係,下面程式中使用dlopen開啟so,dlsym擷取函數指標,就避免了這種編譯依賴關係。a.c
Time of Update: 2018-12-06
布局檔案:android:selectAllOnFocus="true" //"ggg"表示當EditText取得焦點會全選所有內容android:password="true" //表示輸入的內容為密碼保護形式android:phoneNumber="true" //表示輸入的內容為數字形式android:background="@drawable/bg_border" //指示background的內容在drawable檔案夾的bg_border.xml檔案名稱中bg_border.
Time of Update: 2018-12-06
我們經常在一個activity中去start另一個activity,或者與另一個acitivity的結果進行互動(startActivityForResult)。但有沒有想過可能會出現的permission問題呢?如果你遇到了permission denial的Exception,那麼你需要讀讀這篇文章啦。 我們在同一個application內部,可以隨意的startActivity from Activity A to Activity
Time of Update: 2018-12-06
接收方建立步驟:1. 建立一個DatagramSocket對象,並指定監聽的連接埠號碼DatagramSocket socket = new DatagramSocket (4567);2. 建立一個byte數組用於接收byte data[] = new byte[1024];3. 建立一個空的DatagramPackage對象 DatagramPackage package = new DatagramPackage(data , data.length);4.
Time of Update: 2018-12-06
LayoutAnimationController的作用:A. 用於為一個layout裡面的控制項,或者是一個ViewGroup裡面的控制項設定動畫效果B. 每一個控制項都有相同的動畫效果C. 這些控制項的動畫效果在不用的時間顯示出來 在xml當中使用LayoutAnimationController的具體步驟:1.
Time of Update: 2018-12-06
//獲得相應的系統服務 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); //使用TelephonyManager對象的listen(PhoneStateListener listener, int
Time of Update: 2018-12-06
研究官方範例無疑是快速學習任何SDK的不二法門,Android內建samples檔案夾工程的建立可以參考這裡,下面是我在調試該工程時遇到的兩個問題,示:錯誤1WARNING: Application does not specify an API level requirement!解決方案:在Mainfest.xml檔案中的<mainfest ...></mainfest>元素中添加<uses-sdk android:minSdkVersion="10"
Time of Update: 2018-12-06
1. 首先繼承EditText2. 並重寫onTouchEvent方法 public boolean onTouchEvent(MotionEvent event) { Editable ed=this.getEditableText(); //獲得action int action = event.getAction(); //用來顯示文本的Layout布局 Layout layout = this.getLayout();//獲得第幾行 int
Time of Update: 2018-12-06
Select按鈕是把資料庫的內容搜尋出來並顯示在下面的列表中;Insert按鈕是把輸入框的資料插入到資料庫;Modify是當在列表中選擇到資料,然後通過輸入框進行修改後更新到資料庫;Delete按鈕是當在列表中選擇到資料後,對選擇的那條資料進行刪除。注意:Age輸入框必須輸入數字。
Time of Update: 2018-12-06
註冊感應器:使用SensorManager的registerListener(SensorEventListener listener, Sensor sensor, int rate)方法SensorEventListener 有兩個需要實現的方法:1. onAccuracyChanged(Sensor sensor, int