Time of Update: 2013-12-11
見證過部落格園的多次升級,你也希望你的軟體通過更新發布新特性通知使用者吧,是的。這篇文章是android開發人員的必備知識,是我特別為大家整理和總結的,不求完美,但是有用。 1.設計思路,使用VersionCode定義為版本升級參數。 android為我們定義版本提供了2個屬性:html#viewSource" commandName="viewSource" highlighterId="highlighter_139799">view
Time of Update: 2013-12-11
冷風既然是使用SOCKET串連網路上的電腦,就分為兩部分其一,Android上面的Client其二,PC上的ServerAndroid上面的實現代碼如下package Hello.MySocket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import
Time of Update: 2013-12-11
做過Android Ap開發的朋友一般情況下都會用到Google 提供的BaseAdapter 適配器做擴充,用來填充ListView、GridView 等視窗控制項。用過的朋友都會覺得很簡單很方便就可以對控制項做一個資料來源。而BaseAdapter 正是一個適配器,Google 考慮到適配器的一個特性則可以如此概括用 “既有內容” 去實現 “需要結果” 。 Adapter Pattern 適配器模式共分為兩種:類的 Adapter Pattern (即所謂的繼承)對象的
Time of Update: 2013-12-11
在 Android中,對於資料的存貯,有幾種方式,有檔案方式,有檔案式資料庫方式,網路資料,Android內建了一個SQLite資料庫,做嵌入開發的人對這個跨平台的本地檔案資料庫一定不會陌生,在Android對於資料的訪問,提出了新的方式,ContentProvider方式,我們首先來看看SQLite在 Android中的使用,在Android中有最簡單的使用方式,就是利Context對象的openorCreateDatabase我們來看看一段代碼:Java代碼 import
Time of Update: 2013-12-11
目前我個人做的是自己的一個理財軟體,我這個人是一個極度木有理財觀念的人,每個月沒有固定的開資計劃和理財計劃。於是乎我看了別的理財軟體也讓我覺得很繁瑣和複雜我覺得如果讓我來做一個理財軟體,那第一必須得方便,個人化,有可能我一鍵就能記錄我當天的開資情況(根據前一天的理財記錄來添加第二天的理財紀錄是否一樣)。而且是否每天都要統計開資呢,不一定,我只紀錄我當天的花費即可,而且我可以編輯這個月內我某一天的開資情況,還有一個功能就是我忘了昨天的理財添加了,我選擇日期來進行理財管理。達到即使忘記了我也能添加回
Time of Update: 2013-12-11
Android應用程式也是訊息驅動的,按道理來說也應該提供訊息迴圈機制。實際上Google參考了Windows的訊息迴圈機制,也在Android系統中實現了訊息迴圈機制。 Android通過Looper、Handler來實現訊息迴圈機制,Android訊息迴圈是針對線程的(每個線程都可以有自己的訊息佇列和訊息迴圈)。 本文深入介紹一下Android訊息處理系統原理。 Android系統中Looper負責管理線程的訊息佇列和訊息迴圈,具體實現請參考Looper的源碼。
Time of Update: 2013-12-11
一、線性布局-LinearLayout(至上而下布局)<LinearLayout></LinearLayout>如:Java代碼 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
Time of Update: 2013-12-11
介紹過Activity本身提供了可以控制顯示在Titlebar的進度條顯示 ,那個例子使用是水平進度條,本例在Titlebar中顯示一個Spinning wheel 。首先需要設定在 Titlebar 的進度條的可用性,setProgressBarIndeterminateVisibility 設定 “Indeterminate” 模式的進度條的可見度,而setProgressBarVisibility
Time of Update: 2013-12-11
[html] 布局檔案。外層用RelativeLayout 最後使用一張圖片 並且android:keepScreenOn="true" [html] <?xml version="1.0" encoding="utf-8"?> <RelativeLayout
Time of Update: 2013-12-11
Android平台提供了幾個能夠監視裝置移動的感應器。其中的兩個是基於硬體的(加速度感應器和陀螺儀),有三個感應器既可以是基於硬體的,也可以是基於軟體的(重力感應器、線性加速度感應器和旋轉向量感應器)。例如,在某些基於軟體感應器的裝置上會從加速度感應器和磁力儀中提取它們的資料,但是在其他的裝置上,它們也可以使用陀螺儀來提取資料。大多數Android裝置都有加速度感應器和陀螺儀。基於軟體的感應器的有效性是可變的,因為它們要依賴一個或多個硬體感應器來提取對應的資料。動作感應器用於監視裝置的移動,如:
Time of Update: 2013-12-11
建立一個進程服務.程式第一次啟動並執行時候就建立.不需要介面要想其他進程能夠跨進程的調用本進程的方法.就得使用跨進程訪問的介面類型.只需將介面中類和方法的修飾符去掉就行.然後把介面類編程aidl類型服務也業務代碼:[java] package com.example.remoteservice; import android.app.Service; import android.content.Intent; import
Time of Update: 2013-12-11
1.Activity原始碼:package com.example.crema;import java.io.ByteArrayOutputStream;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date; import android.net.Uri;import android.os.Bundle;import android.os.Environment;import
Time of Update: 2013-12-11
AwesomePlayer 中有個變數[cpp] OMXClient mClient; 讓我們看看 OMXClient[cpp] class OMXClient { public: OMXClient(); status_t connect(); void disconnect(
Time of Update: 2013-12-11
本例介紹TextSwitcher 的用法,我們在前面介紹過ImageSwitcher的用法Android ApiDemos樣本解析(124):Views->ImageSwitcher ,ImageSwitcher 和TextViewSwitcher都是ViewSwitcher 的子類,ViewSwitcher又是ViewAnimator 的子類,ViewAnimator (FrameLayout的子類)提供了不同View之間切換時的動畫效果支援,而ViewAnimator
Time of Update: 2013-12-11
Android主題定製及修改簡介:在寫Android的App時,我們在Layout中的xml檔案中都會引用到大量的布局組件及風格,有時Android提供的原生組件並不能滿足我們的需求,這時我們就要考慮對style及theme進行定製及修改。布局檔案的解釋原理:在Layout的每一個控制項如TextView、EditText、Button等,例如Button控制項,在目錄frameworks/base/core/java/android/widget/下存在Button.java這個檔案,在But
Time of Update: 2013-12-11
的執行緒模式:當一個 android 的應用運行後,就會有一個 UI 的 main 線程啟動 , 這是一個非常重要的線程,它負責把事件指派到相應的控制項,其中就包括螢幕繪圖事件,它同樣是使用者與 android 控制項 互動的線程。比如,當你在螢幕上的 EditText 上輸入文字, UI 線程會把這個事件分發給剛輸入文字的 EditText ,緊接會向事件隊列發送一個更新 ( invalidate )請求。 UI 線程會把這個請求移出事件隊列並通知 EditText
Time of Update: 2013-12-11
android中類型轉換好像支援不是太好,備份下有用的類型轉換函式和工具函數.一、類型轉換1.byte 轉 int ( int 可以再轉成long double float )[java] public static int byteToInt(byte[] data, int offset) { int result =
Time of Update: 2013-12-11
可以使用 Intent.createChooser() 的方法來建立 Intent,並傳入想要的 Sting 作為標題。以wallpaper 選擇框為例,當在Launcher workspace的空白地區上長按,會彈出wallpaper的選擇框,選擇框的標題為”Choose wallpaper from”,如下: private void startWallpaper() {
Time of Update: 2013-12-11
1. 修改如下兩個檔案: alps/mediatek/custom/common/kernel/leds/inc/cust_leds.h ----------------------------------------------------------- enum mt65xx_led_type
Time of Update: 2013-12-11
我分析這個流程也是從這張圖來分析:首先kernel層是由kernel_imx/drivers/power/下的bq27x00_battery.c和power_supply_core.c以及power_supply_sysfs.c三個檔案來做,power_supply_core.c主要提供統一裝置檔案的建立以及發送power_supply相關的Uevent;bq27x00_battery.c主要提供具體的電池資訊.每當產生充放電中斷時,驅動會調用中斷函數ext_power_isr,該函數調用pow