欢迎来到天天文库
浏览记录
ID:33705077
大小:1.46 MB
页数:91页
时间:2019-02-28
《mono for android study》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、jiayMonoDroid学习笔记(三)——浅析HelloWorld程序及增添一些新的代码我们已经成功地在模拟器和手机上运行起来我们得HelloWorld程序,那么让我们回过头来看看这个工程的结构。打开解决方案资源管理器,比较值得我们关注的有以下的文件和文件夹:Activity1.cs,Resources文件夹下的文件夹及文件。Activity1.cs的内容与一般的C#文件相似。usingAndroid.App;usingAndroid.Content;usingAndroid.Runtime;usingAndroid.Views;usingAndroid.Widget;usingAnd
2、roid.OS;namespaceMonoDroidTest{[Activity(Label="MonoDroidTest",MainLauncher=true)]publicclassActivity1:Activity{intcount=1;protectedoverridevoidOnCreate(Bundlebundle){base.OnCreate(bundle);//Setourviewfromthe"main"layoutresourceSetContentView(Resource.Layout.Main);//Getourbuttonfromthelayoutresou
3、rce,//andattachaneventtoitButtonbutton=FindViewById(Resource.Id.MyButton);button.Click+=delegate{button.Text=string.Format("{0}clicks!",count++);};}}}可以看到,Activity1这个类是继承自Activity类得,在类中重写了OnCreate方法,在方法内以SetContentView方法来设置这个Activity要显示的布局(Resource.Layout.Main),那么这个Resource.Layout.Main是哪里
4、来的呢?打开Resource.Designer.cs这个文件你就能看到了,这个Resource.Layout.Main其实是一个int常量。那这个常量又是怎么来的呢?它其实代表的是Resources文件夹下的Layout文件夹下的Main.axml文件。Resources文件夹放置的是与程序相关的资源文件,如程序的icon图标(drawable文件夹内),布局文件(layout文件夹内)与常量值(values文件夹内)。当你生成程序时,Mono会把Resources下的这些文件夹分别编译为与文件夹同名的类作为Resource类的嵌套类,然后把文件中的文件名作为生成类的常量,并把xml文件
5、中具有android:id这个属性的值作为Id类的常量。所以SetContentView(Resource.Layout.Main)实际上就是将Resources/Layout/Main.axml作为程序加载时的布局输出。布局文件是以xml格式编写的,Mono定义了一种新的文件格式:.axml,文件结构与xml文件一样,只不过在编辑文件时加入了针对android布局文件的智能提示:布局文件中设置了一个Button标签,用以配置按钮标签Widget,其内部设置的android:text属性是要显示的文字内容,引用"@string"里的Hello字符串常数。查看Resources/Value
6、s/strings.xml,字符串常数设置如下:HelloWorld,ClickMe!其中“Hello”字符串的内容为“HelloWorld,ClickMe!”,这就是我们在模拟器或手机上看见的按钮上的文字内容了。那么大家有没有想过,Mono是怎么知道程序一运行就以Activity1.cs为我们的主程序呢?仔细观察一下Activity1.cs的代码,发现Activity1这个类打有Activity这个特性,并且里面
7、有个属性叫MainLauncher,值是true,那会不会就是以这个来识别的呢?为了验证这一想法,我们先来增加一个新的Activity,取名为Activity2,并且把这个MainLauncher也设为true,为了与Activity1的布局加以区分,我们在OnCreate中把按钮的文本修改一下,代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usi
此文档下载收益归作者所有