Xamarin.Android之山有木兮之木有枝,心悦君兮君不知。

第一步,写项目中的第一个界面。

<?xml version="1.0" encoding =" utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation= "vertical "
    android:layout_width= "fill_parent "
    android:layout_height= "fill_parent ">
 
  <TextView
      android:id="@+id/tv"
     android:layout_width= "fill_parent "
      android:layout_height="wrap_content"
      android:text="小晕,不醉。  先生:"
    />
 
  <Button
    android:id= "@+id/IntentBtn "
    android:layout_width= "fill_parent "
    android:layout_height= "wrap_content "
    android:text= "我说上联 "
    />
</LinearLayout>

第二步写项目中的第二个界面。


<?xml version="1.0" encoding =" utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation= "vertical "
    android:layout_width= "fill_parent "
    android:layout_height= "fill_parent ">
 
  <TextView
    android:id= "@+id/tv "
   android:layout_width= "fill_parent "
    android:layout_height= "wrap_content "
    android:text= "你好,请问美国怎么走?  女士: "
    />
 
  <Button
    android:id= "@+id/btnClose "
     android:layout_width= "fill_parent "
    android:layout_height= "wrap_content "
    android:text= "我答下联 "
    />
</LinearLayout>
 

第三步,写项目中的第一个界面的逻辑。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
 
namespace App1
{
    [Activity(Label = "HelloIntent",MainLauncher= true ,@Icon = "@drawable/Icon")]
    public class HelloIntent : Activity
    {
        protected override void OnCreate( Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView( Resource. Layout.HelloIntentLayout);
            Button button = FindViewById< Button>( Resource. Id.IntentBtn);
            button.Click += button_Click;
        }
 
        void button_Click( object sender, EventArgs e)
        {
            #region 简单意图到另外一个界面去
            //Intent it = new Intent();
            //it.SetClass(this, typeof(HelloIntent2));
            //StartActivity(it);
            #endregion
 
            string sendValue = "山有木兮木有枝" ;
            Toast.MakeText( this, sendValue, ToastLength.Short).Show();
            #region 显示传值               
            Intent it = new Intent();
            it.SetClass( this, typeof( HelloIntent2));
            it.PutExtra( "testName", sendValue);
            //此为普通调用。
          //  StartActivity(it);
            //当有返回值时用到,前一个参数是intent的对象,第一个是OnActivityResult方法里的requestCode。
            StartActivityForResult(it, 0);
            #endregion
        }
 
        protected override void OnActivityResult( int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            if (requestCode==0)
            {
                if ( Result.Ok==resultCode)
                {
                    string name = data.GetStringExtra( "nameExtra");
                    Toast.MakeText( this, name, ToastLength.Short).Show();
                }
            }
        }
    }
}

第四步,写项目中的第二个界面的逻辑

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
 
namespace App1
{
    [Activity(Label = "HelloIntent2")]
    public class HelloIntent2 : Activity
    {
        protected override void OnCreate( Bundle bundle)
        {
            base.OnCreate(bundle);
           SetContentView( Resource. Layout.HelloIntentLayout2);
            #region 显示传递参数,这边要得到传递过来的值。
            string uName = Intent.GetStringExtra( "testName");
            Toast.MakeText( this, uName, ToastLength.Long).Show();
            #endregion
 
            Button btnClose = FindViewById< Button>( Resource. Id.btnClose);
            btnClose.Click += btnClose_Click;
        }
 
        void btnClose_Click( object sender, EventArgs e)
        {
            string sendValue = "心悦君兮君不知" ;
            Toast.MakeText( this, sendValue, ToastLength.Short).Show();
            Intent it = new Intent();
            it.PutExtra( "nameExtra", sendValue);
            SetResult( Result.Ok,it);
            Finish();
        } 
    }
}

故事情节:

小伙子向暗恋的小姑娘说了一句话,他说:山有木兮木有枝。

小姑娘看到了小伙子说的话(成功将值带入到第二个界面):

