Time of Update: 2018-12-03
部落格搬家啦——為了更好地經營部落格,本人已經將部落格遷移至www.ijavaboy.com。這裡已經不再更新,給您帶來的不便,深感抱歉!這篇文章的新地址:點擊我
Time of Update: 2018-12-03
部落格搬家啦——為了更好地經營部落格,本人已經將部落格遷移至www.ijavaboy.com。這裡已經不再更新,給您帶來的不便,深感抱歉!這篇文章的新地址:點擊我
Time of Update: 2018-12-03
在實際的應用程式開發中,我們有時需要把 Activity 設定成全螢幕顯示,一般情況下,可以通過兩種方式來設定全螢幕顯示效果:其一,通過在代碼中可以設定,其二,通過manifest設定檔來設定全屏。 其一:在代碼onCreate裡面setContentView之前設定(如下)view plaincopy to clipboardprint?public void onCreate(Bundle savedInstanceState) {
Time of Update: 2018-12-03
如下:https://developer.android.com/sdk/installing/studio.html(請發郵件到freeget.one@gmail.com獲得翻強軟體。) 很顯然的IntelliJ IDEA的樣貌,下面是一些:選擇了“New
Time of Update: 2018-12-03
Android應用外掛程式式開發解決方案一、現實需求描述一般的,一個Android應用在開發到了一定階段以後,功能模組將會越來越多,APK安裝包也越來越大,使用者在使用過程中也沒有辦法選擇性的載入自己需要的功能模組。此時可能就需要考慮如何分拆整個應用了。二、解決方案提出一般有兩種方式,一種是將應用按照功能分拆成多個應用,使用者需要哪個就下載哪個,都需要就都下載。應用之間,可以在代碼層面做一定的關聯,以共用部分資訊。另一種方式,類似於其他平台外掛程式的方式,使用者可以在主應用中可以選擇性的下載需
Time of Update: 2018-12-03
本文內容都是來自於網路,參考了大家的微博,以及論壇的總結。在做語音對講的時候,將會碰到錄製語音格式的問題,因為要考慮自己開發裝置的支援的格式,還要考慮其他裝置作業系統的支援的格式,以及各自平台實現各格式的難易程度。以前公司做語音這部分,解決方式是通過本地錄製一個語音檔案,在伺服器進行編解碼轉換。當然每個平台也是選擇自己最合適的編碼格式。現在平台主要是ios與android兩個主流平台, wp的暫時沒有考慮。主要的錄製格式有,mp3, AAC, iLBC, Speex,
Time of Update: 2018-12-03
有種情境,我們想將一個圖片切割成多個圖片。比如我們在開發一個拼圖的遊戲,就首先要對圖片進行切割。以下是封裝好的兩個類,可以實現圖片的切割。僅供參考和學習。一個是ImagePiece類,此類儲存了一個Bitmap對象和一個標識圖片的順序索引的int變數。package arui319.blog.csdn.net;import android.graphics.Bitmap;public class ImagePiece {public int index = 0;public Bitmap
Time of Update: 2018-12-03
有時候,我們希望將我們的Android工程提供給第三方開發人員使用。這個時候,最普遍的做法,就是提供一個jar包和一堆資源檔,第三方開發人員可以將資源檔拷貝到Android工程的相應目錄下,同時引用我們提供的jar包,就可以使用我們提供的相應API了。需要特別注意的是,以jar包和資源套件方式提供給第三方開發人員,我們的工程的代碼中就不能使用類似於R.layout.main、R.string.name等等這樣的方式來引用資源了。為此,我們就不能直接使用R檔案,而是要通過欄位名稱來動態擷取資源的i
Time of Update: 2018-12-03
在Android應用裡,最耗費記憶體的就是圖片資源。而且在Android系統中,讀取位元影像Bitmap時,分給虛擬機器中的圖片的堆棧大小隻有8M,如果超出了,就會出現OutOfMemory異常。所以,對於圖片的記憶體最佳化,是Android應用開發中比較重要的內容。 1)
Time of Update: 2018-12-03
Android支援播放網路上的視頻。在播放網路上的視頻時,牽涉到視頻流的傳輸,往往有兩種協議,一種是HTTP,一種是RTSP。這兩種協議最大的不同是,HTTP協議,不支援即時資料流媒體的播放,而RTSP協議就支援。 Android中內建的播放器,以及VideoView等都支援上述兩種協議,因此,可以直接播放網路上的視頻,唯一不同的就是URI。 代碼如下: package demo.camera;import android.app.Activity;import android.net.Uri;
Time of Update: 2018-12-03
import android.graphics.Point;/** * * @author http://blog.csdn.net/arui319 * */public class Bezier {private static final float AP = 0.5f;private Point[] bPoints;/** * Creates a new Bezier curve. * * @param points */public Bezier(Point[] points) {int
Time of Update: 2018-12-03
項目經常會有這種需求,就是想動態在某個介面上添加一個Panel。比如,有一個按鈕,點擊後會顯示下拉式功能表式的介面。這種需求,就屬於動態添加一個Panel。需求多了,就要研究是否可以抽象出通用的架構代碼,以方便開發,所以就有了以下內容。這裡說是架構,說的大了點,其實沒有那麼複雜,只是一個容易擴充的基類而已。不過至少算是架構類的代碼。package arui;import android.app.Activity;import android.os.Handler;import
Time of Update: 2018-12-03
很簡單,所以直接看代碼。package xxx;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;public class NetstateReceiver extends
Time of Update: 2018-12-03
IOS風格的UI比較流行,很多Android的UI設計者也願意將Android的UI設計成類似IOS系統的UI風格。下面是一個例子,說明如何使用Shape來定義一個IOS風格的按鈕。 定義一個ios_button_grouped.xml。<?xmlversion="1.0"encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
Time of Update: 2018-12-03
Java從JDK1.2版本開始,就把對象的引用分為四種層級,從而使程式能更加靈活的控制對象的生命週期。這四種層級由高到低依次為:強引用、軟引用、弱引用和虛引用。這裡重點介紹一下軟引用和弱引用。如果一個對象只具有軟引用,那麼如果記憶體空間足夠,記憶體回收行程就不會回收它;如果記憶體空間不足了,就會回收這些對象的記憶體。只要記憶體回收行程沒有回收它,該對象就可以被程式使用。軟引用可用來實現記憶體敏感的快取。軟引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果軟引用所引用的對象被記憶
Time of Update: 2018-12-03
有時候應用中希望使用自訂的字型檔,下面的代碼可以作為參考。 1. 將字型檔放入assert檔案夾下,這裡為fonts/xxx.ttf。2. 在需要改變字型的Acitivity中使用FontManager.changeFonts()方法來改變字型。 package arui.blog.csdn.net; import android.app.Activity;import android.graphics.Typeface;import android.view.View;import
Time of Update: 2018-12-03
通常我們寫程式,都是在專案計劃的壓力下完成的,此時完成的代碼可以完成具體商務邏輯,但是效能不一定是最佳化的。一般來說,優秀的程式員在寫完代碼之後都會不斷的對代碼進行重構。重構的好處有很多,其中一點,就是對代碼進行最佳化,提高軟體的效能。下面我們就從幾個方面來瞭解Android開發過程中的代碼最佳化。 1)靜態變數引起記憶體泄露在代碼最佳化的過程中,我們需要對代碼中的靜態變數特別留意。靜態變數是類相關的變數,它的生命週期是從這個類被聲明,到這個類徹底被記憶體回收行程回收才會被銷毀。所以,一般情況下
Time of Update: 2018-12-03
在Android應用開發過程中,螢幕上控制項的布局代碼和程式的邏輯代碼通常是分開的。介面的布局代碼是放在一個獨立的xml檔案中的,這個檔案裡面是樹型組織的,控制著頁面的布局。通常,在這個頁面中會用到很多控制項,控制項會用到很多的資源。Android系統本身有很多的資源,包括各種各樣的字串、圖片、動畫、樣式和布局等等,這些都可以在應用程式中直接使用。這樣做的好處很多,既可以減少記憶體的使用,又可以減少部分工作量,也可以縮減程式安裝包的大小。下面從幾個方面來介紹如何利用系統資源。 1)利用系統定義的
Time of Update: 2018-12-03
在一個應用程式中,一般都會存在多個Activity,每個Activity對應著一個UI布局檔案。一般來說,為了保持不同視窗之間的風格統一,在這些UI布局檔案中,幾乎肯定會用到很多相同的布局。如果我們在每個xml檔案中都把相同的布局都重寫一遍,一個是代碼冗餘,可讀性很差;另一個是修改起來比較麻煩,對後期的修改和維護非常不利。所以,一般情況下,我們需要把相同布局的代碼單獨寫成一個模組,然後在用到的時候,可以通過<include />
Time of Update: 2018-12-03
本篇博文主要討論一下複雜介面中常用的一種技術——介面消極式載入技術。 有時候,我們的頁面中可能會包含一些布局,這些布局預設是隱藏的,當使用者觸發了一定的操作之後,隱藏的布局才會顯示出來。比如,我們有一個Activity用來顯示好友的列表,當使用者點擊Menu中的“匯入”以後,在當前的Activity中才會顯示出一個匯入好友的布局介面。從需求的角度來說,這個匯入功能,一般情況下使用者是不使用的。即大部分時候,匯入好友的布局都不會顯示出來。這個時候,就可以使用消極式載入的功能。 ViewStub是一