码迷,mamicode.com
首页 > 移动开发 > 详细

VS2015下的Android开发系列02——用VS开发第一个Android APP

时间:2017-01-15 22:43:09      阅读:3537      评论:0      收藏:0      [点我收藏+]

标签:margin   function   oid   order   build   bin   aries   pil   需要   

配置Android模拟器

  这算是第一篇漏下说的,配置好VS的各参数,新建Android项目后,会发现菜单下的工具栏会多出Android相关的工具栏,红色圈出的就是AVD。

技术分享

  打开AVD后可以从模版处选一个设备,然后自己再做细节参数调整。

技术分享

  然后选择要模拟的版本,因为APP有蓝牙BLE的支持需求,所以选择了至少API Level18,注意如果安装了HAXM,CPU/ABI项一定要选"Intel Atom (x86)",如果没有,说明组件未安装,赶紧去下载后再来;另外一个注意点是内存至少3G,要不运行起来卡成狗,不要问我是怎么知道的……

技术分享

  运行效果

技术分享

建立一个Android APP

  通过新建项目对话框,新建一个空的Android项目

技术分享

 

   新建后的项目基本目录如下(里头的layout1.axml和Activity1.cs是后面加的)

技术分享

AndroidManifest.xml

  首选第一个要说的是AndroidManifest.xml,这是APP中非常重要的一部分,但在VS中不用像JAVA的开发环境中一样把相关配置写全,打开只看到基本的部分,其余的VS会在编译时补全。AndroidManifest.xml中的内容基本可以在项目属性中配置完成

技术分享

(namespace、API Level等的配置)

技术分享

(APP版本、名称、权限等)

技术分享

(这里还没实际经验,保持默认,等搞清楚了再来说)

 

 Assets和Resource资源目录

  Assets里放的是二进制资源文件,如字体、声音,访问方式如下(具体参考Assets目录下的AboutAssets.txt文件里面有示例代码):

//Any raw assets you want to be deployed with your application can be placed in
//this directory (and child directories) and given a Build Action of "AndroidAsset".
//
//These files will be deployed with you package and will be accessible using Android‘s
//AssetManager, like this:

public class ReadAsset : Activity
{
    protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        InputStream input = Assets.Open ("my_asset.txt");
    }
}

//Additionally, some Android functions will automatically load asset files:

Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");

 

  Resource目录中包含了布局、图片、字符串字典等资源文件,同样来看下资源的调用说明(目录中的AboutResources.txt):

/*
Images, layout descriptions, binary blobs and string dictionaries can be included 
in your application as resource files.  Various Android APIs are designed to 
operate on the resource IDs instead of dealing with images, strings or binary blobs 
directly.

For example, a sample Android app that contains a user interface layout (main.axml),
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
would keep its resources in the "Resources" directory of the application:

Resources/
    drawable/
        icon.png

    layout/
        main.axml

    values/
        strings.xml

In order to get the build system to recognize Android resources, set the build action to
"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
instead operate on resource IDs.  When you compile an Android application that uses resources, 
the build system will package the resources for distribution and generate a class called "R" 
(this is an Android convention) that contains the tokens for each one of the resources 
included. For example, for the above Resources layout, this is what the R class would expose:
*/

public class R {
    public class drawable {
        public const int icon = 0x123;
    }

    public class layout {
        public const int main = 0x456;
    }

    public class strings {
        public const int first_string = 0xabc;
        public const int second_string = 0xbcd;
    }
}

/*
You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 
to reference the layout/main.axml file, or R.strings.first_string to reference the first 
string in the dictionary file values/strings.xml.
*/

 

 Activity代码

  除了这些目录以外,别的就是Activity的代码及自己的类代码啦,APP的默认启动Activity只要设备类的相关属性就OK了,不需要特定的名字,重点注意:“MainLauncher = true, Icon = "@drawable/icon"”。至于别的代码是不是和JAVA的基本一样一样的?

[Activity(Label = "演示APP_01", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it

        }

    }

如点击按钮启动另外一个Activity的代码,有没有熟悉的感觉?

Button btnOpenActivity = FindViewById<Button>(Resource.Id.btnOpenActivity);

btnOpenActivity.Click += (sender, e) =>
            {
                Intent intent = new Intent(this, typeof(Activity1));
                StartActivity(intent);
            };

为Activity添加两个按钮和一些简单的代码后调试运行效果图:

技术分享技术分享

 

VS2015下的Android开发系列02——用VS开发第一个Android APP

标签:margin   function   oid   order   build   bin   aries   pil   需要   

原文地址:http://www.cnblogs.com/e4ky/p/VS2015_Android_02.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!