一直对移动端开发有些兴趣,但苦于不会Java,好在终于找到了个好玩的。
安装方法略了,先建立一个玩玩
不多说,贴代码了,需要注意的只有些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; } } } } |
参考了不少网上的代码
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();
// }
//}
}
}
调用WCF验证登陆
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); } } } }
总之,大概就这样了,页面布局什么的也没什么特别的。
原文:http://www.cnblogs.com/saaav/p/3585896.html