下面写一个小示例.
这个一键SOS的项目的功能主要,在android手机上面,显示出一个超级大的按钮,
通过点击该按钮,可以触发一个事件,这个事件将会进行拨打的电话的功能.
建立一个android的小工程,
我们就从android的布局,开始写起.
在res文件下,layout文件,下面有一个activity_main.xml的文件,我们写布局,首先就从这里入手
<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="match_parent"
tools:context=".MainActivity"
>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_heigth="match_parent"
anndroid:text="一键SOS"/>
</RelativeLayout>
我来说明一下这个布局的代码
RelativeLayout这个是android里面的一种布局模式,叫做相对布局.
android:layout_width="match_parent"
android:layout_heigth="match_parent"
表示我布局的宽和高,和我的父类的元素是一样的.
在往下我们有一个按钮
android:id="@+id/btn",表示给当前的控件添加一个新的id,名字叫做btn,
android:layout_width="match_parent"
android:layout_heigth="match_parent"
表示Button这个控件的高度和宽度的是和父类的元素的高度和宽度是一样的.
android:text="一键SOS",就是Button这个控件显示的名称.
疑问:
我们知道Button控件的父类,是RelativeLayout布局.那么RelativeLayout的父类又是谁呢?其实就是手机的屏幕.
所以,最后我们做出来的按钮的大小,是和手机的屏幕的大小是一致的.
界面已经写出来了,下面我们来实现拨打电话
在android项目下面,有一个src,我们创建一个包,然后,在创建MainActivity.java的文件夹.从里面写代码来实现,我们的功能
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//需求:点击按钮控件,然后会进行打电话
//分析:首先我们要找到这个按钮,然后给这个按钮,进行事件的监听的绑定
//1.查找指定的空间
View view=findView(R.id.btn);
//2.给按钮注册点击事件
view.setOnClickListenter(
new OnclickListener(){
public void onClick(View v){
//这个方法就是被点击的时候,进行调用.
//参数一:上下文
//参数二:弹出的文字1
//参数三:显示的时长
//最后show一下
Toast.makeText(MainActivity.this,"按钮被点击了",Toast.LENGTH_SHORT).show();
//实际的需要是打电话.--实际上打电话,就是让自己的应用去启动或者打开叫做拨号的界面就可以了.
//android里面表述界面--activity--打开界面,启动界面
//构建一个意图
Intent intent=new Intent();
//设置一个动作,系统会根据这个动作去启动或者打开不同的界面
//指定一个打电话的动作
intent.setAction(Intent.ACTION_CALL);
//URL ---统一的资源定位符 -- 更多的指的是网络上的资源 http://www.baidu.com/news.html
//URI --- 统一资源定位符 --- 一般多用于自定义的定位。
//打给谁,指定号码
intent.setData(Uri.parse("tel://10086"));
//启动界面
startActivity(intent);
}
});
}
}
然后我们要去获取打电话的权限
在AndroidMainfest.xml文件里面加入打电话的权限.
<uses-permission android:name="android.permission.CALL_PHONE"/>
如果不加入打电话的权限.
就会出现java.lang.securityException.让你去获取用户的权限.
这样的我们第一个示例就完成了.
应用的权限
android引入这个权限的机制,实际上就是让应用的执行逻辑对用户透明化 ,无形中也是推广自己的android系统。让用户体验变得更好。
在设置应用里面可以查看当前应用程序使用的权限。