目前分類:Android筆記 (435)

瀏覽方式: 標題列表 簡短摘要

view plain

package demo.camera;  
import java.io.FileNotFoundException;  
import android.app.Activity;  
import android.content.Intent;  
import android.graphics.Bitmap;  
import android.graphics.BitmapFactory;  
import android.graphics.Canvas;  
import android.graphics.ColorMatrix;  
import android.graphics.ColorMatrixColorFilter;  

戮克 發表在 痞客邦 留言(0) 人氣()

未命名  

 Installation error: Unknown failure
Please check logcat output for more details.
Launch canceled!

1  

run configurations 的Target那邊

2  
換個模擬器(AVD)就OK了


戮克 發表在 痞客邦 留言(0) 人氣()

未命名  

private Button.OnClickListener btnTranListener = new Button.OnClickListener(){
        @Override
        public void onClick(View v){
        int jin = Integer.parseInt(edtjin.getText().toString());
        double kg=0.6*(double)jin;
        txtKg.setText(kg+"公斤");
    }
    };


戮克 發表在 痞客邦 留言(0) 人氣()

在ios里面用惯了透明色,view.alpha,感觉很方便。想在android中也设置一下。看看效果:

 

image_thumb23.png  上面的文字,是TextView,背景是黑色的,但是使用了透明色。

 

这部分东西,不需要动一点java代码,在布局文件中:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:background="@drawable/a"> 
    <TextView android:layout_width="match_parent" 

戮克 發表在 痞客邦 留言(0) 人氣()

將ExpandableListView的位置變換到右側(包括繼承自ExpandableListView的文件)   Display newDisplay = getActivity().ge

 

將ExpandableListView的位置變換到右側(包括繼承自ExpandableListView的文件)
Display newDisplay = getActivity().getWindowManager().getDefaultDisplay(); 
int width = newDisplay.getWidth();
newListView.setIndicatorBounds(width-50, width);

From:CSDN

戮克 發表在 痞客邦 留言(0) 人氣()

 
 

ExpandableListView是android中可以实现下拉list的一个控件,是一个垂直滚动的心事两个级别列表项手风琴试图,列表项是来自ExpandableListViewaAdapter,组可以单独展开。

 

重要方法:

1 2 3 4 5 6 7 8 9 10 11 12 expandGroup (int groupPos) ;//在分组列表视图中 展开一组, setSelectedGroup (int groupPosition) ;//设置选择指定的组。   setSelectedChild (int groupPosition, int childPosition, boolean shouldExpandGroup);//设置选择指定的子项。   getPackedPositionGroup (long packedPosition);//返回所选择的组   getPackedPositionForChild (int groupPosition, int childPosition) ;//返回所选择的子项   getPackedPositionType (long packedPosition);//返回所选择项的类型(Child,Group)   isGroupExpanded (int groupPosition);//判断此组是否展开

  expandableListView.setDivider();这个是设定每个Group之间的分割线。

  expandableListView.setGroupIndicator();这个是设定每个Group之前的那个图标。

  expandableListView.collapseGroup(int group); 将第group组收起

ExpandableListAdapter

戮克 發表在 痞客邦 留言(0) 人氣()

方法一
     在程序中加入如下代码: this.finish();
  
方法二
   在程序中加入如下代码:
   int pid = android.os.Process.myPid();
   android.os.Process.killProcess(pid);   //杀死当前进程
   或者:
   android.os.Process.killProcess(android.os.Process.myPid());

方法三 

戮克 發表在 痞客邦 留言(0) 人氣()

如果還有同學不知道藍牙4.0可以做什麽請查看Android+藍牙 4.0 將帶來什麽?,現在可以穿戴設備也大多用的是藍牙4.0,如 智能體質秤,智能手環,智能血壓計等等。

原文地址:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

安卓4.3(API 18)為BLE的核心功能提供平臺支持和API,App可以利用它來發現設備、查詢服務和讀寫特性。相比傳統的藍牙,BLE更顯著的特點是低功耗。這一優點使android App可以與具有低功耗要求的BLE設備通信,如近距離傳感器、心臟速率監視器、健身設備等。

