91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android電話撥號器實例詳解

發布時間:2020-09-30 07:01:03 來源:腳本之家 閱讀:139 作者:AngelLover2017 欄目:移動開發

筆者正在自學Android開發,隨著學習的進程的加深,我會寫一些小白級別的案例,一是為了保存代碼和筆記,二也是為了供同樣熱愛Android的小伙伴參考。這里寫了一個小案例,叫電話撥號器。下面詳細介紹如何做:

對于我們初學者來說,做案例不同于做項目,我們是為了學習所以做案例基本上就是以下三步:
1、做界面UI
2、做業務邏輯,就是具體的編程實現
3、做測試,可以用模擬器,也可用真機。(這里說一下,如果你的電腦配置不是很高,但有Android的真機的話,用真機吧,模擬器真的是太慢了)

首先,做UI,大概是醬紫的:

Android電話撥號器實例詳解

這個很簡單了,需要添加三個控件“Text View”“Edit Text”“Button”,再加一個布局,布局可以自己選我用的LinearLayout。

<LinearLayout
    android:layout_width="368dp"
    android:layout_height="495dp"
    android:layout_marginTop="8dp"
    android:orientation="vertical"
    android:visibility="visible"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_editor_absoluteX="8dp">

    <TextView
      android:id="@+id/textView"
      android:layout_width="match_parent"
      android:textSize="@dimen/textsize"
      android:layout_height="wrap_content"
      android:text="@string/text_1" />

    <EditText
      android:id="@+id/editText"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:ems="10"

      android:inputType="number" />

    <Button
      android:id="@+id/button"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="@string/text_2" />
  </LinearLayout>

這里說一下,match_parent與wrap_content 的區別和Text View中如何設置字體的大小。

match_parent的布局是填充的意思就是無論字數夠不夠,都會去填充到最大,效果就像上圖Button的長一樣,而wrap_content是自適應大小,就是你要多少是多少。

Text View中字體大小的設置用textSize屬性,上述代碼中的“@dimen/textsize”其實在values的dimens.xml中是“19sp”。

然后是做業務邏輯,那要做業務邏輯就要明白我們想要實現啥功能。從大的方面看,我們要實現打電話的功能。那我們細分一下邏輯流程,首先我們在文本框內輸入號碼,然后我們點擊按鈕就可以撥通電話,大概就是這樣的過程。那我們是不是先要取到輸入的號碼,我們可以讓點擊Button的時候取數據,然后進行與電話關聯,來打電話。那這樣我們就清楚了,我們需要做的是:

1、為button添加點擊事件
2、取到輸入的字符串
3、為Intent對象設置CALL動作和數據
4、加上打電話的權限

下面是代碼展示:

public class MainActivity extends AppCompatActivity {

  private Button btn_call;
  private EditText et_call;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_call=(EditText) findViewById(R.id.editText);
    btn_call=(Button)findViewById(R.id.button);
    //為button添加點擊事件
    btn_call.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        //取數據
        String number= MainActivity.this.et_call.getText().toString().trim();//trim()方法用來去掉空格
        if("".equals(number)) {
          //土司,提示
          Toast mes = Toast.makeText(MainActivity.this, "對不起,輸入不能為空", Toast.LENGTH_LONG);
          mes.show();
        }
        //Intent設置動作和數據
        Intent intent=new Intent();
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:"+number));
        startActivity(intent);
      }
    });


  }
}

記得加權限不然會報錯:

Android電話撥號器實例詳解

最后是測試,我用的是真機測試的。模擬器太慢,真機要快很多。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

义马市| 塔河县| 铜山县| 高邮市| 揭西县| 安龙县| 德钦县| 临汾市| 灵璧县| 宝应县| 铁力市| 阿拉善左旗| 宣化县| 收藏| 新乐市| 石景山区| 庆城县| 西乡县| 嫩江县| 芒康县| 隆回县| 疏附县| 龙口市| 开鲁县| 平阳县| 盐城市| 南平市| 秭归县| 六枝特区| 白山市| 德江县| 会泽县| 杂多县| 湾仔区| 渭源县| 延川县| 兴业县| 淮北市| 瓦房店市| 密山市| 楚雄市|