Time of Update: 2018-12-03
一、Android編碼規範1.java代碼中不出現中文,最多注釋中可以出現中文2.局部變數命名、靜態成員變數命名只能包含字母,單詞首字母出第一個外,都為大寫,其他字母都為小寫3.常量命名只能包含字母和_,字母全部大寫,單詞之間用_隔開4.layout中的id命名命名模式為:view縮寫_模組名稱_view的邏輯名稱view的縮寫詳情如下LayoutView:lvRelativeView:rvTextView:tvImageView:ivImageButton:imButton:btn5.acti
Time of Update: 2018-12-03
我們在做項目的時候,由於android內建的屬性不能滿足需求,android提供了自訂屬性的方法,其中的format是做什麼用的?以及如何使用它?下面列出一些常用的。1. reference:參考某一資源ID。 (1)屬性定義: <declare-styleable name = "名稱"> <attr name = "background" format = "reference" />
Time of Update: 2018-12-03
布局檔案<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView
Time of Update: 2018-12-03
第一個問題:判斷手機當前上網用的是sim卡還是wifi,我寫了一個封裝的方法,以後可以拿來用:[java] view
Time of Update: 2018-12-03
首先說明:這個五子棋使用的是SurfaceView,實際上並不好,因為這個本應該使用View類會更加合適的。但是我為了練習使用SurfaceView,所以才用了它。SurfaceView和View那個更合適,可以看你開發的程式的性質。總結來說如下:(摘自別人部落格中的一段話)SurfaceView和View最本質的區別在於,surfaceView是在一個新起的單獨線程中可以重新繪製畫面而View必須在UI的主線程中更新畫面。那麼在UI的主線程中更新畫面 可能會引發問題,比如你更新畫面的時間過長,
Time of Update: 2018-12-03
package com.example.demorequest;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import
Time of Update: 2018-12-03
指南針一直是一個不可或缺的重要的角色開發指南針的思路很簡單,程式先準備一張指南針圖片,讓圖片上方向的指標,指向正北方,接下來開發檢測方向的感應器,程式檢測到手機頂部繞過Zf軸多少度,讓指南針的圖片,反向轉過多少度即可。主要代碼如下package com.example.compass;import android.app.Activity;import android.hardware.Sensor;import android.hardware.SensorEvent;import
Time of Update: 2018-12-03
原理基於上篇的多渠道打包工具,我們使用apktool解壓需要驗證的apk檔案後,去讀AndroidManifest.xml,當讀到渠道號哪一行的時候輸出即可。源碼如下:Main.javapackage com.Market5577.channelVerifyTool;public class Main { public static void main(String[] args) { System.out .println("=====**==
Time of Update: 2018-12-03
樓主三年磨劍(當然不是磨著一把劍),傾血奉獻Android多線程下載Demo。有的人就問了“怎麼寫來寫去還是Demo?”,因為老哥我實在太忙了,每天寫一點,寫到現在也才寫了個下載器,也就差下載管理類就是個完整的模組了。對於新手學習這已經足夠了,不對,是完全足夠了。這不僅僅只是一個簡單的Demo,這絕對是你前所未見的商業層級的範例,集支援多線程下載,斷點續傳,只使用wifi網路下載,顯示下載速度,人性化提示及超強的容錯機制多功能於一體,絕對的實用,絕對的專業。當然我寫這個是為了下載apk的,大家稍
Time of Update: 2018-12-03
在說這個話題之前需要知道幾個重點:1.mediaRecorder/audioRecord區別mediaRecorder是系統提供常用的錄音類,該類可以實現音頻錄音組建檔案。audioRecord也是系統提供的錄音類,但是他可以直接捕獲音頻流,開發人員可以即時隨意處理其內容。常見的情境比如語音交談/tom貓/k歌。2.riff/wav/pcm/raw/mp3riff是一種檔案描述格式,wav檔案就採用了riff描述,其前44位元組就是riff描述內容。pcm就是媒體資料的中繼資料,直接記錄聲音內容
Time of Update: 2018-12-03
方法一:Intent localIntent = new Intent();localIntent.setType("image/*");localIntent.setAction("android.intent.action.GET_CONTENT");startActivityForResult(localIntent, PHOTO_PICKED_WITH_DATA);:方法二:Intent localIntent = new
Time of Update: 2018-12-03
private LocationManager locationManager;locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 5, new MyLocationListener());Location location =
Time of Update: 2018-12-03
寫部落格是一種快樂,前提是你有所寫,與人分享,是另一種快樂,前提是你有舞台展示,部落格園就是這樣的舞台。這篇文章是android開發人員的必備知識,是我特別為大家整理和總結的,不求完美,但是有用。1.簽名的意義 為了保證每個應用程式開發商合法ID,防止部分開放商可能通過使用相同的Package
Time of Update: 2018-12-03
下面我列舉一些重要的認識點:設計模式,提供了很多軟體工程問題所需處理的解決方案。根據模式的目的可分為3類:1.建立型模式:與對象的建立有關。2.結構性模式:處理類與對象的組合。3.行為性模式:對類或對象怎樣互動和怎樣 分配職責進行描述。物件導向設計的2個基本原則:1.針對介面編程,而不是針對實現編程。2.優先使用對象組合,而不是類繼承。 物件導向設計的5個設計原則:1.單一職責原則(SRP)2.開放封閉原則(OCP) 3.Liskov替換原則(LSP)4.依賴倒置原則(DIP)5.介面隔離原則(
Time of Update: 2018-12-03
android:configChanges="orientation|keyboardHidden"的使用今天看到一個Android應用的源碼,發現有一段這樣的代碼,平時開發的時候很少用的,後來瞭解到如果使用了這個屬性,當橫豎屏切換的時候會直接調用onCreate方法中的 onConfigurationChanged方法,而不是重新執行onCreate方法,如果沒有使用這個屬性就會重新調用onCreate方法了。
Time of Update: 2018-12-03
在使用PreferenceActivity的時候,布局檔案的格式一般是這樣的:[html] view
Time of Update: 2018-12-03
上周六碰到android線上編譯系統中的幾個問題,記錄如下:問題1:問題描述:將java應用放在packages\apps下面一起編譯,單獨進入應用mm編譯,可以install安裝到out下面的system/app下面,但根目錄上make卻不會原因:LOCAL_MODULE_TAGS :=optional
Time of Update: 2018-12-03
這兩種方法都不是我發明了,都是網上一些高手公用出來的調試方法,無奈找不到出處的地方了,所以就在此總結一下,以方便android下的調試:簡要說明:android系統中調試Java非常容易,一般遇到錯誤都在logcat中列印出錯時函數的調用關係,而C庫中出錯時只看到一些二進位資訊,使用gdbserver調試環境搭建又比較複雜。方法一:下在介紹一個簡單的調試庫的方法,當然需要有so庫的原始碼舉例a) 錯誤資訊如下,它表示了出錯時的函數調用關係(下面調上面的)I/DEBUG (
Time of Update: 2018-12-03
Android中與電話功能相關的類是 TelephonyManager ,此類中定義了很多常量,以下分類說明擷取以下資訊需要在AndroidManifest.xml中指定許可權一、 資料連線狀態擷取資料連線狀態:int getDataState()擷取資料活動狀態:int getDataActivity()常用的有這幾個:int DATA_ACTIVITY_IN 資料連線狀態:活動,正在接受資料int DATA_ACTIVITY_OUT 資料連線狀態:活動,正在發送資料int
Time of Update: 2018-12-03
實現步驟: 第一步:建立Android 工程:SpinnerDemo。 第二步:編寫Activity 的子類別:SpinnerDemo,其程式碼如下: package com.a3gs.spinner;import java.util.ArrayList;import java.util.List;import