關鍵術語和概念

Generic Attribute Profile(GATT)—GATT配置文件是一個通用規範,用於在BLE鏈路上發送和接收被稱為“屬性”的數據塊。目前所有的BLE應用都基於GATT。 藍牙SIG規定了許多低功耗設備的配置文件。配置文件是設備如何在特定的應用程序中工作的規格說明。註意一個設備可以實現多個配置文件。例如,一個設備可能包括心率監測儀和電量檢測。
Attribute Protocol(ATT)—GATT在ATT協議基礎上建立,也被稱為GATT/ATT。ATT對在BLE設備上運行進行了優化,為此,它使用了盡可能少的字節。每個屬性通過一個唯一的的統一標識符(UUID)來標識,每個String類型UUID使用128 bit標準格式。屬性通過ATT被格式化為characteristics和services。
Characteristic 一個characteristic包括一個單一變量和0-n個用來描述characteristic變量的descriptor,characteristic可以被認為是一個類型,類似於類。
Descriptor Descriptor用來描述characteristic變量的屬性。例如,一個descriptor可以規定一個可讀的描述,或者一個characteristic變量可接受的範圍,或者一個characteristic變量特定的測量單位。
Service service是characteristic的集合。例如,你可能有一個叫“Heart Rate Monitor(心率監測儀)”的service,它包括了很多characteristics,如“heart rate measurement(心率測量)”等。你可以在bluetooth.org 找到一個目前支持的基於GATT的配置文件和服務列表。
角色和責任

戮克 發表在 痞客邦 留言(0) 人氣()

本章內容是 Android.bluetooth.BluetoothDevice,為Android藍牙部分的章節翻譯,版本為 Android 2.3 r1,翻譯來自中山大學的"Android Club SYSU",歡迎訪問他們的WIKI:HTTP: //www.android-wiki.net,再次感謝"Android Club SYSU"!期待你一起參與Android中文API的翻譯,聯繫我 over140@gmail.com。


聲明

  歡迎轉載,但請保留文章原始出處:)

    Android Club SYSU:HTTP://www.android-wiki.net

    移動社區:HTTP://dev.10086.cn

    Android中文翻譯組:HTTP://code.taobao.org/project/view/404/

 

正文

  一、結構

戮克 發表在 痞客邦 留言(0) 人氣()

ProGuard工 具通過移除不用的代碼,用語義上混淆的名字來重命名類、欄位和方法等手段來壓縮、優化和混淆你的代碼。結果是更小的.apk檔,並且更難於被反編譯。由 于ProGuard能夠讓你的程式難於被反編譯,因此,當你的程式使用了一些機密的資訊的時,使用它就顯得更加重要。

ProGuard已經集成到Android的編譯環境中,因此,用不著手動來觸發它。ProGuard只在release模式下編譯應用程式才會運行,所以,在debug模式下編譯,你就不必處理混淆的代碼。是否運行ProGuard是完全可選的,但強烈推薦使用。

啟用ProGuard
當你創建Android工 程時,proguard.cfg檔會在工程的根目錄自動創建。這個檔定義了ProGuard如何優化和混淆代碼,因此,理解如何定制它是非常重要的。 預設的設定檔只是覆蓋了一些通用的情況,所以,基本上你需要編輯它來滿足你的需求。參考後面的“配置ProGuard”章節來瞭解如何定制 ProGuard的相關資訊。

啟用ProGuard讓它跟隨Ant或Eclipse編譯時一起運行,你需要在<project_root>/default.properties檔中設置proguard.config屬性。路徑可以是絕對路徑或是工程根目錄的相對路徑。 如果你把proguard.cfg檔放在預設的位置(工程的根目錄),你可以像這樣來指定它的位置: proguard.config=proguard.cfg
你還可以把該檔移到任何你想放的位置,然後指定絕對路徑:proguard.config=/path/to/proguard.cfg
當你在release模式下編譯你的程式,不管是用ant release還是用Eclipse的匯出嚮導,編譯系統都會自動檢查proguard.config屬性是否設置。如果設置了,ProGuard就會在 打包成.apk檔之前,自動處理應用程式的位元組碼。Debug模式編譯,不會觸發ProGuard,因為它會使得調試更加複雜累贅。

