Time of Update: 2018-12-03
1.術語和概念術語說明備忘Screen size(螢幕尺寸)指的是手機實際的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托羅拉milestone手機是3.7英寸Aspect Ratio(寬高比率)指的是實際的物理尺寸寬高比率,分為long和nolongMilestone是16:9,屬於longResolution(解析度)和電腦的解析度概念一樣,指手機螢幕縱、橫方向像素個數Milestone是854*480DPI(dot per inch)每英吋像素數,如120dpi,1
Time of Update: 2018-12-03
很早就聽說了android的NDK應用,只是一直沒有時間去研究,今天花了點時間在windows平台搭建了NDK環境,並成功運行了第一個簡單的android應用。一:什麼是NDK?NDK 提供了一系列的工具,協助開發人員快速開發C(或C++)的動態庫,並能自動將so 和java 應用一起打包成apk。這些工具對開發人員的協助是巨大的。NDK 整合了交叉編譯器,並提供了相應的mk 檔案隔離CPU、平台、ABI 等差異,開發人員只需要簡單修改mk 檔案(指出“哪些檔案需要編譯”、“編譯特性要求”等),
Time of Update: 2018-12-03
前面提到了Android中建立和解析xml檔案的方法,其實Android也有簡單的建立和讀寫xml的類,也就是SharedPreference。當然,根據不同業務情境,做靈活選擇。SharedPreference用法很簡單。使用SharedPreferences儲存資料,每個應用對應的xml檔案存放在/data/data/<packagename>/shared_prefs目錄下,具體是:SharedPreferences sharedPreferences
Time of Update: 2018-12-03
下面是第一篇(轉自:http://blog.163.com/binghaitao@126/blog/static/3383532520099309366435/)1:在編譯so檔案的c或cpp檔案之前中加入以下代碼,就可以在android中的log顯示日誌內容 #include <android/log.h> #define LOG_TAG "show infomation" #define LOGW(a )
Time of Update: 2018-12-03
先參考一下老羅同志的關於key事件的分發流程。http://blog.csdn.net/luoshengyang/article/details/6882903#comments這裡主要是寫一下事件從native層上到Java層後,即到了InputQueue後的分發流程,以keyEvent為例。InputQueue.java中 private static void dispatchKeyEvent(InputHandler inputHandler,
Time of Update: 2018-12-03
一、Handler的定義: 主要接受子線程發送的資料, 並用此資料配合主線程更新UI. 解釋: 當應用程式啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理介面中的UI控制項,進行事件分發, 比如說,你要是點擊一個 Button,
Time of Update: 2018-12-03
寫了Android中解析xml檔案的介面。注意傳入的xml路徑類型是 String path = "file:///data/data/com.example.androiddemo/network.xml";否則會報異常的。這個在Android模擬器上測試過,可以正常使用。package com.example.androiddemo;import java.util.HashMap;import javax.xml.parsers.DocumentBuilder;import
Time of Update: 2018-12-03
紙上得來終覺淺,絕知此事要躬行。 從事Android開發兩年多,在公司裡用的都是平台提供上提供的原始碼,終於有一天自己準備徹徹底底的濾一下這個流程,發現這個過程沒有想象中那麼複雜,網上的資料很多,遇到一些問題的時候就google或baidu一下,但當做完這個過程後,會感覺明了了不少。 一、下載原始碼GOOGLE網站已經介紹的非常詳細了,參考
Time of Update: 2018-12-03
本文旨在記錄在研究和開發 Android 系統的過程中學習到的星星點點,以備日後之用~ 內容包括:開發環境、安裝程式、系統磁碟分割、目錄概覽、進程分析、核心對比。> 開發環境1、安裝 Eclipse 和 android-sdk 並解壓安裝2、Eclipse 安裝 AVD 外掛程式 https://dl-ssl.google.com/android/eclipse/ 並配置 SDK Location3、開啟 SDK Manager 安裝 android packages 並配置
Time of Update: 2018-12-03
偉大長城需要天朝子民努力跨越……為了這個偉大的長城,我用了兩天半的時間基本實現了跨越……問題一:直接從google官網下載repo指令碼不成功。直接download吧,下面我個資源的連結給大家:http://download.csdn.net/detail/kaiwii/4214098不過,要正常使用,還需要更新。不過運行該指令碼的時候是會有提示的,不用擔心!問題二:repo逾時。主要參考下面轉載的一篇博文:repo逾時不過,關於這篇博文有以下幾點根據個人使用的實際情況,要指出一下的:第一:-
Time of Update: 2018-12-03
Android開發過程中,碰到R cannot be resolved to a variable的報錯資訊,好像沒有很確定的錯誤原因,一般來說,我總結出幾個可能的解決方案,希望試過以後管用。。。1. 檢查Android 的SDK是否丟失需要重新下載,檢查build path2.確保class沒有import
Time of Update: 2018-12-03
最近在移植Android過程中遇到了Android程式(apk)許可權的問題。最近也對這方面進行了一些瞭解,在此和大家分享。Android架構是基於Linux核心構建,所以Android安全系統也是基於Linux的安全架構建立的。在Linux安全系統中,使用者和組起著重要的作用,Linux中所有的資源給不同的使用者和使用者組設定了不同的訪問屬性。如果你對Linux下面使用者和組的概念不熟悉,請先補習一下Linux基礎知識。在Android系統中,系統為每一個應用程式(apk)建立了一個使用者和組
Time of Update: 2018-12-03
不像liblog.so,android 沒有直接開放libsqlite.so給外部使用雖然Android提供了訪問 sqlite的Java介面,但現在需要在ndk中使用 c 語言訪問sqlite。 方法有二: 第一種:使用源碼 sqlite3.h, sqlite3.c。 從android源碼網站下載sqlite.git庫,找到這兩個檔案,放到項目源碼中去,進行ndk編譯即可。 優點:簡單,很容易想到 缺點:不能有效利用
Time of Update: 2018-12-03
自訂android應用程式的功能表項目首先要知道切入點。經過學習,知道主要是兩個Activity類中的回呼函數,分別是 onCreateOptionsMenu(Menu menu)和onPrepareOptionsMenu(Menu menu)。其中,onPrepareOptionsMenu(Menu menu)是每次啟用功能表項目之前都會被調用的,而 onCreateOptionsMenu(Menu
Time of Update: 2018-12-03
有時候希望在啟動後做點事情,比如在sdcard上建立目錄,修改/data的存取權限等,這些都可以放在init.rc中去完成,那麼如何來完成呢,最近由於工作的需要,在這方面進行了一些研究,特寫於此,供大家參考。 通過下面的例子來講述,實現一個功能:在android系統啟動後,修改/data的存取權限為770.共4步:1、解壓ramdisk.img 2、用c語言完成要實現的功能 3、修改init.rc,啟動c語言可執行程式 4、製作ramdisk.img
Time of Update: 2018-12-03
大家都知道Android資料庫使用的是SQLite,但是Google為了給我們簡化操作,可以不用經常編寫容易出錯的SQL語句,直接通過 ContentProvider來封裝資料的query查詢、添加insert、刪除delete和更新update,我們就以Android系統的 SDK中的例子來給大家簡單的說明下吧。public class NotePadProvider extends ContentProvider { private static final String TAG =
Time of Update: 2018-12-03
剛開始接觸刷機的朋友碰到最多的一個詞,恐怕就是root了,到底什麼是root,下面我們就會講到。Windows系統大家應該都比較熟悉,其中,管理使用者叫做administrator,在作業系統裡,這個使用者具備最高的許可權,有了它,你可以對作業系統進行各種操作。那麼,Google的android系統呢?android系統是基於linux的,而linux又是基於unix的,linux和unix都是作業系統的名字,和windows作業系統工作原理不同而已。在unix系統裡面,管理使用者就叫做root
Time of Update: 2018-12-03
1、錯誤資訊:ERROR: the symlink include/asm points to asm-x86 but asm-arm was expected set ARCH or save .config and run 'make mrproper' to fix it make: *** [include/asm] 錯誤 1最後發現,將linux/include/asm 目錄刪除以後,該問題得以解決原因:linux/include/asm
Time of Update: 2018-12-03
英文原文:http://developer.android.com/guide/topics/ui/menus.html?#intents根據傳入Intent對象添加Menu組件在一些情況下,你需要通過菜單組件,使用intent來啟動一個activity(無論這個activity在否當前應用中)。當你知道這個你使用的intent的詳情和準備好一個菜單組件來啟動這個intent的時候,你可以在這個組件所對應的選擇回呼函數(例如onOptionsItemSelected() )中執行以這個inten
Time of Update: 2018-12-03
Fragment 表現 Activity 中用UI的一個行為或者一部分.可以組合多個fragment放在一個單獨的activity中來建立一個多介面地區的UI,並可以在多個activity裡重用某一個fragment.把fragment想象成一個activity的模組化地區, 有它自己的生命週期, 接收屬於它的輸入事件,並且可以在activity運行期間添加和刪除.Fragment 必須總是被嵌入到一個activity中, 它們的生命週期直接被其所屬的宿主activity的生命週期影響.例如,