从前设备的延期密码一直用的是桌面程序生成的,看到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"?>
<LinearLayout
xmlns: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" >
<TextView
android:text="ID:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1" />
<EditText
android:inputType="number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText1" />
<TextView
android:text="PSW:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView2" />
<EditText
android:inputType="number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText2" />
<Button
android: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 resource
SetContentView(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文件了!!