首页 > 其他 > 详细

Mono的简单例子

时间:2014-03-09 11:31:36      阅读:668      评论:0      收藏:0      [点我收藏+]

一直对移动端开发有些兴趣,但苦于不会Java,好在终于找到了个好玩的。

安装方法略了,先建立一个玩玩

bubuko.com,布布扣

不多说,贴代码了,需要注意的只有些JAVA和C#写法不太一样的地方,不细介绍了,因为没什么经验,乱试的,所以也没什么规范,随便看看就好

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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;
using Java.Util;
 
namespace AndroidHotelServiceTest
{
    [Activity(Label = "My Activity")]
    public class ActivityCalendar : Activity
    {
        protected override Dialog OnCreateDialog(int id)
        {
            if (id == 1)
            {
                return new DatePickerDialog(this, new DDialogLisetener(this), 2013, 11, 11);
            }
            return base.OnCreateDialog(0);
        }
 
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            // Create your application here
            SetContentView(Resource.Layout.CalendarView);
            Button button = FindViewById<Button>(Resource.Id.btClose);
            button.Click += delegate
            {
                Intent intent = new Intent();
                intent.SetClass(this, typeof(ActivityHotel));
                StartActivity(intent);
            };
 
            ShowDialog(1);
 
        }
    }
 
    public class DDialogLisetener : DatePickerDialog.IOnDateSetListener
    {
        private Context _context;
        public DDialogLisetener(Context context)
        {
            _context = context;
        }
 
        public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            String sDayOfWeek = getDayOfWeek(year, monthOfYear, dayOfMonth);
            //Toast.makeText(CreateParty.this, "sdf", Toast.LENGTH_LONG).show();
            int m_nYear = year;
            int m_nMonth = monthOfYear + 1;
            int m_nDay = dayOfMonth;
            Toast.MakeText(_context, "ddd", ToastLength.Long).Show();
            Toast.MakeText(_context, m_nYear + "年" + m_nMonth + "月" + m_nDay + "日 ", ToastLength.Long).Show();
        }
 
        private string getDayOfWeek(int tmpYear, int tmpMonth, int tmpDay)
        {
            String myWeek = null;
            String sYear = tmpYear.ToString();
            // 取年的后两位
            String sYearTwo = sYear.Substring(sYear.Length - 2);
 
            int y = tmpYear;
 
            int m = tmpMonth + 1;
            int c = 20;
            int d = tmpDay;
            int w = (y + (y / 4) + (c / 4) - 2 * c
                    + (26 * (m + 1) / 10) + d - 1) % 7;
 
 
            switch (w)
            {
                case 0:
                    myWeek = "日";
                    break;
                case 1:
                    myWeek = "一";
                    break;
                case 2:
                    myWeek = "二";
                    break;
                case 3:
                    myWeek = "三";
                    break;
                case 4:
                    myWeek = "四";
                    break;
                case 5:
                    myWeek = "五";
                    break;
                case 6:
                    myWeek = "六";
                    break;
                default:
                    break;
            }
            return myWeek;
 
        }
 
        public void Dispose()
        {
            this.Dispose();
        }
 
        public IntPtr Handle
        {
            get { return IntPtr.Zero; }
        }
    }
}

  参考了不少网上的代码

bubuko.com,布布扣
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;
using Android.Media;
using Android.Content.Res;
using Java.IO;

namespace AndroidHotelServiceTest
{
    public class BeepManager
    {
        private static Activity m_CurrentActivity;
        private static MediaPlayer m_MediaPlayer = null;

        private static MediaPlayer BuildMediaPlayer(Context context)
        {
            MediaPlayer player = new MediaPlayer();
            player.SetAudioStreamType(Android.Media.Stream.Music);
            player.Completion += new EventHandler(mediaplayer_Completion);

            AssetFileDescriptor assetfiledescriptor = context.Resources.OpenRawResourceFd(0x7f040000);
            try
            {
                player.SetDataSource(assetfiledescriptor.FileDescriptor, assetfiledescriptor.StartOffset, assetfiledescriptor.Length);
                assetfiledescriptor.Close();
                player.SetVolume(0.1F, 0.1F);
                player.Prepare();
                m_MediaPlayer = player;
            }
            catch (IOException ioexception)
            {
                player = null;
            }

            return player;
        }

        static void mediaplayer_Completion(object sender, EventArgs e)
        {
            m_MediaPlayer.SeekTo(0);
        }

        public static void PlayBeepSound(Activity activity)
        {
            m_CurrentActivity = activity;
            if (m_MediaPlayer == null)
            {
                m_MediaPlayer = BuildMediaPlayer(m_CurrentActivity);
            }
            m_MediaPlayer.Start();
        }

        public static void Stop()
        {
            if (m_MediaPlayer != null)
            {
                m_MediaPlayer.Stop();
                m_MediaPlayer = null;
            }
        }

        //private void prepareToPlay()
        //{
        //    try
        //    {
        //        //获取当前音频流的路径后我们需要通过MediaPlayer的setDataSource来设置,然后调用prepareAsync()来完成缓存加载  
        //        String path = pathList.get(currPosition);
        //        player.setDataSource(path);
        //        //之所以使用prepareAsync是因为该方法是异步的,因为访问音频流是网络操作,在缓冲和准备播放时需要花费  
        //        //较长的时间,这样用户界面就可能出现卡死的现象  
        //        //该方法执行完成后,会执行onPreparedListener的onPrepared()方法。  
        //        player.prepareAsync();

        //    }
        //    catch (IllegalArgumentException e)
        //    {
        //        // TODO Auto-generated catch block  
        //        e.printStackTrace();
        //    }
        //    catch (IllegalStateException e)
        //    {
        //        // TODO Auto-generated catch block  
        //        e.printStackTrace();
        //    }
        //    catch (IOException e)
        //    {
        //        // TODO Auto-generated catch block  
        //        e.printStackTrace();
        //    }
        //}  
    }
}
bubuko.com,布布扣

调用WCF验证登陆

bubuko.com,布布扣
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;
using System.ServiceModel;
using System.Threading;

namespace AndroidHotelServiceTest
{
    [Activity(Label = "登陆", MainLauncher = true)]
    public class ActivityLogin : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Login);
            // Create your application here

            Button button = FindViewById<Button>(Resource.Id.login);
            EditText txtUser = FindViewById<EditText>(Resource.Id.edtuser);
            EditText txtPassword = FindViewById<EditText>(Resource.Id.edtpsd);

            button.Click += delegate
            {
                Login(txtUser.Text, txtPassword.Text);
            };
        }

        public void Login(string user, string password)
        {
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            var timeout = new TimeSpan(0, 1, 0);
            binding.SendTimeout = timeout;
            binding.OpenTimeout = timeout;
            binding.ReceiveTimeout = timeout;

            IHotelService service = ChannelFactory<IHotelService>.CreateChannel(binding,
                new EndpointAddress("http://172.25.16.50:90/HotelService.svc"));
            string loginUser = service.Login(user, password);
            if (!string.IsNullOrEmpty(loginUser))
            {
                Intent intent = new Intent();
                intent.SetClass(this, typeof(ActivityHotel));
                intent.PutExtra("User", user);
                StartActivity(intent);
            }
        }
    }
}
bubuko.com,布布扣

总之,大概就这样了,页面布局什么的也没什么特别的。

Mono的简单例子,布布扣,bubuko.com

Mono的简单例子

原文:http://www.cnblogs.com/saaav/p/3585896.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!