从前设备的延期密码一直用的是桌面程序生成的,看到C#也可以开发App,熟悉了一下,做了一个简单的应用,分享给大家:

1、VS2019没有安装移动开发组件的,先安装上:

2、创建新项目:

选择空白应用和安卓版本:

3、页面布局:

创建成功后,会自动部署系统文件,需要花一点时间。这个时候不要着急,耐心等待系统部署完成!

页面布局编辑右侧解决方案资源管理器 →  Resources → layout 文件夹下的activity_main.xml文件

点击activity_main.xml后会出现下图,打开左边是工具栏,中间是 可视化布局和代码编辑区,右下为属性编辑窗口。从左侧工具栏拖入控件后,可以在代码编辑区修改属性,也可以在属性编辑窗口修改控件属性。

如果出现和下图一样可视化窗口不显示,则表示系统未部署完成,继续下去就会报错,这个地方不确定是哪里的问题,我重新创建了几次就可以了。

系统自动生成的RelativelLayout控件是从左到右布局的容器,我们需要从上到下的布局,先删除它

再从 工具箱 → 布局 拖入LinearLayout(Vertical)控件到可视化窗口 ,这个容器是从上到下布局的

再从左侧工具栏 → 拖入 Text(Large) 控件T,从再拖入 文字字段 → Number控件

以上操作重复一次,再拖入一个 Text(Large) 和 Number 控件

再拖入一个Button控件

从工具栏拖入的控件,可以在代码编辑区增加控件高度和字号属性,也可以从右下角属性窗口修改 ,我们将控件的名称和id修改一下,也可以不修改

到这里,页面的布局就完成了,以下是页面布局的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:minWidth="25px"android:minHeight="25px"android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/linearLayout1" ><TextViewandroid:text="ID:"android:textAppearance="?android:attr/textAppearanceLarge"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/textView1" /><EditTextandroid:inputType="number"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/editText1" /><TextViewandroid:text="PSW:"android:textAppearance="?android:attr/textAppearanceLarge"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/textView2" /><EditTextandroid:inputType="number"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/editText2" /><Buttonandroid:text="@android:string/ok"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/button1" />
</LinearLayout>

下面开始编写程序

打开 MainActivity.cs 文件,先添加点击事件的方法:

public void btnOnClick(object sender, System.EventArgs e)
{}

在 OnCreate 函数中加入按钮点击事件:

Button Btn = FindViewById<Button>(Resource.Id.button1);
Btn.Click += btnOnClick;

以下是  MainActivity.cs 的全部代码:

