Time of Update: 2018-12-05
如何把自己喜歡的app放到系統app裡,其實很簡單,只需要2部分操作1、先把手機ROOT了,這步是前提。2、如果你用檔案管理工具的話,就需要把自己喜歡的app直接 複製到 /system/app目錄裡,複製的時候注意 記得是讀寫操作對於/system/app如果你用adb shell命令來玩呢,就更簡單了, adb push 本地目錄/xx.apk /system/app當然了,很多人都會碰到一些問題,例如:failed to copy 'C:\Users\changeself\
Time of Update: 2018-12-05
為了協助理解,我決定先上傳一個工程,這個是我做的一個小作業,3、4個小時完成,沒什麼含金量,就是交差用的,這裡給大家做個模板吧。 我把一個工程分6個部分,如左面的圖所示,然後來一一說好了。1. 這裡就是存放我們寫的類的,由於我這個簡單,就沒有分很多包了,一個包搞定一切。2. 這個是編譯產生的,裡面有個R.java檔案,千萬不要亂動它,會導致很可怕的錯誤,另外,如果明明寫的很對,但是就是編譯通不過的話,一定是這個東西除了問題,可以上網搜搜解決辦法,不知道能不能刪了這個檔案重新編譯。3.
Time of Update: 2018-12-05
1.注意廣播發起的動作,以及需要在AndroidMainfest.xml檔案中去註冊這個廣播,並且這個廣播需要用intent-filter進行過濾。 2.系統級的廣播,調用一樣,只是需要在AndroidMainfest.xml檔案中去註冊這個廣播,並且添加系統級過濾條件。 3.廣播也可以在代碼中註冊,但需要注意的是註冊的同時不要忘記去登出這個廣播:一般是在Activity.onResume中去註冊這個廣播:IntentFilter filter = new
Time of Update: 2018-12-05
在開發應用的時候,經常會限制使用者輸入的字數,比如發表評論或者其它什麼的,下面來個簡單的demoEditText et_content;//定義一個文本輸入框TextView tv_num;// 用來顯示剩餘字數int num = 10;//限制的最大字數 et_content = (EditText) findViewById(R.id.et_content);tv_num = (TextView) findViewById(R.id.tv_num); tv_num.setText("10")
Time of Update: 2018-12-05
/** * 測試ConnectivityManager ConnectivityManager主要管理和網路連接相關的操作 * 相關的TelephonyManager則管理和手機、電訊廠商等的相關資訊;WifiManager則管理和wifi相關的資訊。 * 想訪問網路狀態,首先得添加許可權<uses-permission *
Time of Update: 2018-12-05
首先 activity_main.xml 布局:<RelativeLayout 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"
Time of Update: 2018-12-05
在一個項目中,要用到sdcard和sim卡。使用sdcard時,需要判斷其狀態是否可讀寫。使用sim卡時,要判斷是否可讀,怎麼做呢,請參閱下面兩個函數: //sdcard是否可讀寫 public boolean IsCanUseSdCard() { try { return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED);
Time of Update: 2018-12-05
閱讀Android Frameworks中的C++代碼時,經常會碰到在條件判斷語句中使用了LIKELY和UNLIKELY這兩個宏,找到這兩個宏的定義如下:#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true ))#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false ))long __builtin_expect (long exp, long
Time of Update: 2018-12-05
今天因為工作需要,把以前編寫的一個GPS測試程式拿出來重新修改了一下。這個程式說起來有些曆史了,是我11年編寫的,那時候學了Android開發沒多久,算是一個實驗性的作品。現在工作需要,重新拿出來修整。同時發現我對android的GPS服務瞭解並不深,所以今天特意閱讀了有關GPS服務的一些資料,把相關知識點記錄下來。 本人做了GPS相關的嵌入式軟體已經幾年了,所以說起要做個測試GPS定位模組的程式,第一反應就是串口讀取GPS模組的資料,然後解析GPS的NMEA格式資料。NMEA是一種標準化
Time of Update: 2018-12-05
電池的資訊,電壓,溫度,充電狀態等等,都是由BatteryService來提供的。BatteryService是跑在system_process當中,在系統初始化的時候啟動,如下 在BatteryService.java中: Log.i(TAG, "Starting Battery Service."); BatteryService battery = new BatteryService(context);
Time of Update: 2018-12-06
在Android中是通過觸屏及鍵盤來操作程式的,我們如何響應一般的鍵盤及觸筆動作呢?通過對Android一些基本介面元素的操作的瞭解,如果你再熟悉MVC你可以猜到Android將會如何處理鍵盤事件,恭喜你,猜對了,仍在Activity中改事件響應函數來做到。一般是如下三個函數:onKeyDown, onKeyUp, on, onKeyMultiple參看如下代碼:import android.app.Activity;import
Time of Update: 2018-12-06
1)下載百度地圖移動版API(Android)開發包 要在Android應用中使用百度地圖API,就需要在工程中引用百度地圖API開發包,這個開發包包含兩個檔案:baidumapapi.jar和libBMapApiEngine.so。:http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E7%9B%B8%E5%85%B3%E4%B8%8B%E8%BD%BD2)申請API Key
Time of Update: 2018-12-06
轉自:http://www.g3top.com/ 在此先要明確聲明一下:由於android平台的更新換代過於頻繁,偶的做法不一定好用,也不一定完全正確(只是記錄一下偶在自己的nexus
Time of Update: 2018-12-06
一、概述 Menu,簡單來理解就是當你按下手機的“menu”鍵時所彈出來的視窗,它被廣泛應用著,幾乎在每個應用中都有它的身影。二、要求 用兩種方式實現菜單功能。三、實現 建立工程MyMenu,修改/res/layout/main.xml檔案,主要是修改了裡面的TextView,完整的main.xml檔案如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout
Time of Update: 2018-12-06
前段時間仔細研究了一下音量曲線的問題。眾所周知,人耳對聲音強度的感知不是線性,而是具有對數關係。所以理想的音量曲線應該是音量級數調節與音量大小的對數成線性關係。即:-20lg(y) = a * (x - b) 假設音量級數為M,則有: x = M 時 -20lg(y) = 0dB ==> b = M 由此得到: -20lg(y) = a * (x - M) 假設最大音量範圍為N dB, 則有: x = 0時, -20lg(y) = -NdB ==> a = N / M由此得:
Time of Update: 2018-12-06
時間過得好快,手機剛刷2.3.3沒多久,Google已經放出了2.3.4、3.1的ROM,發布了2.4的代號,儘管較高版本面向的群體非常小眾,但是Android仍然在不遺餘力的追趕著iPhone、iPad。希望這兩大陣營可以良性競爭,為使用者帶來更多更好的裝置和軟體。同時對WP7的芒果更新期待一下,別讓觀眾等的太久,太晚上市,吃的人也不多了。測試代碼下載 言歸正傳,本次開始關注下jQuery
Time of Update: 2018-12-06
16號在波士頓舉行的jQuery開發人員會議上,jQueryTeam Dev正式發布了jQuery Mobile Project(jQuery移動項目)的首個alpha版本。這對於iOS、Android以及其他移動作業系統平台的開發人員來說確實是一個值得高興的事情。 根據jQuery Mobile Project的專案網站 http://jquerymobile.com 上的資訊顯示,jQuery
Time of Update: 2018-12-06
繪製立方體的原理很簡單了,就是通過繪製三角形而來的,當然還可以通過繪製線來完成。 下面是核心代碼: public class CubeRender implements Renderer { Cube cb;float ratio;@Overridepublic void onDrawFrame(GL10 gl) {// TODO Auto-generated method
Time of Update: 2018-12-06
libgdx絕對是一個相當不錯的遊戲引擎,最近一段時間的學習我感覺收穫很多。但是我一直對於libgdx載入的圖片大小必須是2的次方感到很糾結。如果是一張一般的圖片想在libgdx中使用的話就需要自己去用ps什麼的把映像拉一下,一兩張沒關係,但是數量大了還是有點煩。而且拉大的圖片還需要TextureRegion來切割一下,實在麻煩。仔細看了一下libgdx的tool包,發現早有解決方案了。具體的類是imagepacker,在com.badlogic.gdx.tools.imagepacker包之中
Time of Update: 2018-12-06
本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。常用的UI類包括標籤,按鈕,勾選框,下拉框,圖片,輸入框,列表,滑動面板,滑條,分割面板。它們都在com.badlogic.gdx.scenes.scene2d.ui包中,都屬於Actor,可以方便的納入舞台的管理中。其實仔細看看UI類的實現代碼不難發現其實它們都是大部分繼承自Widget或者Table,如果需要自訂UI可以繼承以上兩個類(它們繼承自Actor),這裡要說明一下libgdx的布局部分使用