Time of Update: 2017-01-19
本文執行個體講述了Android編程之控制項狀態設定檔。分享給大家供大家參考,具體如下:<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 無狀態時 --> <item android:state_focused="false" android:state_selected="false" android:state_pressed="false"
Time of Update: 2017-01-19
本文執行個體分析了Android編程之include檔案的使用方法。分享給大家供大家參考,具體如下:記得很久以前,聽一位大神說,程式員都很懶,不懶惰的程式員不是好程式員,當時不明白什麼意思.後來慢慢的懂得了它的意思,好的程式員不要做重複的工作.我們在android的布局檔案中,常會遇到一些相同的布局,每個頁面都寫,一是比較麻煩,二是一旦有修改還得改多個檔案.這個時候我們就可以用到include了.非常簡單的使用,下面看代碼include的檔案scollandlisttitle.xml<
Time of Update: 2017-01-19
ImageLoader是一個圖片緩衝的開源庫,提供了強大的圖片緩衝機制,很多開發人員都在使用,今天給大家介紹Android開發之ImageLoader本機快取,具體內容如下所示:本機快取在快取檔案時對檔案名稱的修改提供了兩種方式,每一種方式對應了一個Java類1) HashCodeFileNameGenerator ,該類負責擷取檔案名稱的hashcode然後轉換成字串。2) Md5FileNameGenerator
Time of Update: 2017-01-19
通過本文帶大家一起看過UIL這個國內外大牛都追捧的圖片緩衝類庫的緩衝處理機制。看了UIL中的緩衝實現,才發現其實這個東西不難,沒有太多的進程調度,沒有各種記憶體讀取控制機制、沒有各種異常處理。反正UIL中不單代碼寫的簡單,連處理都簡單。但是這個類庫這麼好用,又有這麼多人用,那麼非常有必要看看他是怎麼實現的。先瞭解UIL中緩衝流程的原理圖。原理示意圖主體有三個,分別是UI,緩衝模組和資料來源(網路)。它們之間的關係如下:① UI:請求資料,使用唯一的Key值索引Memory
Time of Update: 2017-01-19
意義極大的縮短安卓開發到測試到產品到渠道的距離。給安卓程式員減輕負擔。Google做的環境已經特別到位了,放到docker裡面明顯不會有多大的坑(誤,逃)。Dockerfilehttps://github.com/lijianying10/FixLinux/blob/master/dockerfiles/androidautobuild/Dockerfile團隊協作的故事在敏捷開發的站立會議上,我作為一個後端程式員發現安卓程式員發布的時間大概是半個小時左右的時間,我覺得時間太長了應該縮短一些,成
Time of Update: 2017-01-19
Android中只能在主線程中進行UI操作,如果是其它子線程,需要藉助非同步訊息處理機制Handler。除此之外,還有個非常方便的AsyncTask類,這個類內部封裝了Handler和線程池。本文先簡要介紹AsyncTask的用法,然後分析具體實現。基本用法AsyncTask是一個抽象類別,我們需要建立子類去繼承它,並且重寫一些方法。AsyncTask接受三個泛型參數:Params: 指定傳給任務執行時的參數的類型Progress:
Time of Update: 2017-01-19
之前一篇文章研究完橫向二級菜單,發現其中使用了SparseArray去替換HashMap的使用.於是乎自己查了一些相關資料,自己同時對效能進行了一些測試。首先先說一下SparseArray的原理.
Time of Update: 2017-01-19
本文執行個體講述了Android利用jsoup解析HTML頁面的方法。分享給大家供大家參考,具體如下:這節主要是講解jsoup解析HTML頁面。由於在android開發過程中,不可避免的涉及到web頁面的抓取,解析,展示等等,所以,在這裡我主要展示下利用jsoup jar包來抓取cnbeta.com網站的話題分類的執行個體。下面是主要的代碼,由於使用及其簡單,我這裡就不再多說了:package com.android.web;import java.io.BufferedInputStream;
Time of Update: 2017-01-19
廢話不多說了,直接給大家貼代碼了。java類如下: import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Color; import
Time of Update: 2017-01-19
在學習擷取相簿中圖片進行裁剪的時候遇到了比較大的問題,在糾結了近半天才真的解決,下面分享一下學習經驗。問題:選擇了相簿中的圖片之後要進入圖片裁剪的時候出錯,(華為)手機提示“此圖片無法擷取”,經百度後,明白是版本不同導致的URI的問題的問題,原文如下: 4.3或以下,選了圖片之後,根據Uri來做處理,很多文章都有了,我就不詳細說了.主要是4.4,如果使用上面pick的原生方法來選圖,返回的uri還是正常的,但如果用ACTION_GET_CONTENT的方法,返回的uri跟4.3是完全不一樣的,
Time of Update: 2017-01-19
記事本涉及到的僅僅是對string 的儲存,而且在讀取上並不存在什麼痛點,直接用textview顯示便可以了。需要做的主要是使用SQLite對資料進行一個整理。而錄音筆需要考慮的就相對較多了:比如錄音時中斷,錄音時使用者點擊播放按鈕;未錄音,使用者點擊停止按鈕;在錄音或者播放時關閉activity;listview的item中需要為button設定不同的點擊效果等等。為了便於新手學習,在此還是羅列一下涉及的主要知識點: 1、Baseadapter 2、JAVA的file
Time of Update: 2017-01-19
本文執行個體講述了Android實現ListView資料動態載入的方法。分享給大家供大家參考,具體如下:list.setOnScrollListener(new OnScrollListener() {//添加捲軸滾到最底部,載入餘下的元素 public void onScrollStateChanged(AbsListView view, int scrollState) {// if (scrollState ==
Time of Update: 2017-01-19
本文執行個體分析了Android的Activity載入方式。分享給大家供大家參考,具體如下:前面分析過Android中activity的載入方式(參考前面一篇《Android編程之四種Activity載入模式分析》),這裡進一步分析一下。關於Activity載入方法,無非就是Intent intent = new Intent();intent.setClass(ActA.this,
Time of Update: 2017-01-19
關於簡訊接收處理方面,當前已經有一些app做的比較好了,比如發給手機發驗證碼驗證的問題,很多app在手機接收到驗證碼後,不需要輸入,就直接可以跳過驗證介面,這就是用到了對接收到的簡訊的處理。至於簡訊的發送,也沒什麼好說的了。在此也只是附上一個小執行個體。效果圖:MainActivity:import android.app.Activity; import android.app.PendingIntent; import android.content.BroadcastReceiver;
Time of Update: 2017-01-19
開發Android應用中,隨著功能越來越多,啟動速度越來越慢。有沒有辦法讓自己應用啟動速度快一點呢?方法是人想出來的。先說說我的實現方法:1 將onCreate 中初始化的內容,移動到線程中做初始化,載入等2 初始化完成之後,通過Handler發送訊息,3 Hander 中收到訊息後,再初始化完整介面。public class MainActivity extends Activity { @Override protected void onCreate(Bundle
Time of Update: 2017-01-19
在實際的應用程式開發中,我們有時需要把 Activity 設定成全螢幕顯示,一般情況下,可以通過兩種方式來設定全螢幕顯示效果:其一,通過在代碼中可以設定,其二,通過manifest設定檔來設定全屏。其一:在代碼onCreate裡面setContentView之前設定(如下)view plaincopy to clipboardprint?public void onCreate(Bundle savedInstanceState) {
Time of Update: 2017-01-19
Fragment 是什麼片段(Fragment)是一種可以嵌入在活動(activity)當中的 UI 片段。一、片段的簡單用法建立兩個布局檔案:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation=
Time of Update: 2017-01-19
首先為大家介紹Andorid5.0原生下拉重新整理簡單實現。先上效果圖;相對於上一個19.1.0版本中的橫條效果好看了很多。使用起來也很簡單。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_
Time of Update: 2017-01-19
前幾天看見開源項目效果好贊,看了下代碼,實現大致就是在原介面之上覆蓋一成自訂的View,擷取到點擊的那個View的內容(Bitmap),然後在覆蓋的那個自訂View的特定位置畫出來,之後就是對這個Bitmap做一些列拆分,變化重繪的過程。在這雷根據他對bitmap的拆分,感覺用來實現Bitmap的效果也是不錯的,就試著做一做。在這裡介紹使用兩種方式實現馬賽克效果.開始之前先看看效果感覺還不錯吧!1、直接繪製public static Bitmap getMosaicsBitmap(Bitmap
Time of Update: 2017-01-19
本文執行個體講述了Android viewpager中動態添加view並實現偽無限迴圈的方法。分享給大家供大家參考,具體如下:viewpager的使用,大家都熟悉,它可以實現頁面之間左右滑動的切換,這裡有一個需求,就是viewpager裡面載入的頁數不是確定的,而是根據資料的多少來確定的。常見的應用就是在一個新聞的詳細頁面中,顯示與此新聞有關的圖片。下面我們來看一下代碼:activity_main.xml<RelativeLayout