xamarin开始手机软件实用网站
https://developer.xamarin.com/recipes/android/fundamentals/activity/pass_data_between_activity/ xamarin的官网实例 超实用
https://developer.xamarin.com/recipes/android/controls/webview/call_csharp_from_javascript/ xamarin的官网 JS调用服务 超实用
https://developer.xamarin.com/recipes/android/controls/webview/load_local_content/ xamarin的官网 手机嵌入网页开发 超实用
https://docs.microsoft.com/zh-cn/xamarin/android/app-fundamentals/broadcast-receivers 官网 广播器使用
https://developer.xamarin.com/api/type/Android.Content.BroadcastReceiver/ 官网 函数文档
https://docs.microsoft.com/zh-cn/xamarin/android/platform/android-manifest xamarin清单网址
apk打包,打包就是存档之后进行分布,存档和分布是特有名词,没有准确的文档,要参考下面两个网站,自己学习完成。
https://blog.csdn.net/xsfqh/article/details/76974580
service长存设置,这边博客写的很好。
https://blog.csdn.net/mad1989/article/details/22492519
辅助网站
http://www.android-studio.org/ 安卓官网社区 没啥用
http://www.runoob.com/android/android-tutorial.html 安卓菜鸟教程 入门实用
添加View.IOnClickListener ,btn_search.SetOnClickListener(this);开启监听
OnClick(View v)里判断控件 if (v.Id == Resource.Id.btn_search)
[Activity(Label = "Main", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity,IGongAnView,View.IOnClickListener { TextView txt_result; Button btn_search; EditText btn_sitedomain; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); txt_result = FindViewById<TextView>(Resource.Id.txt_result); btn_search = FindViewById<Button>(Resource.Id.btn_search); btn_sitedomain = FindViewById<EditText>(Resource.Id.btn_sitedomain); btn_search.SetOnClickListener(this); } public void OnClick(View v) { if (v.Id == Resource.Id.btn_search) { string sitedomain = btn_sitedomain.Text; string pattern = @"^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$"; Regex reg = new Regex(pattern); if (string.IsNullOrEmpty(sitedomain)) { Toast.MakeText(this, "请输入域名", ToastLength.Short).Show(); } else if (reg.IsMatch(sitedomain)) { progressDialog.Show(); presenter.showResult(sitedomain); } else { Toast.MakeText(this, "域名错误,请重新输入", ToastLength.Short).Show(); } } } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
AssetBundle使用模式
翻译自官网文档:https://unity3d.com/cn/learn/tutorials/topics/best-practices/assetbundle-usage-patterns?playlist=30089 管理加载的资产 在内存敏感的环境中仔细控制加载的对象的大小和数量非常重要。从活动场景中移除时,Unity不会自动卸载对象。资产清理在特定时间触发,也可以手动触发。 AssetBundles本身必须小心管理。由本地存储上的文件(在Unity缓存中或通过AssetBundle.LoadFromFile加载的文件)支持的AssetBundle具有最小的内存开销,很少消耗超过几十千字节。但是,如果存在大量的AssetBundles,则此开销仍可能会出现问题。 由于大多数项目允许用户重新体验内容(例如重放级别),因此知道何时加载或卸载AssetBundle非常重要。如果AssetBundle卸载不当,可能会导致内存中的对象重复。在某些情况下不当卸载AssetBundles也会导致不良行为,例如导致纹理丢失。要理解为什么会发生这种情况,请参阅资产,对象和序列化章节的“ 对象间参考...
- 下一篇
12.源码阅读(IPC Binder机制-android api 26)
调用bindService方法绑定服务最终会执行Service的onBind方法并在ServiceConnection的onServiceConnected中得到IBinder对象,我们从源码角度看看这一过程是如何进行的 首先从ContextImpl的bindService看起 @Override 1538 public boolean bindService(Intent service, ServiceConnection conn, 1539 int flags) { 1540 warnIfCallingFromSystemProcess(); 1541 return bindServiceCommon(service, conn, flags, mMainThread.getHandler(), 1542 Process.myUserHandle()); 1543 } private boolean bindServiceCommon(Intent service, ServiceConnection conn, int flags, Handler 1582 handler,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路