using Android.App;
using Android.OS;
using Android.Runtime;
using Android.Widget;
using AndroidX.AppCompat.App;namespace App
{[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]public class MainActivity : AppCompatActivity{protected override void OnCreate(Bundle savedInstanceState){base.OnCreate(savedInstanceState);Xamarin.Essentials.Platform.Init(this, savedInstanceState);// Set our view from the "main" layout resourceSetContentView(Resource.Layout.activity_main);Button Btn = FindViewById<Button>(Resource.Id.button1);Btn.Click += btnOnClick;}public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults){Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);base.OnRequestPermissionsResult(requestCode, permissions, grantResults);}public void btnOnClick(object sender, System.EventArgs e){//获取控件句柄EditText id = FindViewById<EditText>(Resource.Id.editText1);EditText psw = FindViewById<EditText>(Resource.Id.editText2);//下面编写自己的代码//举个例子psw.Text = id.Text;}}
}

最后是发布APP的应用

程序编写测试好后,将开发模式从 Debug 改为 Release

生成解决方案

这个需要花一点事件,耐心等待一下,成功后左下角会有显示,如下图所示

解决方案生成后,选择 生成 → 存档

等待APP打包,这需要一点时间,等待打包结束后,点击分发

分发频道选择临时

点击 “+” 新建一个签名,记住签名的密码,以后发布都要用到

选择创建的签名,点击另存为,输入签名密码就生成APK文件了!!

VS2019 Xamarin 零基础开发一个简单的App实例相关推荐

  1. 开发一个简单的APP到底需要多少钱

    很多外行人以为做一个App很简单,顶多花几个月时间.几千块就能做好并上线推广.实际上,以一个亲身踩过坑的人来说,仅仅做个"可以用"的App就够花费成本的了. 如果选择自己招兵买马做 ...

  2. 小程序获取头像试试水 02《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》

    本系列教程是针对粉丝的变现教程,还不是粉丝的可以关注我并且到社区:https://bbs.csdn.net/topics/603436232 进行打卡,不是老粉的也可以获取最终的技术变现学习,最终还有 ...

  3. html5游戏开发-零基础开发RPG游戏-开源讲座(四)

    了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...

  4. html5游戏开发-零基础开发《圣诞老人送礼物》小游戏

    开言: 以前lufy前辈写过叫"html5游戏开发-零基础开发RPG游戏"的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识. ...

  5. 零基础开发 Node.js Addons 插件:参数与返回值处理

    上一篇回顾 零基础开发 Node.js Addons 插件:Hello Node-API.本篇介绍使用 Node-API 为 Node.js 开发基于 C 的 Addons 时,如何接收与处理 Nod ...

  6. 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解...

    salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解 建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema ...

  7. Uniapp零基础开发学习笔记(5) -组件入门及容器组件使用

    Uniapp零基础开发学习笔记(5) -组件入门及容器组件使用 按照官网教程学习使用组件,并且重点把容器组件的应用进行了练习. 1.官网关于组件的介绍 组件是视图层的基本组成单元,是一个单独且可复用的 ...

  8. html5游戏开发-零基础开发RPG游戏-开源讲座(四)-游戏脚本化地图跳转

    首先,本篇文章是零基础开发RPG游戏-开源讲座系列文章的第四篇,来实现游戏的脚本化,和利用游戏脚本实现地图场景的切换,离上次更新貌似很长时间了,你在看下面的文字之前,需要先了解前三篇在下啰嗦了些什么东 ...

  9. 小程序的 HelloWord 01《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》

    本系列教程是针对粉丝的变现教程,还不是粉丝的可以关注我并且到社区:https://bbs.csdn.net/topics/603436232 进行打卡,不是老粉的也可以获取最终的技术变现学习,最终还有 ...

最新文章

  1. Java 默认/缺省 内存大小,如果没有 -Xms -Xmx
  2. 连载 3:利用 matlab计算卷积
  3. 帆软 JAVA扩展_java报表开发工具FineReport教程之报表设计:单元格扩展
  4. CSS背景颜色渐变处理
  5. 跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
  6. 马斯克“地狱”归来,回应一切
  7. FreeMarker合并单元格
  8. 使用python解决算法和数据结构--使用栈实现进制转换
  9. PS 怎么去掉图片上的文字
  10. python中的序列化与反序列化_Python之序列化与反序列化(pickle模块与json模块)...
  11. Android超炫图片浏览器代码
  12. 无线网络与移动网络详解
  13. 关于 AWS 架构师认证考试
  14. 终于学会数组的使用啦~~~------C语言数组学习笔记详解
  15. Centos7 设置开机自启的几种方式
  16. C#读写修改设置调整UVC摄像头画面-伽玛
  17. Redis中五大基本数据类型和三种特殊数据类型详解
  18. 怎么样才能快速有效系统的学好linux?
  19. Ubuntu18.04安装Matlab2019b
  20. Fel是轻量级的高效的表达式计算引擎学习(一)

热门文章

  1. 超微服务器X11DAi-N主板简介及实际应用
  2. 概括TTL、RS32、RS485特点及区别
  3. Window 开机连接ocsp.globalsign.com
  4. CAD得到所有图层名(网页版)
  5. 机械振动信号15个时域统计指标
  6. ES6基础语法(let、const、解构赋值、模板字符串、简化对象、箭头函数、扩展运算符)(一)
  7. Rails博客软件 Enki
  8. html按钮悬停,html – 仅在悬停时显示按钮
  9. 远程GPU服务器运行Python
  10. 蒸馏神经网络(Distill the Knowledge in a Neural Network)