Android中的TextView,本身就支援部分的Html格式標籤。這其中包括常用的字型大小顏色設定,文本連結等。使用起來也比較方便,只需要使用Html類轉換一下即可。比如:textView.setText(Html.fromHtml(str));然而,有一種場合,預設支援的標籤可能不夠用。比如,我們需要在textView中點擊某種連結,返回到應用中的某個介面,而不僅僅是網路連接,如何??經過幾個小時對android中的Html類原始碼的研究,找到瞭解決辦法,並且測試通過。先看Html類的原始
為什麼需要在應用程式中增加渠道資訊?Android應用的發布需要面對各種各樣的市場,我們稱之為渠道。有的時候,我們需要知道應用是從哪個渠道下載的。比如,我們可能需要統計哪些市場帶來的使用者量比較大。再比如,我們可能有一些盈利需要和具體的渠道進行分成。這些都是統計渠道的資訊。一般如何在應用中加入渠道資訊?為了統計渠道資訊,就不得不在程式的某個地方加入渠道的資訊,然後針對不同的渠道打不同的包。一般可以在Manifest檔案中加入渠道編號,而不直接寫在代碼中。這樣做的好處是,可以針對不同渠道,自動化去
1)
AsyncTask的介紹及基本使用方法關於AsyncTask的介紹和基本使用方法可以參考官方文檔和《Android開發筆記之:深入理解多線程AsyncTask》這裡就不重複。AsyncTask引發的一個問題上周遇到了一個極其詭異的問題,一個小功能從網路上下載一個圖片,然後放到ImageView中,是用AsyncTask來實現的,本身邏輯也很簡單,僅是在doInBackground中用HTTP請求把圖片的輸入資料流取出,然後用BitmapFactory去解析,然後再把得到的Bitmap放到Imag
背景一個典型的ListView,每個Item顯示一個TextView,代表一個Task,需要實現二個編輯方式:一個是用CheckBox來標識任務已經完成,另一個要實現的編輯是刪除任務。對於完成的CheckBox就直接放在布局中就可,但對於刪除不想使用ContextMenu來實現編輯,對於像iOS中那樣的列表,它的刪除都是通過對列表中每個項目的手勢來觸發。這個實現起來並不難,可以用一個ViewSwitcher,Checkbox和刪除按扭是放入其中,讓ViewSwitcher來控制顯示哪一個,正常情
以前線上性代數中學習了矩陣,對矩陣的基本運算有一些瞭解,前段時間在使用GDI+的時候再次學習如何使用矩陣來變化映像,看了之後在這裡總結說明。首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什麼分割成4部分,在後面詳細說明。首先給大家舉個簡單的例子:現設點P0(x0, y0)進行平移後,移到P(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那麼,點P(x,y)的座標為:x = x0 + △x y = y0 + △y採用矩陣表達上述如下:
解析XML的方式有很多種,大家比較熟悉的可能就是DOM解析。DOM(檔案物件模型)解析:解析器讀入整個文檔,然後構建一個駐留記憶體的樹結構,然後代碼就可以根據DOM介面來操作這個樹結構了。優點:整個文檔讀入記憶體,方便操作:支援修改、刪除和重現排列等多種功能。缺點:將整個文檔讀入記憶體中,保留了過多的不需要的節點,浪費記憶體和空間。使用場合:一旦讀入文檔,還需要多次對文檔進行操作,並且在硬體資源充足的情況下(記憶體,CPU)。為瞭解決DOM解析存在的問題,就出現了SAX解析。其特點為:優點:不用
現在市面上的很多的應用,都帶有下拉式清單的功能,將所有選項都放在下拉式清單中,當使用者點擊選擇的時候,彈出所有的選項,使用者選擇一項後,下拉式清單自動隱藏,很多下拉式清單都是用ListView + PopupWindow來實現的,由於Google推出了替代ListView的RecyclerView,所以簡單實現一下:MainActivity.javapackage com.jackie.countdowntimer; import
一、廣播寄件者&廣播接收者介紹1.廣播接收者廣播接收者簡單地說就是接收廣播意圖的Java類,此Java類繼承BroadcastReceiver類,重寫:public void onReceive(Context context,Intent intent),其中intent可以獲得傳遞的資料;廣播意圖就是通過Context.sendBroadcast(Intent intent)或Context.sendOrderedBroadcast(Intent
1,android:orientation 布局方向。horizontal是讓所有的子項目按水平方向從左至右排列, vertical是讓所有的子項目按豎直方向從上到下排列。 2,android:gravity 與 android:layout_gravity的區別android:gravity是指定本元素的子項目相對它的對齊。 android:layout_gravity是指定本元素相對它的父元素的對齊。 例如: 下面這裡的linearlayout的android:gravity設為right,
android的照相功能隨著手機硬體的發展,變得越來越強大,能夠找出很高解析度的圖片。有些情境中,需要照相併且上傳到服務,但是由於圖片的大小太大,那麼就上傳就會很慢(在有些網路情況下),而且很耗流量,要想速度快,那麼就需要減小圖片的大小。減少圖片的大小有兩種方法,1. 照小圖片; 2. 壓縮大圖片。 照相時擷取小圖片一般不太符合要求,因為,圖片的清晰度會很差,但是這種情況有個好處就是應用速度會快些;
在android中,照相功能系統已經提供,在app中可以直接使用。當手機從android play裡面下載有照相功能的應用時, 會判斷手機是否支援。不支援,不給予下載。照相有幾個步驟:1. 聲明許可權2. 使用Camera照相3. 顯示圖片1. 聲明許可權在manifest裡面聲明使用Camera:複製代碼 代碼如下:<uses-feature android:name="android.hardware.camera" /> 2.
本文執行個體講述了Android實現在TextView文字過長時省略部分或滾動顯示的方法。分享給大家供大家參考,具體如下:TextView中有個ellipsize屬性,作用是當文字過長時,該控制項該如何顯示,解釋如下:1.android:ellipsize="start"—–省略符號顯示在開頭2.android:ellipsize="end"——省略符號顯示在結尾3.android:ellipsize="middle"—-省略符號顯示在中間4.android:ellipsize="marquee
我們都知道,在Android中調用其他程式進行相關處理,幾乎都是使用的Intent,所以,Email也不例外。 在Android中,調用Email有三種類型的Intent: Intent.ACTION_SENDTO 無附件的發送 Intent.ACTION_SEND 帶附件的發送 Intent.ACTION_SEND_MULTIPLE 帶有多附件的發送
本樣本示範在Android中實現圖片左右滑動效果。關於滑動效果,在Android中用得比較多,本樣本實現的滑動效果是使用ViewFlipper來實現的,當然也可以使用其它的View來實現。接下來就讓我們開始實現這種效果。為了方便大家理解,我們先來看一下效果圖:主要效果圖如下圖: 接下來我們看一下程式結構圖: MainActivity檔案中代碼:複製代碼 代碼如下:package com.android.flip;import
使用 SQLiteDatabase 操作 SQLite 資料庫複製代碼 代碼如下:/* Android提供了一個名為SQLiteDatabase的類,該類封裝了一些操作資料庫的API,使用該類可以完成對資料進行添加(Create)、查詢(Retrieve)、更新(Update)和刪除(Delete)操作(這些操作簡稱為CRUD)。對SQLiteDatabase的學習,我們應該重點掌握execSQL()和rawQuery()方法。
本文詳細講述了Android平台基於Pull方式對XML檔案解析與寫入方法。分享給大家供大家參考,具體如下:XML技術在跨平台的情況下的資料互動中得到了廣泛的應用,假如我們需要開發一個Android應用程式,需要同伺服器端進行資料互動,通過XML檔案可以很方便的在Android平台和伺服器之間進行資料轉送,具體實現涉及到對XML檔案進行解析及寫入的技術。本文實現在Android平台上基於Pull方式對XML檔案解析的技術。XmlPullParser是一個Java實現的開源API包(源碼下載地址h
我們知道Android手機作業系統採用的是Linux核心,Linux中最高的系統許可權就是Root,這就類似與Windows中的Administrator系統管理員許可權,也就是作業系統的最高許可權。由於Root的許可權過高,因此手機產商一般都不允許使用者直接擁用Root許可權,以防止使用者修改系統內建的業務跟程式。但是對於使用者來說,當然希望能擁有Root許可權以將手機修改成自己的一種特色,因為有Root許可權則可以任意修改手機的所有檔案跟程式,讓手機更加個人化。複製代碼
我們在使用ListView的時候,一般都會為ListView添加一個響應事件android.widget.AdapterView.OnItemClickListener。對OnItemClickListener的position和id參數,我相信有些人在這上面走了些彎路。
先給大家看一段代碼,然後說明。import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle