1. 程式人生 > >C#跨平臺手機應用開發工具Xamarin嘗試 與Eclipse簡單對比

C#跨平臺手機應用開發工具Xamarin嘗試 與Eclipse簡單對比

Xamarin 支援使用C#開發基於Android、IOS、WindowsPhone應用開發,最大特點C#+跨平臺,詳細說明問度娘。

安裝 研究

我也下載了研究下,破解有時候有問題,一登陸就變成試用版,需要重新生成License,挺煩人,於是寫了段批處理,放入記事本中另存為crack.bat執行,則可再次生成License。

@Entitlements.bak為破解後生成的Entitlements的另存檔案,登陸後會被刪除的,所以我改了名儲存目錄中

copy "C:\ProgramData\Mono for Android\License\Entitlements.bak" "C:\ProgramData\Mono for Android\License\Entitlements" /Y;

copy "C:\ProgramData\MonoTouch\License\Entitlements.bak" "C:\ProgramData\MonoTouch\License\Entitlements" /Y;

@下面2行分別為Android和IOS開發生成License

"C:\Program Files\MSBuild\Xamarin\Android\mandroid.exe" -activate -activation-name=b4a -activation-phone=q -activation-company=b4a -activation-code=q -activation-email=q;

"C:\Program Files\MSBuild\Xamarin\iOS\mtouch.exe" -activate -activation-name=b4a -activation-phone=q -activation-company=b4a -activation-code=q -activation-email=q;

 本人電腦上裝了vs2010+vs2013,Xamarin在vs2010比較正常,在vs2013 update2 上開啟跨平臺應用(Android+IOS)時vs2013會無響應死掉,無法正常使用。通過以下步驟可以正常工作

1、開啟vs2013,工具--Xamarin Account 登陸 -->變為試用版
2、vs中開啟跨平臺解決方案
3、工具--Xamarin Account 登出LogOut
4、執行bat:自動複製破解後的Entitlements,自動生成License
5、工具 -- Xamarin Account 彈出登陸框 取消幾次-->變為企業版


現在可以正常編碼了,注意不要再登陸了。

使用

程式碼結構

vs2013 vs Eclipse 其實差不多的

