Time of Update: 2017-01-19
思路分析:1、自訂View實現字母導覽列2、ListView實現連絡人清單3、字母導覽列滑動事件處理4、字母導覽列與中間字母的聯動5、字母導覽列與ListView的聯動效果圖:首先,我們先甩出主布局檔案,方便後面代碼的說明<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-01-19
一、首先在Application的onCreate中寫:// GeneralAppliction.javapublic static IWXAPI sApi;@Overridepublic void onCreate() { super.onCreate(); sApi = WXEntryActivity.initWeiXin(this, AppConst.WEIXIN_APP_ID);}二、在需要登入的地方添加://
Time of Update: 2017-01-19
自訂View,1. 自訂一個Runnable線程TouchEventCountThread , 用來統計500ms內的點擊次數2. 在MyView中的 onTouchEvent 中調用 上面的線程3. 自訂一個Handler, 在TouchEventHandler 中 處理 統計到的點擊事件, 單擊, 雙擊, 三擊, 都可以處理核心代碼如下: public class MyView extends View { ...... // 統計500ms內的點擊次數
Time of Update: 2017-01-19
前言最近遇到一個項目的應用要上微信登入,大家都知道微信登入是需要開放平台上申請的,在微信開發平台建立行動裝置 App後,需要填寫:需要填寫的內容問題這裡的應用簽名是keystore的認證的md5,但是微信的這個只有一個填寫輸入框,不像百度地圖、高德地圖那樣,有線上的SHA1和開發調試的SHA1兩種,那這就糾結了,在開發啟動並執行時候AS IDE預設使用的簽名keystore是系統的
Time of Update: 2017-01-19
實現更新下載進度的功能1. 通過廣播互動Server端將目前的下載進度,通過廣播的方式發送出來,Client端註冊此廣播的監聽器,當擷取到該廣播後,將廣播中當前的下載進度解析出來並更新到介面上。優缺點分析:通過廣播的方式實現Activity與Service的互動操作簡單且容易實現,可以勝任簡單級的應用。但缺點也十分明顯,發送廣播受到系統制約。系統會優先發送系統級廣播,在某些特定的情況下,我們自訂的廣播可能會延遲。同時在廣播接收器中不能處理長耗時操作,否則系統會出現ANR即應用程式無響應2.
Time of Update: 2017-01-19
最近需要編寫一個日期時間的案頭Widget用來關聯行事曆程式,以前很少寫案頭Widget。對這方面技術不是很熟悉,今天花時間重新整理了一下,順便把編寫一個簡單時間日期程式過程記錄下來。案頭Widget其實就是一個顯示一些資訊的工具(現在也有人開發了一些有實際操作功能的widget。例如相機widget,可以直接案頭拍照)。不過總的來說,widget主要功能就是顯示一些資訊。我們今天編寫一個很簡單的作為widget,顯示時間、日期、星期幾等資訊。需要顯示時間資訊,那就需要即時更新,一秒或者一分鐘更
Time of Update: 2017-01-19
我們寫程式的時候都希望能寫出一個沒有任何Bug的程式,期望在任何情況下都不會發生程式崩潰。不過理想是豐滿的,現實是骨感的。沒有一個程式員能保證自己寫的程式絕對不會出現異常崩潰。特別是針對使用者數達到幾十萬幾百萬的程式,當你使用者數達到一定數量級後,就算你的程式出現個別異常崩潰情況也不用驚訝。既然我們寫的程式都有可能發生異常崩潰,如果是還沒發布的程式,我們可以通過測試抓取Log來分析。不過針對已經發布的程式,我們沒法重現現象,所以讓使用者反饋程式異常資訊就很重要。下面我們說說如何收集程式運行過程的
Time of Update: 2017-01-19
上一次說了如何收集我們已經發布的應用程式的錯誤資訊,方便我們調試完善程式。上次說的收集方法主要是把收集的資訊通過Http的post請求把相關的異常資訊變成請求參數發送到伺服器。這個對做過web開發的人來說,服務端處理是很簡單。不過對很多沒做個web的人來說卻是麻煩事。今天介紹個更簡單的方法,我們把異常資訊收集後,通過後台發送郵件方法,把相關異常資訊發送到我們指定的郵箱裡面。這篇文章是實用性文章,不會涉及太多理論分析。主要是讓大家看了以後知道怎麼在自己的應用裡面添加這個功能。1、第三方庫這次發送後
Time of Update: 2017-01-19
今天因為要做一個設定開機畫面的功能,主要是讓使用者可以設定自己的開機畫面,應用程式層需要做讓使用者選擇開機畫面圖片的功能。所以需要做一個簡單的圖片瀏覽選擇程式。最後選用Gallery作為基本控制項。加入了一些炫一點的元素,做成3D滑動效果。下面是Demo例子截圖:
Time of Update: 2017-01-19
今天講解一下Fragment的控制,主要是切換View和頁面替換等操作。還有就是如何擷取Fragment的管理對象,以及與Activity的通訊方式。1、管理Fragment要在activity中管理fragment,需要使用FragmentManager. 通過調用activity的getFragmentManager()取得它的執行個體.•可以通過FragmentManager做一些事情, 包括: 使用findFragmentById()(用於在activity
Time of Update: 2017-01-19
最近事情很忙,一個新項目趕著出來,但是很多功能都要重新做,一直在編寫代碼、Debug。今天因為一個新程式要使用Fragment來做,雖然以前也使用過Fragment,不過沒有仔細研究,今天順道寫篇文章記錄一下Fragment的使用。這文章主要參考了Android官網的介紹。Fragment是Android3.0後增加的新控制項,有點類似於Activity組件,也是用來承載各種View元素。Google增加這個玩意的目的是為了平板電腦裡面可以複用部分顯示的View,只要寫好一個View,可以同時在
Time of Update: 2017-01-19
今天繼續講解Fragment組件的特性,主要是跟Activity的互動和生命週期的關係,我們前面已經說過Fragment是依賴於Activity的,而且生命週期也跟Activity綁定一起。下面我們看看Fragment跟Activity的關係。1、為Activity建立事件回調方法在一些情況下, 你可能需要一個fragment與activity分享事件。 一個好的方法是在fragment中定義一個回調的interface,
Time of Update: 2017-01-19
Android繪圖操作,通過繼承View實現,在onDraw函數中實現繪圖。下面是一個簡單的例子:複製代碼 代碼如下:public class AndroidTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle
Time of Update: 2017-01-19
一、 從resource中的raw檔案夾中擷取檔案並讀取資料(資源檔只能讀不能寫)複製代碼 代碼如下:String res = "";try{InputStream in = getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,int length = in.available();byte [] buffer = new byte[length];in.read(buffer);//res =
Time of Update: 2017-01-19
Android程式有很多Activity,比如說主視窗A,調用了子視窗B,如果在B中直接finish(), 接下裡顯示的是A。在B中如何關閉整個Android應用程式呢? 本人總結了幾種比較簡單的實現方法。1. Dalvik VM的本地方法複製代碼 代碼如下:android.os.Process.killProcess(android.os.Process.myPid()) //擷取PIDSystem.exit(0); //常規java、c#的標準退出法,傳回值為0代表正常退出2.
Time of Update: 2017-01-19
1、使用TelephonyManager提供的方法,核心代碼:複製代碼 代碼如下:TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);String imei = tm.getDeviceId(); //取出IMEILog.d(TAG, "IMEI:"+imei);String tel =
Time of Update: 2017-01-19
一、常用的單位:相對單位主要有:px、sp、dp絕對單位主要有:pt、in、mm二、單位應用總結:一般用相對單位,而不是絕對單位1、字型的大小一般使用SP,用此單位的字型能夠根據使用者佈建字型的大小而自動縮放2、空間等相對距離一般使用dp(dip),隨著密度變化,對應的像素數量也變化,但並沒有直接的相對比例的變化。3、px與實際像素有關,及與密度有關!dp和sp和實際像素沒有關係,對於一定解析度但不同密度的螢幕,px單位的應用可能會導致長度的相對比例的變化。三、密度與解析度:密度值表示每英寸有多
Time of Update: 2017-01-19
1. reference:參考某一資源ID。(1)屬性定義:複製代碼 代碼如下:<declare-styleable name = "名稱"> <attr name = "background" format = "reference" /></declare-styleable>(2)屬性使用:複製代碼 代碼如下: <ImageView android:layout_width = "42dip"
Time of Update: 2017-01-19
我們Android平台是一個又一個的Activity組成的,每一個Activity有一個或者多個View構成。所以說,當我們想顯示一個介面的時候,我們首先想到的是建立一個Activity,然後所有的操作在Activity裡面實現,或者是一個Dialog或者Toast。這種方式固然簡單,但是在有些情況下,我們要求的只是簡單的顯示,用Activity顯然是多餘,這個時候,我們如何處理呢?
Time of Update: 2017-01-19
效果: http://www.56.com/u82/v_OTM4MDk5MTk.html第一步: 建立anim檔案夾放置動畫xml檔案在res檔案夾下,建立一個anim的子檔案夾。 第二步: 載入動畫接著在Activity建立一個Animation類,然後使用AnimationUtils類載入動畫xml複製代碼 代碼如下:Animation animFadein; @Overrideprotected void