有的人看完题目可能会想怎么是陪你呢,对啊。因为我只是个小白。所以想和大家一起学习,大家也来指点我一下
今天做了第一个小项目就是电话拨打器
首先按步骤创建项目 一路next
然后看到的就是布局文件啦下面我们来更改布局
打电话需要什么布局呢。。。
1.肯定需要文本框输入啊不然去哪里打电话号码,我们就需要整一个Edit在布局文件代码如下
android:layout_width="match_parent"//配置宽度
android:layout_height="wrap_content"//配置高度
android:id="@+id/et"//添加ID
android:hint="输入号码"
这个hint 是什么鬼没见过啊其实这个hint可以改成text。。那这两个有什么区别呢?text是直接显示文字,用户在打字的时候需要在文本框删除你写的文字后才能输入文字。hint就是提示语你在点击文本框的时候就自动删除了就这点区别。除了文本框我们还需要什么
按键。输入文本后你需要点击按键然后打电话这个没什么好说的啊直接上代码
界面现在做好了下一步就是真正敲代码写java的时候了
2.来看看mainactivity都有什么
红箭头那两行代码要知道是干啥的他就是确定当前活动为主活动,说白了就是进入程序后看到的就是这个活动
我们需要做的是什么呢??
给你的界面加上功能,不能光有面子没有里子啊。中看不中用啊。。。
3.要想配置功能首先需要做的就是获得那个东西啊不然没有东西你怎么去用就是获取那个对象。怎么获取注意这里不能直接new对象,因为你new的对象肯定不是你现在有的那个对象毕竟Android还没有这么强大。随意这就是为什么前边布局文件里边我都加了id每一个东西你只要想用就要给她编号加ID当你调用的时候就可以用findviewbyid这个方法调用具体代码:
Button bt =(Button) findViewById(R.id.button1);
记住这个方法返回值是view而不是button 所以需要转型前边加button选项
然后我们再来看一下业务逻辑啊你要打电话,你得先输入号码吧。然后点击按钮这个按钮作用很大啊,第一他要告诉手机让他打电话,第二还要告诉他打给谁第三你在点击他的时候才能执行以上动作。我们先来看第三点怎么实现呢——监听器
每个button都会有这个方法不用你自己去声明代码
bt.setOnClickListener(new OnClickListener ());
括号里是接受的参数onclicklistener是一个接口new这个借口就会得到对象。设计了一点点内部类的东西在这里不再赘述。
下边就要复写点击方法先实现OnClickListener ()然后复写方法告诉它点击以后需要做什么??
我们再来看前边两条第一他要告诉手机让他打电话,第二还要告诉他打给谁
先把第二条实现了,说白了就是获取输入号码就是这么简单。怎么获取同样获取对象然后调用gettext方法
String number = et.getText().toString();
记住这里的方法返回类型不是string类型应该是edittable类型继而调用tostring方法转换为string
现在你已经拿到这个number了。执行最后一步告诉手机打电话这里有一个类叫intent 意图的意思你把你的意图告诉他
生成对象
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);告诉他干嘛——打电话设置他的动作
intent.setData(Uri.parse("tel:"+number));告诉他打给谁,号码这个方法返回值是uri类型这个你要调用方法进行分析注意啊,,注意啦!!!
后边的东西一定要带上“tel:"不要吧冒号丢掉你现在记住就好以后咱们一起学为什么我刚刚就是整半天没整上把冒号丢了。
最后一步startActivity(intent);启动活动并且把意图告诉他就这样你的代码完成了。
JAVA源码大概这样
package com.example.dailer;
import android.net.Uri;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt =(Button) findViewById(R.id.button1);
bt.setOnClickListener(new MyListener ());
}
class MyListener implements OnClickListener{
public void onClick(View v) {
EditText et =(EditText) findViewById(R.id.et);
String number = et.getText().toString();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
// TODO Auto-generated method stub
startActivity(intent);
}
}
这就完了吗??
不行的你少一样定西。权限!!!你没有权限打不了电话的找到你的mainefest文件找到
这就好了嘛!!可以尽情去和妹子装逼了。。。不要太骄傲。今天小葵花妈妈课堂就讲到这里。。有不对的大家多多指教