创建第一个Xamarin.android application
来源:互联网 发布:巨灵数据 编辑:程序博客网 时间:2024/05/01 23:38
打开Xamarin Studio 文件》New》Solution( 新建解决方案)
输入项目名称》Phoneword
双击 Main.axml在Android的设计器中打开它。让我们选择的Hello World,Click Me! 按钮在设计图面上,然后按Delete(删除)键将其删除。
打开MainActivity.cs,删除多余的代码,如果不删除,编译时就会出错,因为刚刚删除了第三步的button
切换到Main.axml,从工具栏中拖进Text(Large)控件
更改属性Text
添加控件Plain Text
更改id属性》@+id/PhoneNumberText;更改Text属性》1-855-XAMARIN
添加一个button控件
更改button的Id和text属性
再添加一个button
更改对应属性
现在来写转换按钮的代码,需要添加一个新文件
选择空类,命名为PhoneTranslator
文件创建好之后,清空原有现有的代码,复制一下的代码替换原来的代码(请好好理解下面代码的意思)
using System.Text;using System;namespace Core{ public static class PhonewordTranslator { public static string ToNumber(string raw) { if (string.IsNullOrWhiteSpace(raw)) return ""; else raw = raw.ToUpperInvariant(); var newNumber = new StringBuilder(); foreach (var c in raw) { if (" -0123456789".Contains(c)) newNumber.Append(c); else { var result = TranslateToNumber(c); if (result != null) newNumber.Append(result); } // otherwise we've skipped a non-numeric char } return newNumber.ToString(); } static bool Contains (this string keyString, char c) { return keyString.IndexOf(c) >= 0; } static int? TranslateToNumber(char c) { if ("ABC".Contains(c)) return 2; else if ("DEF".Contains(c)) return 3; else if ("GHI".Contains(c)) return 4; else if ("JKL".Contains(c)) return 5; else if ("MNO".Contains(c)) return 6; else if ("PQRS".Contains(c)) return 7; else if ("TUV".Contains(c)) return 8; else if ("WXYZ".Contains(c)) return 9; return null; } }}
好了,现在我们找到我们的主文件MainActivity.cs,添加所需要的代码 代码如下:
EditText phoneNumberText = FindViewById<EditText>(Resource.Id.PhoneNumberText);Button translateButton = FindViewById<Button>(Resource.Id.TranslateButton);Button callButton = FindViewById<Button>(Resource.Id.CallButton);
Next, we need to get a reference to the controls that we created in the layout file with the Android Designer. Let's add the following code inside the
OnCreate
method:// 禁用拨打电话按钮callButton.Enabled = false;// 添加string类型变量(其实这句话的意思就是string translatedNuber="";)string translatedNumber = string.Empty;//转换按钮事件translateButton.Click += (object sender, EventArgs e) =>{ // 因为之前添加的类是静态类,所以不用New,直接拿来用就可以了,传参即可 translatedNumber = Core.PhonewordTranslator.ToNumber(phoneNumberText.Text); if (String.IsNullOrWhiteSpace(translatedNumber)) { callButton.Text = "拨打电话"; callButton.Enabled = false; } else { callButton.Text = "拨打电话:" + translatedNumber; callButton.Enabled = true; }};
添加拨打电话按钮事件代码:
callButton.Click += (object sender, EventArgs e) =>{ // 当点击拨打电话按钮式,new一个弹出框,浮在当前(this)布局上 var callDialog = new AlertDialog.Builder(this); callDialog.SetMessage("拨打:" + translatedNumber + "?");//消息内容 callDialog.SetNeutralButton("拨打", delegate { // Create intent to dial phone var callIntent = new Intent(Intent.ActionCall); callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber)); StartActivity(callIntent); }); callDialog.SetNegativeButton("取消", delegate { }); // 窗体弹出 callDialog.Show();};
好了,代码部分我们就弄完了,这时候如果你点生成代码,能生成成功,但是不一定能运行成功。请一定要设置下面的相关设置!!
然后就能愉快的调试~\(≧▽≦)/~啦啦啦
- 创建第一个Xamarin.android application
- 创建第一个android application
- Moblin:创建第一个application
- Moblin:创建第一个application
- Xamarin iOS编写第一个应用程序创建工程
- 我的第一个Android things Application
- 创建第一个Android程序
- 创建第一个Android应用程序
- 创建第一个android工程
- 创建第一个Android项目
- 创建第一个android应用
- 创建第一个Android项目
- 创建第一个Android项目
- TextHello - 在 Console Application 下创建第一个C#程序
- 用C语言创建第一个Win32 Application
- 第一个Flash Application
- 第一个Windows Application
- 第一个iOS application
- 欢迎使用CSDN-markdown编辑器
- XIB设置圆角
- JAVA国际化
- sharedpreferance fragment 五种存储方式
- 构建iOS持续集成平台(二)——测试框架
- 创建第一个Xamarin.android application
- 设计模式系列之 模式概述
- Paraview模型颜色问题
- 高级android高斯模糊技术-媲美IOS
- python中range和xrange的异同
- #job 40
- webService
- nginx缓存配置
- 海量数据面试题整理