本周的GoogleI/O大會帶來了很多關於Android的振奮人心的訊息。可能我們需要較長的時間來消化Android
實現了一個有趣的小東西:使用自訂View繪圖,一邊畫線,畫出的線條漸漸層淡,直到消失。效果如下圖所示:用屬性動畫或者漸層填充(Shader)可以做到一筆一筆的變化,但要想一筆漸層(手指不抬起邊畫邊漸隱),沒在Android中找到現成的API可用。所以,自己做了一個。基本的想法是這樣的:•在View的onTouchEvent中記錄觸摸點,產生一條一條的線LineElement,放在一個List中。給每個LineElement配置一個Paint執行個體。•在onDraw中繪製
一、螢幕解析度Display display = getWindowManager().getDefaultDisplay();Point size = new Point();display.getSize(size);int width = size.x;int height = size.y;或者:DisplayMetrics metrics = new
前言在Android開發中,經常要擷取sha1認證指紋。例如:在嵌入高德地圖的時候,就需要使用這個東東。這個東西在Eclipse中可以直接擷取到,但是在Android Studio中,並沒有直接提供,需要通過別的手段手動擷取。我們可以使用Java 的一個工具:keytool 來擷取這個值。keytool 是jdk提供的一個工具,只要你的java環境變數配置的ok。直接在命令列輸入keytool就可以執行這個命令。擷取sha1的命令為:keytool -list -keystore
一、對Canvas進行操作對Canvas的一系列操作,是指對Canvas進行旋轉、平移、縮放等操作。這些操作可以讓Canvas對象使用起來更加便捷。二、Canvas平移/** * 畫布向(100,50)方向平移 * * 參數1: 向X軸方向移動100距離 * 參數2: 向Y軸方向移動50距離 */ canvas.translate(100, 50);三、Canvas縮放/** * 在X軸方向放大為原來2倍,Y軸方向方大為原來的4倍 * 參數1: X軸的放大倍數 * 參數2:
使用Android AudioRecord 錄製PCM檔案,android SDK保證在所有裝置上都支援的採樣頻率只有44100HZ,所以如果想得到其他採樣頻率的PCM資料,有幾種方式:1.在裝置上嘗試可用的採樣頻率,2.使用44.1K採樣後轉換採樣頻率。其中第二種轉換採樣頻率的操作,有很多種方法。目前我使用的是SSRC,效果很好。複製代碼 代碼如下:private void simpleDownSample()
當螢幕轉動切換的時候 Android 機制是:銷毀當前螢幕的 Activity ,然後重新開啟一個新的適應螢幕改變的 Activity 。那麼,我們該如何在螢幕切換的時候頁面資訊不被重設呢?解決實現:1.在 AnroidMainifest.xml 的 activity 元素中加入:複製代碼 代碼如下:android:configChanges="orientation|keyboardHidden"或複製代碼
*註:可以用 adb logcat > 路徑/檔案名稱 來儲存,此命令執行之時起的全部日誌資訊到一個檔案裡,ctrl + C 結束日誌輸出;後面不加 > 路徑/檔案名稱 的話,則在 stdout (終端視窗)中輸出!例如:$ adb logcat -v long Checkin *:S > ~/案頭/log.txt一、在 Java 與 C 語言中輸出日誌:1) Java 代碼在程式中輸出日誌, 使用 android.util.Log 類的以下 5
這個功能可以幫你實現,在圖片上進行隨意的塗抹,可以用於SNS產品。繪圖本身很簡單,但是要實現在圖片上指定的部分精確(位置,縮放)的繪圖,就有點麻煩了。下面講講實現過程及原理:UI構圖這個UI,看似簡單,還是有點複雜的,下面需要一個底圖,上面再來一個透明的圖片控制項,畫圖的時候要同步兩個控制項的變形。UI層次簡圖為什麼,需要上面一個Canvas Image與Back保持一致?因為,Canvas
建立started service 應用組件(例如Activity)調用startService()來啟動一個Service,將需要的參數通過Intent傳給Service,Service將會在onStartCommand函數中獲得Intent。有兩種方式可以建立started
最近做的一個小東西遇到這樣的情況,我從一個頁面MainActivity修改一些內容,需要跳轉到一個新的EditActivity去做修改操作,修改完成後就回到之前的MainActivity,因為資訊被修改了,最好還是從伺服器上重新擷取一下,那麼就要在MainActivity裡重新擷取,假如把重新擷取資料的操作放在MainActivity的onStart()方法裡,那麼MainActivity跳轉到其它的地方再回來不需要請求資料的,它也必然會又請求一次,這樣就白白的增大了伺服器的壓力。也就是說,要能
Hybrid App 是混合模式應用的簡稱,兼具 Native App 和 Web App 兩種模式應用的優勢,開發成本低,擁有 Web 技術跨平台特性。目前大家所知道的基於中介軟體的移動開發架構都是採用的 Hybrid 開發模式,例如國外的 PhoneGap、Titanium、Sencha,還有國內的 AppCan、Rexsee 等等。Hybrid App 開發模式正在被越來越多的公司和開發人員所認同,相信將來會成為主流的行動裝置 App開發模式。Hybrid App 融合 Web App
在Android中複雜的圖形的繪製絕大多數是通過path來實現,比如繪製一條曲線,然後讓一個物體隨著這個曲線運動,比如搜尋按鈕,比如一個簡單時鐘的實現:那麼什麼是path呢! 定義:path
仿造美圖秀秀移動滑鼠調整seekbar,調整圖片的顏色項目布局如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"
1、準備工作apk的簽名工作可以通過兩種方式來完成:1)通過ADT提供的圖形化介面完成apk簽名;右鍵項目——》 Android Tools ——》Export Signed Application Package... ——》 開啟圖形介面2)完全通過shell/dos命令來完成apk簽名我比較喜歡第2)種方式,所以下面將講解如何通過命令的方式完成apk簽名。給apk簽名一共要用到3個工具,或者說3個命令,分別是:keytool、 jarsigner、
效果圖:這種效果的實現這裡是採用自訂ExpandableListView,給它設定一個指示布局,在滑動過程中監聽當前是否應該懸浮顯示分類來實現的。今天抽時間,整理了下代碼,記錄一下使用過程,以便有類似的需求的時候可以快速搞定。話不多說,我們直接看代碼和使用方法。一
這裡說有設計思想是我根據查看Android原始碼提煉出來的代碼邏輯,所以不會跟Google工程師的原始設計思想100%符合(也有可能是0%),但是本文一定可以協助你理解AsyncTask,也可能有一些你以前沒有發現的內容。大家都知道,Android的主線程(又叫UI線程,線程ID為1)有一些限制策略,使得主線程有些事做不了,比如訪問網路就不允許,否則就是報,但在2.3之後的版本,你可以通過添加以下代碼更改其限制策略,從而強制使得主線程可以訪問網路:複製代碼 代碼如下:if
【引入】 我們一般編寫listView的時候順序是這樣的: •需要展示的資料集List<T> •為這個資料集編寫一個ListView •為這個ListView編寫一個Adapter,一般繼承自BaseAdapter •在BaseAdapter內部編寫一個ViewHolder類,對應ListView裡面的item控制項,提高控制項的查詢效率 分析:List<T>:Li
Widget引入 我們可以把Widget理解成放置在案頭上的小工具(掛件),有了Widget,我們可以很方便地直接在案頭上進行各種操作,例如播放音樂。 當我們長按案頭時,可以看到Widget選項,如下圖所示: 點擊上圖中箭頭處的widgets表徵圖,會出現如下介面:(都是widget) 長按上圖中的任意一個widget,就可以將其放到案頭上。 Widget的使用Widget的實現思路 (1)在AndroidManifest中聲明AppW
複製代碼 代碼如下:package com.test;import android.app.Activity;import android.os.Bundle;//import android.view.View;import android.widget.Button;import android.widget.LinearLayout;//import android.widget.Toast;public class Test_javaActivity extends Activity {