Visual Studio 2017 第一个 android

          Visual Studio 2017  发布已有一段时间,今天有时间,终于把 19.8G 离线版下载完毕, 开始VS开发android, 早期的版本,Xamarin 做得非常不好,用起来一个字"烦",所以一直无用过,现在vs2017版感觉做得好好,最少,安装完毕就可以使用,当然也要自己安装java1.8;


 如果只用来开发android,可以瘦身安装,但也要8G空间,


安装完毕后,第一次启动,最好禁网再启动,这样会快点,把用不到插件,功能,删除,微软学坏了


现在开始新建 android 体现效果




接着,我们看下源码

namespace App1
{
    [Activity(Label = "微软", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        int count = 1;

        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
            Button button = FindViewById<Button>(Resource.Id.MyButton);

            button.Click += delegate
            {
                button.Text = string.Format("这是第{0} 单击!", count++);
            };
        }
  }
}


看上去非常简洁,最适合初学者, 现在准备运行,模拟器, 当然用 Genymotion, 快呢, Genymotion自己下载,教程大把, 记住先要 运行 模拟器,  运行后,VS 这个也是做得好好,自动识别到,如图



启动后, 




傻瓜式  感觉可以把;  不像老版本,运行一大堆错, 把初学者都吓跑了,


下面,说说, VB 型的简洁事件式, 

打开  SetContentView(Resource.Layout.Main); 对应该的  Main.axml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/MyButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="but_Click"
        android:text="@string/Hello" />
</LinearLayout>


  这里,我们加入 
    android:onClick="but_Click"
改变 事件方式

像eclipse 在源码加入 

        public void but_Click(View v)
        {
           this.Title=
             (string.Format("这是第{0} 单击!", count++));
        }




把 下面的 代码 删除

button.Click += delegate  ....


再运行, 呵呵,,出错,一点就闪退了, 相对 eclipse 是对,现在出错,怎办,原来还加多一行

 

  [Java.Interop.Export]

加了这行后,还要引用才可以喔





这下可以了, 完整代码

namespace App1
{
    [Activity(Label = "微软", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        int count = 1;

        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
            //Button button = FindViewById<Button>(Resource.Id.MyButton);

            //button.Click += delegate
            //{
            //    button.Text = string.Format("这是第{0} 单击!", count++);
            //};
        }
 
        [Java.Interop.Export]
        public void but_Click(View v)
        {
           this.Title=
             (string.Format("这是第{0} 单击!", count++));
        }
    }
}


是不是好简洁呢,我就是习惯这样的


接着,生成apk


记住 不要太天真 在 "\bin\Debug"  文件夹下拿apk, 是运行不了,


要在 生成--存档 这样才可以 生成 apk的,, 而且还要改 Release 模式 ,





接下来,会花小小打包成APK,  完成后,你可以 签名发布






最后, 你,就可以到得到最终8M多的apk, 呵呵,没错,就是8M ,只是几行代码, 用 VS 做,就要8M多才可以运行,相比 人家只有几kb,真的 恐怖了


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liangfang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值