Android編程簡(jiǎn)單實(shí)現(xiàn)撥號(hào)器功能的方法
本文實(shí)例講述了Android編程簡(jiǎn)單實(shí)現(xiàn)撥號(hào)器功能的方法。分享給大家供大家參考,具體如下:
學(xué)習(xí)Android已經(jīng)有2天時(shí)間了,沒(méi)學(xué)習(xí)的時(shí)候覺(jué)得android可能很枯燥,但是學(xué)過(guò)之后我發(fā)覺(jué)其實(shí)這個(gè)比什么javaweb好玩多了。學(xué)習(xí)android可以見(jiàn)到一些很有趣的東西,這里呢也建議學(xué)習(xí)javaME的人不要在煎熬了,學(xué)習(xí)android吧。在寫(xiě)程序之前也需要知道android的工作原理
1.獲取組件清單
2.登記或注冊(cè)組件
3.將組件封裝成意圖
4.把意圖交給意圖處理器進(jìn)行處理
5.把界面顯示給用戶(hù)
看過(guò)網(wǎng)上android的開(kāi)發(fā)流程,好多人都說(shuō)可以把界面和activity并行開(kāi)發(fā),因?yàn)閍ndroid也是遵循mvc設(shè)計(jì)模式,也就是說(shuō)android也可有自己的業(yè)務(wù)層DAO。由于android發(fā)展歷史比較短,目前的分工還不是很明確,對(duì)于界面和后臺(tái)可以選擇其中一個(gè)作為自己的發(fā)展方向,對(duì)于android的任何一塊來(lái)說(shuō)薪水都比較高。廢話就不多說(shuō)了,來(lái)一步一步的實(shí)現(xiàn)功能吧。
1.編寫(xiě)“文字”的配置文件,默認(rèn)的配置文件是strings.xml,這里也可以重新寫(xiě)一個(gè)配置文件,格式要保持一致就來(lái)寫(xiě)這個(gè)配置文件(mystring.xml)吧
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="tip">輸入號(hào)碼</string> <string name="bottonname">撥打</string> </resources>
2.編寫(xiě)控件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- 線性布局 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tip" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/phonenumber"/> <!-- 顯示一個(gè)文本框 id為phonenumber--> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bottonname" android:id="@+id/botton" /> <!-- 顯示一個(gè)按鈕 --> </LinearLayout>
為了讓大家看的更清楚,我把R文件的內(nèi)容也給大家
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package org.lxh.phone; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int botton=0x7f050001; public static final int phonenumber=0x7f050000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040003; public static final int bottonname=0x7f040001; public static final int hello=0x7f040002; public static final int tip=0x7f040000; } }
3.編寫(xiě)activity
package org.lxh.phone; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class PhoneActivity extends Activity { private EditText edit; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); edit=(EditText)this.findViewById(R.id.phonenumber); //通過(guò)id取得文本輸入框 Button but=(Button)this.findViewById(R.id.botton); //通過(guò)id取得按鈕 but.setOnClickListener(new MyListener()); //給按鈕添加監(jiān)聽(tīng)器 } public final class MyListener implements View.OnClickListener{ //自定義的監(jiān)聽(tīng)器 public void onClick(View v) { //實(shí)例化一個(gè)意圖(動(dòng)作),用來(lái)?yè)艽螂娫? Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+edit.getText().toString())); startActivity(intent); //封裝一個(gè)意圖 } } }
上面是內(nèi)部類(lèi)的寫(xiě)法,也可以使用下面的寫(xiě)法
package org.lxh.activity; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class CallPhoneActivity extends Activity { private EditText edittext; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //取得輸入框和按鈕 edittext=(EditText)this.findViewById(R.id.phonenum); Button but=(Button)this.findViewById(R.id.button); but.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String number=edittext.getText().toString(); //封裝一個(gè)意圖,用來(lái)?yè)艽螂娫? Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number)); startActivity(intent); } }); } }
開(kāi)發(fā)的時(shí)候要注意Uri.parse不能少,tel:也不能少,少了就會(huì)出錯(cuò)
這里要實(shí)現(xiàn)這個(gè)功能,首先要來(lái)看一下xml
<activity android:name="OutgoingCallBroadcaster" android:permission="android.permission.CALL_PHONE" android:theme="@android:style/Theme.NoDisplay" android:configChanges="orientation|keyboardHidden"> <!-- CALL action intent filters, for the various ways of initiating an outgoing call. --> <intent-filter> <action android:name="android.intent.action.CALL" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="tel" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.CALL" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="voicemail" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.CALL" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/phone" /> <data android:mimeType="vnd.android.cursor.item/phone_v2" /> <data android:mimeType="vnd.android.cursor.item/person" /> </intent-filter> </activity>
這里只需要看第一個(gè)filter,這里只需使用2條,那個(gè)默認(rèn)的不用我們?nèi)ス?,另外這個(gè)也是需要獲得打電話的許可的,所以在組件清單里要加一點(diǎn)東西,如下所示
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.lxh.phone" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".PhoneActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.CALL_PHONE"/> </manifest>
準(zhǔn)備工作差不多做好了,來(lái)測(cè)試一下吧,這里為了測(cè)試方便,我弄了2個(gè)虛擬手機(jī)
電話打通了
這個(gè)比較好玩吧,至于那個(gè)應(yīng)用圖標(biāo)自己可以換成喜歡的,我就不改了
現(xiàn)在把那個(gè)strings.xml配置文件給大家
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, PhoneActivity!</string> <string name="app_name">我的手機(jī)撥號(hào)器</string> </resources>
OK了,程序?qū)懞昧恕?/p>
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android資源操作技巧匯總》、《Android文件操作技巧匯總》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android電話撥號(hào)器實(shí)例詳解
- Android簡(jiǎn)易電話撥號(hào)器實(shí)例詳解
- Android實(shí)現(xiàn)簡(jiǎn)單的撥號(hào)器功能
- Android開(kāi)發(fā)之電話撥號(hào)器和短信發(fā)送器實(shí)現(xiàn)方法
- Android開(kāi)發(fā)之電話撥號(hào)器實(shí)例詳解
- Android學(xué)習(xí)筆記(二)之電話撥號(hào)器
- Android電話撥號(hào)器實(shí)現(xiàn)方法
- Android 2.3 撥號(hào)上網(wǎng)流程從源碼角度進(jìn)行分析
- Android Studio Intent隱式啟動(dòng),發(fā)短信,撥號(hào),打電話,訪問(wèn)網(wǎng)頁(yè)等實(shí)例代碼
相關(guān)文章
android開(kāi)發(fā)權(quán)限詢(xún)問(wèn)的示例代碼
這篇文章主要介紹了android開(kāi)發(fā)權(quán)限詢(xún)問(wèn)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Android實(shí)現(xiàn)沉浸式狀態(tài)欄功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)沉浸式狀態(tài)欄功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10淺析Android系統(tǒng)的架構(gòu)以及程序項(xiàng)目的目錄結(jié)構(gòu)
這篇文章主要介紹了Android系統(tǒng)的架構(gòu)以及程序項(xiàng)目的目錄結(jié)構(gòu),是安卓開(kāi)發(fā)入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04Android TouchListener實(shí)現(xiàn)拖拽刪實(shí)例代碼
這篇文章主要介紹了Android TouchListener實(shí)現(xiàn)拖拽刪實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02一文帶你了解Android系統(tǒng)的啟動(dòng)流程
Android系統(tǒng)的啟動(dòng)是一個(gè)復(fù)雜的過(guò)程,涉及到多個(gè)階段和組件,所以本文將給大家詳細(xì)的介紹一下Android系統(tǒng)的啟動(dòng)流程,文中也有圖片和代碼示例的講解,需要的朋友可以參考下2023-09-09Android 開(kāi)發(fā)仿簡(jiǎn)書(shū)登錄框可刪除內(nèi)容或顯示密碼框的內(nèi)容
本文通過(guò)實(shí)例代碼給大家分享android開(kāi)發(fā)中模仿簡(jiǎn)書(shū)登錄框可刪除內(nèi)容或顯示密碼框的內(nèi)容,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2016-12-12Android輸入框?qū)崟r(shí)模糊搜索效果的示例代碼
這篇文章主要介紹了Android輸入框?qū)崟r(shí)模糊搜索效果的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08