第一次写这个,还不知道格式呢。
学习android还是有些时间了,没有什么具体的步骤,所以路线总是乱的,毕竟自学自己摸索困难不是一点点,所以收录一下写过的小项目,用来积累经验
如图所示的效果。
具体步骤:
1.页面的xml文件,代码如下:
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 tools:context=".MainActivity" > 6 7 <TextView 8 android:id="@+id/txt_hello" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text="@string/hello_world" /> 12 <EditText 13 android:id="@+id/phone_number" 14 android:layout_width="match_parent" 15 android:layout_height="wrap_content" 16 android:hint="@string/phone_number_tip" 17 android:inputType="phone" 18 android:layout_below="@id/txt_hello" 19 android:paddingTop="10dip"/> 20 <Button 21 android:id="@+id/btn_call" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:layout_below="@id/phone_number" 25 android:layout_alignParentRight="true" 26 android:text="@string/call_phone"/> 27 28 </RelativeLayout>
只有一个EditText和一个Button按钮(那个TextView没去删,所以也加在里面了),所有的文本也放在strings.xml中,慢慢养成一个好习惯嘛
2.接下来就是java文件了,代码不多
public class MainActivity extends Activity implements OnClickListener{ private EditText phoneNumber; private Button btnCall; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); phoneNumber = (EditText) findViewById(R.id.phone_number); btnCall = (Button) findViewById(R.id.btn_call); btnCall.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.btn_call: Intent intent=new Intent(Intent.ACTION_DIAL); String number=phoneNumber.getText().toString(); intent.setData(Uri.parse("tel:"+number)); startActivity(intent); break; default: break; } } }
习惯了通过直接继承OnClickListener接口,实现OnClick方法来实现按钮的监听(这要用于一个页面中的多个按钮),通过View.getId()的方法,来获得匹配点击的按钮的ID,利用隐式的Intent.ACTION_DIAL,来点用手机自带的拨号服务。将获得的手机号码通过Uri.parse("tel:"+number)传到拨打电话的界面,,格式一定是“tel:”后面接数字号码。
3.当然,调用这种系统内部服务需要权限的,这时就要去清单文件AndroidManifest.xml中加入权限
这个选中的就是拨打电话的权限,当然也可以直接在清单文件中加入如下的代码
<uses-permission android:name="android.permission.CALL_PHONE"/>
就这样,打开模拟器,运行程序,就可以看到效果了,也可以试试输入手机号点击拨打。
内容不多,也是小小的经验一笔,里面的用词可能有误,本人新手,有误也请大家指出。同时也希望正在学习android的人们有个更好地交流。
时间: 2024-11-29 12:12:43