Time of Update: 2018-12-05
Android應用程式用Java做為開發語言。aapt工具把編譯後的Java代碼連同其它應用程式需要的資料和資源檔一起打包到一個Android檔案包中,這個檔案使用.apk做為副檔名,它是發布應用程式並安裝到行動裝置的媒介,使用者只需下載並安裝此檔案到他們的裝置即可。單個.apk檔案中的所有代碼被看作是一個應用程式。從很多方面來看,每個Android應用程式都存在於它自己的世界之中:預設情況下,每個應用程式均運行於它自己的Linux進程中。當任一應用程式開始執行時,Android啟動一個進程,而
Time of Update: 2018-12-05
1. 表象 Service中可以正常顯示Toast,IntentService中不能正常顯示Toast,在2.3系統上,不顯示toast,在4.3系統上,toast顯示,但是不會消失。2. 原因 Toast要求運行在UI主線程中。 Service運行在主線程中,因此Toast是正常的。 IntentService運行在獨立的線程中,因此Toast不正常。3. 在IntentService中顯示Toast 利用Handler,將顯示Toast的工作,放在主線程中來做。
Time of Update: 2018-12-05
1. 源起 很多分頁載入的組件都是繼承自ScrollView,分頁要檢查是否滾動到底部,下拉重新整理需要檢測是否滾動到頂部。2. 代碼<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
Time of Update: 2018-12-05
源起 需要跟蹤FileInputStream的Read的Nativie實現,開始走了彎路,Java工程下的FileInputStream實現與Android工程的實現不同。另外,http://blog.chinaunix.net/uid-26926660-id-3326678.html中分析的不錯。java.io.FileInputStream @Override public int read() throws IOException { return Streams.
Time of Update: 2018-12-05
1.3 進程和線程當應用程式的第一個組件需要運行時,Android會為它啟動一個Linux進程,及單一的執行線程。預設情況下,應用程式所有的組件均在這個進程、線程中運行。然而,你也可以安排組件在其他進程中運行,而且可以為任意進程衍生出其它線程。1.3.1
Time of Update: 2018-12-05
做項目時遇到過這個問題,我想要為Android 的每個option menu加表徵圖,然後改變每個menu item的相片順序,預設的menu item 相片順序是豎著排成一列,類似於Android組件ListView 中內容的相片順序,但我想要的效果是每個menu item排成一個方陣,類似於GridView的那種排列,在網路上找了半天,找到了一個有些協助的文章,如下:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html
Time of Update: 2018-12-05
學習Android已經快一年了,前半年一直滿足與寫個TextView,然後讓它顯示在案頭,或者寫個ImageView,然後設定一片,讓它顯示一下。樂此不疲的,自我沉浸於那樣的滿足之中!前端時間在網上接了寫項目做,才發現自己實在是太無知了!連簡單的類比發送表單也不會,傳送帶參數的檔案也不會,如何非同步更新View也不會。在跌跌撞撞中交了第一個項目。那是一個簡單的項目,收集一些資料,然後整理成xml檔案,上傳到指定的網站。
Time of Update: 2018-12-05
在android系統中,當SD卡掛載在電腦上時候,如果手動將語音備忘錄中的錄音刪除的時,那麼相應資料庫中的資料也是需要修改的。此時實現需要對掛載進行監聽,需要繼承BroadcastReceiver類,實現其中的onRecieve(Context context, Intent inten)方法。代碼如下public void onReceive(Context context, Intent intent) {String action = intent.getAction();if
Time of Update: 2018-12-05
1. android.text.ClipboardManager API Level1,沒有資料變化的介面,需要類比實現。該方法實現比較複雜,需要長期啟動一個服務,將剪下板的內容與上一次讀取的內容比較,如果內容不同,那麼認為剪下板資料變化了。。如果此前沒有讀取過剪下板,預設為空白串。主要這個數值最好儲存在SD卡上,比如SharedPreference中。儲存在靜態變數裡面,好像有問題。。 讀取剪下板內容的方法 private String
Time of Update: 2018-12-05
1. 首先得到該程式的包名 這個連上手機ADB,看logcat就能看到。比如:QQ用戶端的包名是com.tencent.mobileqq。2. 然後通過PackageManager判斷是否存在該包的程式 private boolean isPkgInstalled(String pkgName) { PackageInfo packageInfo = null; try { packageInfo =
Time of Update: 2018-12-05
private static boolean isAppOnForeground(String packageName) { YNoteApplication app = YNoteApplication.getInstance(); ActivityManager activityManager = (ActivityManager) app.getSystemService(app.ACTIVITY_SERVICE); PowerManager manager =
Time of Update: 2018-12-05
一、緣起 最近需要使用Google OAuth和Google Map,在使用Google的這些服務之前,有一些相同的準備工作要做。 這些工作包括:安裝Google Play Services,產生認證指紋,建立Client ID 二、安裝Google Play Services Google Map的API被整合在Google Play Services包中了,這個包可以使用Android Sdk Manager下載,位置:Extras->Google Play
Time of Update: 2018-12-05
1. 說明 Android手機開機後,會發送android.intent.action.BOOT_COMPLETED廣播,監聽這個廣播就能監聽開機。2. 代碼<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><receiver android:name="com.example.restarttest.BootupReceiver" > <intent-
Time of Update: 2018-12-05
1. 技術方案 方案一,AccountPicker+GoogleAuthUtil,使用AccountPicker擷取username,使用GoogleAuthUtil擷取assess token。該方法支援單點登入,介面都是SDK裡面繪製好的,優點是方便簡單,缺點是AccountPicker不支4.2.x以下的版本。 方案二,AccountManager+ GoogleAuthUtil,使用AccountManager擷取username。AccountManager的API
Time of Update: 2018-12-05
1. 源起 使用AlarmManager+IntentService來監控某個程式在前台的剪貼簿變化,在小米2S上面,AlarmManager沒有啟動。看了一些文章,說是小米2S為了省電,對喚醒操作是5分鐘一次。。。2. 解決 我的工作是不需要喚醒操作的,因此,使用RTC代替RTC_WAKEUP即可。 如果是需要喚醒的操作,使用一個後台長期的Service也是可以的。3. 參考 小米2S關於AlarmManager喚醒系統問題
Time of Update: 2018-12-05
1. 簡述 現在已經是2013年7月份了,最新的SDK還是去年8月份出的,最近沒怎麼更新的說。 SDK的下載連結:http://open.weibo.com/wiki/SDK,其中文檔內容很詳細,本文僅介紹其中與SSO登入相關的內容。 去年8月份的SDK:http://download.csdn.net/detail/u011267546/58142592. 準備的內容 Comsume Key和Redirect
Time of Update: 2018-12-05
1. 源起 在進行Android開發的時候,如果沒有Root許可權,那麼有時候是很痛苦的。因為SQLite編輯器、翻牆代理、Host檔案修改器等工具都需要Root許可權才能工作。2. 方法 完美刷機軟體還是比較方便的,這個軟體可以刷系統,刷Root,系統就算了,預設的Google Nexus的系統挺好的,刷了一個很糟糕,又刷回來了。 一鍵刷機就是刷系統,一鍵修複是從官網下載官方系統並刷機,一鍵Root是刷Root。
Time of Update: 2018-12-05
1. 源起 Service中沒有訊息佇列,無法Toast。2. 解決方案 方法很多,這裡提供一個簡單的方法。 public static void showToastInService(final Context context, final int id, final boolean longToast) { Handler handler = new Handler(Looper.getMainLooper());
Time of Update: 2018-12-05
轉自http://blog.csdn.net/davayunhuijia/article/details/7778240通訊記錄有三種類型:來電:CallLog.Calls.INCOMING_TYPE (常量值:1) 已撥:CallLog.Calls.OUTGOING_TYPE(常量值:2)未接:CallLog.Calls.MISSED_TYPE(常量值:3) 查看源碼中的聲明: <provider
Time of Update: 2018-12-05
轉自http://www.cnblogs.com/error404/archive/2013/03/12/2956090.html在android中讀取連絡人資訊的程式,包括讀取連絡人姓名、手機號碼和郵箱 1:androidmanifest.xml的內容<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"