小姑娘在思索中,应该怎么回自己也心仪的小伙子呢。

于是,她想到了,她羞答答的,她回了,她说心悦君兮君不知。

然后小伙子看到了小姑娘的话,小伙子满意的笑了。

学习内容:

签于太简单,略。请自行看官网

Xamarin.Android之山有木兮之木有枝,心悦君兮君不知。的更多相关文章

  1. XAMARIN.ANDROID SIGNALR 实时消息接收发送示例

    SignalR 是一个开发实时 Web 应用的 .NET 类库,使用 SignalR 可以很容易的构建基于 ASP.NET 的实时 Web 应用.SignalR 支持多种服务器和客户端,可以 Host ...

  2. XAMARIN ANDROID 二维码扫描示例

    现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile  做一个简单的 Android 条码扫描示 ...

  3. 我正在使用Xamarin的跨平台框架—Xamarin.Android回忆录

    一.缘起 在自己给别家公司做兼职外包的时候,已经明确知道外包的活不是那么好干的,一般在经历了初期热血澎湃的激情后,逐渐冷淡,愤怒,再冷淡,再愤怒…,听上去好像高潮迭起,但令人尴尬的是,这高潮迭起我们都 ...

  4. APP并非一个人在战斗,还有API—Xamarin.Android回忆录

    前言 一般来说,一个客户端APP并非独立存在的,很多时候需要与服务器交互.大体可分为两方面的数据,常规字符串数据和文件数据,因为这两种数据很可能传输方式不一样,比如字符串之类的数据,使用HTTP协议, ...

  5. Xamarin.Android通知详解

    一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...

  6. Xamarin.Android之SQLiteOpenHelper

    一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提 ...

  7. Xamarin. Android实现下拉刷新功能

    PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...

  8. Xamarin Android 之起始篇

    序言: 在博客园注册了已经有2年多了,快三年了.从开始学习这一行开始就在博客园注册了这个账号.至今也还没有写过一篇随笔,大多时候都是在园子里头潜水,看大牛写的文章,学习. 写博客不为啥,就是自己对自己 ...

  9. [译]:Xamarin.Android平台功能——位置服务

    返回索引目录 原文链接:Location Services. 译文链接:Xamarin.Android平台功能--位置服务 本部分介绍位置服务以及与如何使用位置提供商服务 Location Servi ...

随机推荐

  1. set_exception_handler 和 set_error_handler 函数

    定义和用法 set_exception_handler() 函数设置用户自定义的异常处理函数. 该函数用于创建运行时期间的用户自己的异常处理方法. 该函数会返回旧的异常处理程序,若失败,则返回 nul ...

  2. 双栈排序(codevs 1170)题解

    [问题描述] Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈 ...

  3. MvvmCross for WPF 支持子窗体显示、关闭、传参

    最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.c ...

  4. hdu1007

    Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some ...

  5. .NET开源工作流RoadFlow-流程设计-流程步骤设置-策略设置

    策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一 ...

  6. Python 爬虫实例

    下面是我写的一个简单爬虫实例 1.定义函数读取html网页的源代码 2.从源代码通过正则表达式挑选出自己需要获取的内容 3.序列中的htm依次写到d盘 #!/usr/bin/python import ...

  7. linux 下的使用 ln 创建 软链接 和 硬链接

    linux 下的一个指令 ln 作用: 创建软链接或者硬链接 Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(use ...

  8. Oracle redo 日志切换时间频率

    DB: 11.2.0.3.0 查看Oracle的redo日志切换频率 两条SQL,原理是一样的,第二个用到了统计函数 时间单位:分钟 方法一. select * from v$log a where ...

  9. 一篇文章教你读懂Makefile

    makefile很重要      什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professiona ...

  10. viewPager+Handler+Timer简单实现广告轮播效果

    基本思想是在Avtivity中放一个ViewPager,然后通过监听去实现联动效果,代码理由详细的解释,我就不说了. MainActivity.java package com.example.adm ...