我的“二次元phone”拨号器
它是可以打电话的哦~~~
对于一个编程小白来说,今天完成了第一个Android软件让我也是激动了好久~~~~~~
首先,我觉得Android软件的开发,布局很重要,做之前首先想好布局,这样就不会在做界面的时候乱了方寸,之前不知道布局是个什么东西,光一个界面就重做了好几次,这次我把RelativeLayout,LinearLayout(包括vertical和horizontal)的布局结合在了一起,虽然有点麻烦,但是这样会给我提供一个清晰的思路:
下面是布局的部分关键代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@drawable/beijing2"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >//relativelayout布局
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >//vertical布局
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="2" >//horizontal布局
<EditText
android:id="@+id/editText1"
android:layout_width="240dp"
android:layout_height="30dp"
android:layout_marginTop="14dp"
android:background="#504d2b"
android:ems="10"
android:focusable="false"
android:gravity="center"
android:hint="请输入电话号码"
android:textColorHint="#ffffff"
android:textColorLink="#000000" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button14"
style="?android:attr/buttonStyleSmall"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="12dp"
android:background="@drawable/buttondelete"
android:onClick="deleteStr" />
说明:要注意每部分的完整性,即<********/>形式
其次,在主函数里面,需要写出一些主要方法,即视图、文本框的获取,按钮文字的获取,意图方法的创建等:
如:public class MainActivity extends Activity {
//定义一个文本框对象
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得一个文本框对象
et = (EditText) this.findViewById(R.id.editText1);
//this.findViewById(R.id.editText1)得到的是视图,加(EditText)就可以转型
}
//点击按钮获得内容的方法
public void clickButton(View view){
//在Eclipse中的Android日志窗口中显示按钮值
Log.i("按钮的值",view.getTag().toString());
//获得文本框中的内容
String str = et.getText().toString();
//获得之前点击的数,并将新数进行追加
str += view.getTag().toString();
//设置文本框中的显示内容
et.setText(str);
}
public void deleteStr(View view){
String str = et.getText().toString();
if((str!=null) && !("".equals(str.trim()))){
str = str.substring(0, str.length()-1);
et.setText(str);
}
}
public void callPhone(View view){
String str = et.getText().toString();
if(str != null && !"".equals(str.trim())){
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+str));
//Uri表示意图的格式
startActivity(intent);
}else{
Toast.makeText(MainActivity.this, "亲,请输入电话号码~~~", Toast.LENGTH_LONG).show();
}
}
注意:每个Activity是一个界面,而且要记得导包和授权;
最后,关键的授权代码为:
<uses-permission android:name = "android.permission.CALL_PHONE" />