安卓案例1:拨号器
程序员文章站
2022-06-17 13:21:17
注意设置权限: 布局: 上边采用的是按钮点击事件第一种:内部类 第二种:匿名内部类 第三种:实现接口(多按钮时候推荐使用) 第四种:声明方法 ......
package org.dreamtech.helloworld; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_number = (EditText) findViewById(R.id.editText1); Button btn_call = (Button) findViewById(R.id.button1); btn_call.setOnClickListener(new MyClickListener()); } private class MyClickListener implements OnClickListener{ @Override public void onClick(View v) { //get String number = et_number.getText().toString().trim(); if("".equals(number)){ Toast.makeText(MainActivity.this, "不能为空", Toast.LENGTH_LONG).show(); return; } Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); startActivity(intent); } } }
注意设置权限:
布局:
上边采用的是按钮点击事件第一种:内部类
第二种:匿名内部类
btn_call.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } });
第三种:实现接口(多按钮时候推荐使用)
package org.dreamtech.helloworld; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private EditText et_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_number = (EditText) findViewById(R.id.editText1); Button btn_call = (Button) findViewById(R.id.button1); btn_call.setOnClickListener(this); } @Override public void onClick(View v) { String number = et_number.getText().toString().trim(); if("".equals(number)){ Toast.makeText(MainActivity.this, "不能为空", Toast.LENGTH_LONG).show(); return; } Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); startActivity(intent); } }
第四种:声明方法
<Button android:onClick="click" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/editText1" android:text="拨打" />
package org.dreamtech.helloworld; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_number = (EditText) findViewById(R.id.editText1); Button btn_call = (Button) findViewById(R.id.button1); } public void click(View v){ String number = et_number.getText().toString().trim(); if("".equals(number)){ Toast.makeText(MainActivity.this, "不能为空", Toast.LENGTH_LONG).show(); return; } Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); startActivity(intent); } }
推荐阅读
-
安卓7.1及更老系统将于明年1月起被停止证书签名:N多网页将无法访问
-
LG万元安卓平板奢华亮相 LG1安卓平板电脑配置参数详情介绍
-
四大安卓旗舰处理器集体转向1+3+4架构:跑分更好看
-
HTC G1回顾:第一台安卓手机、当年和苹果正面刚
-
Win10 19H1新版18356推送:可镜像安卓手机并运行APP
-
安兔兔发布1月安卓手机性能榜:vivo垄断前三 小米退出前十
-
硬核安卓新旗舰!三星S11细节曝光:要上1亿像素镜头
-
499元 搭载轻量安卓10!诺基亚C1 Plus图赏
-
淘汰H.265!安卓智能电视厂商将普及AV1解码:索尼先行
-
Android入门到精通|安卓/Android开发零基础系列Ⅱ【职坐标】-学习笔记(1)-- 常用控件及资源介绍