戮克 發表在 痞客邦 留言(0) 人氣()

201282835472293  

程式碼下載


戮克 發表在 痞客邦 留言(0) 人氣()

2012092414530285

Gesture Builder提供了一手寫識別的功能,讓用戶以類似於塗鴉的方式繪制一個手寫符號,使之對應一個字符串名稱,然而GestureBuilder功能雖完整,但在手寫字符串的創建上卻有些限制,如:制式化的建立方式、無法自行配置塗鴉區、查看手寫(Gesture)以ListView來呈現等,在實際開發上稍顯“复雜”了些。

下面看一下配置UI界面的activity_gesture_builder_demo.xml文件:

 

复制代碼
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white" >

戮克 發表在 痞客邦 留言(0) 人氣()

本篇我們會介紹連接到網络中涉及的基本任務,監測的網络連接(包括連接更改),並给予用戶控制應用程序的網络使用情況。還介紹了如何解析和使用XML數據。

這個類包含一個示例應用程序來說明如何執行常見的網络操作。您可以下載示例(在右邊),並用它作为自己的應用程序源代碼的可重用代碼。本章的重點有三:

1.連接到網络

2.管理網络的使用

3.解析XML數據

 

一、連接到網络
在mainfest中聲明權限,代碼如下:

<uses-permission android:name="android.permission.INTERNET" />

戮克 發表在 痞客邦 留言(0) 人氣()

使用重力傳感器

重力傳感器提供了三個維度的矢量,用來指示重力的方向和重量。下列代碼顯示了如何獲取一個默認的重力傳感器的實例:

private SensorManager mSensorManager;

private Sensor mSensor;

...

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);

單位與加速度傳感器所使用的單位(m/s2)相同,並且坐標系統也與加速度傳感器所使用的坐標系相同。

注意:當設備處於靜止狀態時,重力傳感器的輸出應該與加速度傳感器的輸出相同。

使用陀螺儀

戮克 發表在 痞客邦 留言(0) 人氣()

一、基礎知識 

 TextToSpeech 簡稱TTS,稱为語音合成,是Android 從1.6版本開始支持的新功能,能將所指定的文本轉成不同語言音頻輸出。 

在具體介紹前我們先來看下Adnroid系統帶的TTS設置界面,點擊Settings->Speech synthesis,如下圖所示: 

                            TTS1.jpg


                                   圖 1 Android TTS設置界面

戮克 發表在 痞客邦 留言(0) 人氣()

用戶帶和他們的移動設備與他們幾乎無處不在。移動應用程式的獨特功能之一是位置意識。明確的位置定位,並明智地使用資訊,可以讓消費者體驗帶來了更多的便利。

這篇文章將告訴你,如何在你的Andr​​oid應用程式將基於位置的服務。您會學到一些方法,以接收位置更新和最佳做法。本文的重點分為下面三點,下面會一一講到,並指出其中的重點內容:

1.使用LocationManager(學習如何配置你的app,在它能接受到android的位置更新之前)

2.獲取當前位置(學習如何使用底層位置技術平臺上可用來獲得當前位置)

3.顯示位置位址(學習如何翻譯為位址位置坐標對用戶是可讀的)

 

 


一.使用LocationManager

在manifest中聲明網絡權限:

戮克 發表在 痞客邦 留言(0) 人氣()

Android提供了一套資源命名和編譯機制,方便開發者適配多種手機螢幕和解析度。

 


今天來講一下如何將介面佈局中的固定尺寸值適配至多種手機螢幕和解析度。

 


介面佈局中要做到良好的適配,最好不要出現固定的尺寸值,如果無法避免,那麼我們怎樣讓這一固定尺寸值在不同手機螢幕和解析度下進行相應變化呢?

 


使用res/values/dimens.xml來解決這一問題!