Activity程式碼對比

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace HelloDroid
{
    [Activity(Label = "HelloDroid", MainLauncher = true, Icon = "
@drawable/icon")] public class MainActivity : Activity { int count = 1; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById<Button>(Resource.Id.MyButton); button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; } } }
View Code
package com.example.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
View Code

Layout佈局檔案對比

<?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">
    <Button
        android:id="@+id/MyButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/Hello" />
</LinearLayout>
xaml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.helloworld.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>
java xml

UI設計器

vs2013 支援拖控制元件

相關推薦

C#跨平臺手機應用開發工具Xamarin嘗試 Eclipse簡單對比

Xamarin 支援使用C#開發基於Android、IOS、WindowsPhone應用開發,最大特點C#+跨平臺,詳細說明問度娘。 安裝 研究 我也下載了研究下,破解有時候有問題,一登陸就變成試用版,需要重新生成License,挺煩人,於是寫了段批處理,放入記事本中另存為crack.bat執行,

使用Xamarin實現跨平臺移動應用開發(轉載)

def acs catch live make asset book -a 開發語言 剛在朋友圈看到張善友,轉發的一條分享“使用Xamarin實現跨平臺移動應用開發”,寫的確實很詳細得體,從收費到開源,這段時間xamarin受到不少質疑,如此文h

.Net語言 APP開發平臺——Smobiler學習日誌:在手機應用開發中如何實現跳轉地圖

demo hand 操作 窗體 clas com ps1 ati void 一、目標樣式 我們要實現上圖中的效果,需要如下的操作: 二、跳轉地圖代碼 VB: Private Sub Button1_Click(sender As Object, e As Ev

APP開發工具有哪些?免程式設計手機APP開發工具推薦

現代人最害怕什麼?一是手機沒電,二是手機沒網。一部手機解決所有問題,看新聞、玩遊戲、工作、學習、社交、購物等等。一夜之間掃碼支付、共享單車遍佈大街小巷,手機App對大家的生活形成了顛覆性影響。手機App開發自然成為創業者的一致選擇,那麼如何開發一款手機App呢?

Android手機應用開發------基礎的事件處理

實驗目的: 瞭解Android程式設計基礎。 熟悉Button、RadioButton、EditText等基本控制元件,能夠處理這些控制元件的基本事件。 學會彈出對話方塊,並定製對話方塊中的內容,能對確定和取消按鈕的事件做處理。 1.首先要知道在哪裡新

C# 移動手機應用】堅持肯定會有收穫的,只是時間問題,記錄點點滴滴,不斷提高,加油

部落格資料(ASP.NET MVC3 馬倫) http://www.cnblogs.com/fly_dragon/ http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/aspnet-mvc-1.html http:/

慧都獨家揭曉國外十大Mac和iOS應用開發工具

iOS應用開發工具選擇對了,距離應用的成功開發就近了一步。慧都為了幫助廣大的Mac和iOS開發者提高開發速度和質量,特地對目前市面上最為優秀的10款用於Mac和iOS的應用開發工具一一進行盤點。如果需要了解iOS應用開發控制元件的朋友請點這裡 iOS APP開發控制元件大盤

React Native跨平臺移動應用開發框架介紹

好久沒有來更新部落格了,給大家說聲抱歉,人一旦懶惰起來連自己都害怕。可能是因為一個人生活,少了很多動力吧。這都是在給自己找理由。我在不偷懶了。 最近我要入坑了,公司安排我要開始搞React

提高系統開發效率的“銀彈”——X-series視覺化大規模應用開發工具

子曰,知之為知之,不知為不知,是知也。 知道自己不知道也是一種知道,但作為開發人員,面對一個系統時,無論是開發新功能還是維護老系統,我們更多的是處在一種茫然無助,不知道如何下手,甚至不知道自己不知道的狀態中。雖然系統開發的實踐已經超過半個世紀了,在各個方面都取得了長足的進

Android手機應用開發(七) | 資料儲存(下)

實驗目的 學習SQLite資料庫的使用。 學習ContentProvider的使用。 複習Android介面程式設計。 這次大概是做一個有登入、註冊、評論、點贊等功能的小型APP 效果如下:(圖片比較大) 登入註冊頁面的切換 兩個按鈕用RadioB

C語言Windows程式開發—Windows視窗樣式常用控制元件樣式【第04天】

(一)Windows視窗(MDICLIENT)樣式介紹 1 /* Windows視窗樣式 */ 2 WS_BORDER //帶有邊框的視窗 3 WS_CAPTION //帶有標題欄的視窗 4 WS_CHILD

PyCharm(python的開發工具)的安裝破解

最近在進行python的入門學習,俗話說:工欲善其事,必先利其器。最初學習時,一款好的IDE(Integrated Development Environment)絕對是很重要的,有利於後期學習,並且今後工作中你最熟悉的IDE絕對是你入門時使用的IDE。 1.下載PyCharm安裝包。 地址:https:

以太坊應用開發介面的配置呼叫

以太坊應用開發介面指的是以太坊節點軟體提供的API介面,去中心化應用可以利用這個介面訪問以太坊上的智慧合約。以太坊應用開發介面採用JSON-PRC標準,通常是通過HTTP或websocket提供給應用程式呼叫。 JSON-RPC是一種無狀態輕量級遠端過程呼叫(RPC)協議,規範定義了

Unix下C程式記憶體洩漏檢測工具Valgrind安裝使用

                Valgrind是一款用於記憶體除錯、記憶體洩漏檢測以及效能分析的軟體開發工具。 Valgrind的最初作者是Julian Seward,他於2006年由於在開發Valgrind上的工作獲得了第二屆Google-O'Reilly開原始碼獎。 Valgrind遵守GNU通用公共許

針對《阿里巴巴Java開發手冊》研發的程式碼格式化工具 IDEA外掛Eclipse外掛使用指南

關於規約外掛的背景介紹,可見上篇文章:提升團隊研發效能利器,《阿里巴巴Java開發手冊》外掛全球首發(附外掛下載地址) 一、阿里巴巴Java開發手冊IDEA外掛使用指南 通過Jetbrains官方倉庫安裝 1. 開啟 Settings

開發工具Tomcat-安裝調整2

問題描述 在開發shop商城時,如果你使用了 maven+ tomcat7、tomcat8,有可能會遇到的問題是:找不到某些檔案    問題一: /target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such

開發工具Tomcat-安裝調整1

為Eclipse新增Tomcat 目標:為Eclipse新增多個Tomcat Eclipse 自帶 WTP,WTP 具有管理 Web應用伺服器功能,用於管理Tomcat。參考部落格: http://elf8848.iteye.com/blog/

C++跨平臺系列:解決STL的max()numeric_limits::max()和VC6 min/max 巨集衝突問題

多年以前,Microsoft 幹了一件比 #define N 3 還要蠢的蠢事,那就是在 <windows.h> 放入了 min/max 這兩個巨集命令(macros)。      #define max(a,b)            (((a) >

ArcGIS Android API 應用開發之圖形繪製長度面積量算

本文通過一個簡單的小Demo,向大家介紹如何使用ArcGIS Android API繪製點、線、面圖形,並且測量線的長度和多邊形的面積。 首先來看一下程式執行的效果圖: 實現上述功能,首先需要向地圖中新增一個GraphicsLayer,用來繪製Point、Poly

IntelliJ IDEA開發工具的學習個人總結

摘要:主要講的是個人在學習IntelliJ IDEA開發工具時總結的知識,本人其實之前用的開發工具一直都是myeclipse的相關版本,後來在某些論壇看到談論IntelliJ IDEA工具以及它的廣泛使用,才動了去了解與學習這個新的開發工具的想法。 一、Int