Xamarin.Android之转换,呼叫,查看历史纪录
Xamarin.Android之转换,呼叫,查看历史纪录
功能:能将输入的字母转换成相应的数字。并且能呼叫出去。能查看呼叫的历史纪录。
界面代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"> <EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0712-XAMARIN"
android:id="@+id/et"
/> <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="转换"
android:id="@+id/btnTran"
/> <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="呼叫"
android:id="@+id/btnCall"
/> <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="历史纪录"
android:id="@+id/btnCallHistory"
/> </LinearLayout>
主Activity代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget; namespace App3
{
[Activity(Label = "CallActivity", MainLauncher = true, Icon = "@drawable/icon2")]
public class CallActivity : Activity
{
//定义手机集合。
private static readonly List<string> PhoneNumbers = new List<string>();
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Call);
EditText et = FindViewById<EditText>(Resource.Id.et);
Button btnTran = FindViewById<Button>(Resource.Id.btnTran);
Button btnCall = FindViewById<Button>(Resource.Id.btnCall);
btnCall.Enabled = false;
Button btnCallHistory = FindViewById<Button>(Resource.Id.btnCallHistory);
btnCallHistory.Enabled = false;
string translatedNumber = string.Empty; btnTran.Click += (sender, e) =>
{
translatedNumber = PhoneTranslator.ToNumber(et.Text);
//将转换的手机号加入到手机集合中。
PhoneNumbers.Add(translatedNumber);
btnCallHistory.Enabled = true;
if (String.IsNullOrWhiteSpace(translatedNumber))
{
btnCall.Text = "呼叫";
btnCall.Enabled = false;
}
else
{
btnCall.Text = "呼叫" + translatedNumber;
btnCall.Enabled = true;
}
}; btnCall.Click += (sender, e) =>
{
//对话框
var callDialog = new AlertDialog.Builder(this);
callDialog.SetMessage("呼叫" + translatedNumber + "?");
//拨打按钮
callDialog.SetNeutralButton("呼叫", delegate
{
//使用意图拨打电话
var callIntent = new Intent(Intent.ActionCall);
//将需要拨打的电话设置为意图的参数.注意写法
callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber));
StartActivity(callIntent);
});
callDialog.SetNegativeButton("取消", delegate { });
callDialog.Show();
}; btnCallHistory.Click += (sender, e) =>
{
//用意图打开历史纪录的活动
Android.Content.Intent it = new Intent(this, typeof(CallHistoryActiviry));
it.PutStringArrayListExtra("phoneNumbers", PhoneNumbers);
StartActivity(it);
}; }
}
}
通话纪录的Activity代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget; namespace App3
{
[Activity(Label = "CallHistoryActiviry")]
public class CallHistoryActiviry : ListActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var phoneNumbers = Intent.Extras.GetStringArrayList("phoneNumbers") ?? new string[];
//只有当此Activity继承于ListActivity时,整个视图才是列表,才可以这么写。
this.ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleExpandableListItem1, phoneNumbers);
}
}
}
Xamarin.Android之转换,呼叫,查看历史纪录的更多相关文章
- Xamarin.Android开发
使用 Visual Studio 生成第一个 Xamarin.Android 应用程序,并进一步了解使用 Xamarin 进行 Android 应用程序开发的基础知识.在此过程中,会介绍生成和部署 X ...
- Xamarin. Android实现下拉刷新功能
PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...
- Xamarin.Android开发实践(十四)
Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文 ...
- Xamarin.Android Binding篇
前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多 ...
- xamarin.android 绑定百度地图SDK遇到的问题
在 xamarin.android 绑定项目中,绑定 百度地图的LBS地图SDK,参考 https://developer.xamarin.com/guides/android/advanced_to ...
- Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...
- Xamarin.Android之ListView和Adapter
一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文中的适配器的主要内容就是将原始的数据转换成了能够供列表控件显示的项 ...
- APP并非一个人在战斗,还有API—Xamarin.Android回忆录
前言 一般来说,一个客户端APP并非独立存在的,很多时候需要与服务器交互.大体可分为两方面的数据,常规字符串数据和文件数据,因为这两种数据很可能传输方式不一样,比如字符串之类的数据,使用HTTP协议, ...
- Xamarin.Android之SQLiteOpenHelper
一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提 ...
随机推荐
- Win2003打不开https的问题
碰到客户做问题是能打开https://www.baidu.com 这个网页 打不开 https://sha256.alipay.com/SHA256/index.htm支付宝这个网页 解决办 ...
- mariadb数据库备份学习笔记
备份类型: 完全备份 部分备份:仅备份其中的一张表或多张表 增量备份:仅备份从上次完全备份或增量备份之后变化的数据部分 热备份:在线备份,读写操作不受影响 温备份:在线备份,读操作可继续进行,但写操作 ...
- 将CentOS配置成本地yum
默认的yum是以网络来安装的,在没有网络或者网速不佳的情况下,通过yum来安装软件是意见非常痛苦的事情.其实对于CentOS DVD来说,里面提供的软件就足以满足我们的需要了,而且DVD里的软件版本都 ...
- php qr生成二维码
二维码就是用在平面上用特定的几何图形记录数据信息的,QR码是常见的一种二维码.推荐使用生成QR码的php类库PHP QR Code. 例子: <?php ini_set('display_e ...
- 2013-10-25笔记,css: mini-width, 标准居中,样式中*号使用,背景图像位置定位
mini-width:设置元素的最小宽度.該屬性值會對元素的寬度設置一個最小限制.因此,元素可以比制定值寬,但不能比制定值窄.不允許指定負值. 完美的居中佈局: body{text-align: ce ...
- 通过Messenger与后台连接(单向操作,activity向service发送数据)
xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- 编写测试类,了解ArrayList的方法
这篇文章主要介绍了C#中动态数组用法,实例分析了C#中ArrayList实现动态数组的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#中动态数组用法.分享给大家供大家参考.具体分析如下 ...
- Mysql 简单问题汇总(持续更新)
主从架构相关问题 问题现象:从机连接主机时报错 [ERROR] Slave I/O: error connecting to master 'repl@192.168.0.50:3306' - ret ...
- VS2013+Qt5.6+VSaddin1.2.5
1 下载Qt(1)Qt安装包http://download.qt.io/official_releases/qt/(2)Qt插件http://ftp.jaist.ac.jp/pub/qtproject ...
- [笔记]--Ubuntu安装Sublime Text 2
sublime text 2 有两种安装方式,一种是添加软件源,然后用命令安装.另外一种是下载安装包.解压手动安装.Sublime Text 2 入门及技巧 一.下载安装 1.在Sublime Tex ...