戮克 發表在 痞客邦 留言(0) 人氣()

T3Activity.java

 

 

package t3.com;


import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

戮克 發表在 痞客邦 留言(0) 人氣()

come from:http://duguyidao.iteye.com/blog/1074012

在上次關於使用GridView顯示Sdcard中的圖片Thumbnail圖片,然後點擊再顯示原始圖片。在上次的代碼中我是通過直接對原始圖片進行了Scale製作為100*80的圖片,然後顯示出來,這樣操作的話,當處理大圖片的時候會浪費大量的VM記憶體,所以在上次提出了使用DCIM中thumbnail的縮略圖檔的方法,這裡圖片的尺寸一般都在10-50k的大小。
接著上次關於顯示Thumbnails的問題,這裡針對如何獲取Android thumbnails的圖片以及如何和原始圖片關聯,說先看一下手機內部SDcard中的Thumbnail檔(參照附件1),使用Linux下的 ls -a 命令顯示隱藏檔。
提取圖片和視頻縮略圖可以直接訪問 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails這兩個數據庫,即可查詢出來縮略圖
如何判斷檔呢? 可以通過Cursor遍歷資料庫,對比INTERNAL_CONTENT_URI欄位的值,這是一個Uri我們可以轉成String,這裡保存著Android手機SD卡上的多媒體檔完整路徑,有關具體的縮略圖可 以通過getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options) 或getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options) 方法獲取,這兩種方法返回Bitmap類型,而縮略圖的解析度可以從HEIGHT和WIDTH兩個欄位提取,在Android上縮略圖分為兩種,通過讀取 KIND欄位來獲得,分別為MICRO_KIND和MINI_KIND 分別為微型和迷你兩種縮略模式,前者的解析度更低。這樣我們平時獲取檔案系統的某個圖片預覽時,可以直接調用系統縮略圖,而不用自己重新計算。
在這裡我們先看一下android系統是如何存放Thumbnail圖片以及其原始圖片的。
大家可以先檢查一下/data/data/com.android.provider.media目錄下麵的databases:external-1014121a.db 和 internal.db(可參看附件2)。
因為存儲于Sdcard屬於外部存儲,主要資訊存儲于external*.db,我們查看一下此資料庫的表資訊。其中主要關注images 和 thumbnails 兩個表。
查看兩個表的資料我們可以看出Thumbnails圖片和原始圖片之間的映射關係。
從上面兩個表中可以看出,表thumbnails和Image 之間的關聯是通過image_id實現的,通過會這個_id,就可以找出來thumbnails表中的圖片和images表中圖片的映射關係了。可以就可以獲取到原始圖片的位置,欄位為images表中的_data欄位的值。

戮克 發表在 痞客邦 留言(0) 人氣()

4.2 設計具有背景圖的按鈕ImageButton的焦點及事件處理

範例說明

延續前一章按鈕事件的應用範例重新設計一個具有背景圖的按鈕,讓按鈕有美觀的背景圖片,只是這次不使用先前的Button Widget,而是改以ImageButton Widget來顯示。

將按鈕背景圖預先Import至Drawable裡(*.png圖形檔),利用這些圖片,作為ImageButton的背景圖。為了做對照,我們另外在Layout配置一個"一般按鈕",運行結果畫面中,可以明顯看出圖片按鈕與一般按鈕在外觀上的差異。

一般來說,要設置ImageButton背景圖有許多方法,此程式使用的方法是ImageButton.setImage- Resource(),需要傳遞的參數即是res/drawable/下麵的Resource ID,除了設置背景圖片的方法外,程式需要用到onFocusChange與onClick等按鈕事件作為按鈕事件按一下之後的處理,最後通過TextView來顯示目前圖片按鈕的狀態為onClick、onFocus,或offFocus,並且同步更新按鈕的背景圖,讓User有動態交互的感覺。

運行結果(見圖4-2)

    

图4-2 随着Focus与Click动作,画面上的图片与文字会告知你目前图片按钮的状态
範例程式



戮克 發表在 痞客邦 留言(0) 人氣()