1、设计界面 业务层《两者并行》(控制底层逻辑的代码)
2、设计Activity(作为处理用户输入输出和呈现数据的物件)
开发设计,首先按照开发习惯先从设计界面或业务层开始,因为这个程序不需要业务层,所以我们选择现从设计界面开始开发----然后在设计Activity;
做好界面的初步图形设计之后就要进行代码的开发了;
具体步骤:
(一)首先在eclipse中新建一个android project项目;
(二)接着打开项目目录文件夹下的res文件夹下的 layout文件中得main.xml文件和value文件夹中得string.xml文件;
(三)开始配置xml文件,由上面的分析图可知;我们的界面设计需要在string.xml文件中设置:
一个button组件作为打电话的按钮;
一个EditText作为号码输入框;
一个TextView显示程序的名称;
具体的实现代码是:
<resources>
<string name="app_name">电话拨号器</string>
<string name="mobile">请输入手机号</string>
<string name="button">拨打此号码</string>
</resources>
(四)在配置后string之后就要按main.xml添加属性了!
<TextView <设置显示文本宽度和高度,fill_parent是和模拟器宽度相同 Wrap_content是框的daxiao随文本量的大小自动增长;“下同!”> android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/mobile" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/mobille" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" />
在设置玩之后点击保存,系统就会在R.java文件中自动生成所添加的组件,并已静态常量的形式生成:如果输入正确代码应该会是下面:
public static final class id { public static final int button=0x7f050001; public static final int mobille=0x7f050000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040002; public static final int button=0x7f040001; public static final int mobile=0x7f040000;
此过程之后你可以把你的项目加载到安卓模拟器;会出现预先设计的界面结构:
至此设计界面的工作就告一段落了!接下来就要进行Activity的开发了;
(五)、打开你的src文件夹下的**Activity.java文件,
首先要考虑一个问题:
如何获取运行界面的输入框中用户输入的号码信息,和按钮的点击状态呢?
我们不难想到JSP中有个getELEMENTBYID()方法,同理,我们也可以给我们的button和EditText加上一个ID值,
然后就又回到上文了,
要继续在xml文件中配置;
为EditText添加ID
android:id="@+id/mobille"
为button添加ID
android:id="@+id/button"
要分别在两个组件的属性中配置;然后保存确定一下;
接下来我们就可以在我们的后天代码中获取界面中得button和EditText的值了
//获取button添加点击事件监听;
Button button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new ButtonListener());
这个方法setOnClickListener是需要添加一个点击事件处理类来实现这个方法组要继承的接口(View)
用内部类实现;然后添加onclick方法
private final class ButtonListener implements View.OnClickListener{
public void onClick(View v) {
//在此内部来设定点击事件的处理方法;
//获取输入框的信息
EditText mobileText =(EditText)findViewById(R.id.mobille);
新建mobile对象,传递文本框获取值;
String mobile = mobileText.getText().toString();
//实现打电话功能代码;
//我们的功能实现是通过系统已经具备的电话拨号组件来实现功能
//新建意图对象Intent---代表我们想要做的事情
Intent intent =
new Intent("android.intent.action.CALL(系统组件)",Uri.parse("tel:"+mobile)(系统数据表示方式“tel+号码”));
//将意图传给操作系统;
startActivity(intent);
//内部会添加android.intent.category.DEFAULT;类别,有这个类别实现
}
}
这样我们的Acitivity的代码部分就写完了;
接下里要把权限声明一下(因为我们要利用系统的组件)要求必须要声明全限
下面我们在AndroidManifest.xml文件中添加声明;
<uses-permission android:name="android.permission.CALL_PHONE"/>
这样我们的代码就全部写完了,下面就可以部署到模拟器中来实现了!