พัฒนาแอป Android โดยใช้ C #


105

เป็นไปได้ไหมที่จะเขียนแอพ android โดยใช้ C #? มี API หรืออะไร? ฟรีสำหรับการพัฒนาส่วนบุคคลและเชิงพาณิชย์หรือไม่?

ฉันต้องติดตั้งอะไรบ้างเพื่อให้มีเทมเพลตโครงการ Android ใน Visual Studio ของฉัน


ไม่แน่ใจเกี่ยวกับวิธีใดที่สามารถใช้ C # ได้ แต่คุณสามารถลองใช้ HTML5 ได้ ..... (แต่มีข้อ จำกัด บางประการ)
Dheeresh Singh

C # คล้ายกับวัตถุประสงค์ C มากกว่า java iPhone ใช้รุ่นก่อน Android ใช้รุ่นหลังดังนั้นจึงควรลองใช้การพัฒนา iPhone มากกว่าการพัฒนา Android หากคุณรู้จัก C # อยู่แล้ว
Todd Davies

83
@ToddDavies ฉันไม่เห็นด้วยอย่างสิ้นเชิงและบอกว่า Java และ C # เป็นภาษาที่คล้ายกันมากที่สุด Infact ฉันจะบอกว่า Objective C ไม่ได้สะท้อนถึง C # เลย
Darren

แต่ละคนมีความคิดเห็นของตัวเอง แต่ฉันแน่ใจว่า Java เป็น Objective C เพราะฉันเป็นลูกพี่ลูกน้องคนที่ห้าที่เกลียดที่สุดของฉัน: P
Todd Davies

1
+1 @DarrenDavies การเชื่อมโยงแบบ Mono สำหรับ iOS พยายามที่จะเป็นตัวแทนของ Objective-C ที่เทียบเท่าในบางแห่ง (เช่นโปรโตคอล) แต่ตรงไปตรงมา 1-1 เทียบกับ Android
Danyal Aytekin

คำตอบ:


62

คุณสามารถใช้Mono for Android:

http://xamarin.com/monoforandroid

อีกทางเลือกหนึ่งคือdot42:

http://www.dot42.com/

dot42 มอบใบอนุญาตชุมชนฟรีและใบอนุญาตมืออาชีพในราคา $ 399


โปรดดูความคิดเห็นที่ฉันเพิ่มในการตอบกลับของ Seva Alekseyev
CoolArchTek

@CoolArchTek - คุณสามารถดาวน์โหลด Evauluation ได้ฟรี แต่ Mono สำหรับ Android Professional คือ $ 399 และ Enterprise คือ $ 999 store.xamarin.com
Darren

13
การเขียนแอพสองสามตัวสำหรับตัวคุณเองและเพื่อนของคุณ $ 399 นั้นเป็นสิ่งที่ห้ามไม่ได้ ฉันหวังว่าจะมีบางอย่างอยู่ระหว่างนั้น เมื่อพิจารณาว่า Android + Eclipse นั้นฟรีและ Visual Studio Express นั้นฟรี xamarin ก็พลาดไปมากเพราะราคาของพวกเขา
cmroanirgo

1
ตอนนี้ @cmroanirgo Xamarin รองรับรูปแบบการสมัครสมาชิกพร้อมตัวเลือกฟรีคุณไม่จำเป็นต้องซื้อ Mono สำหรับ Android อีกต่อไป
James

4
http://www.dot42.com/มีสิ่งนี้บนเว็บไซต์ของพวกเขาdot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.เมื่อ 29/05/2015 พวกเขาก็มีการดาวน์โหลดแหล่งที่มาและGitHub
JabberwockyDecompiler

79

เมื่อใช้ Mono แล้วฉันไม่อยากแนะนำ รันไทม์แบบโมโนมาพร้อมกับแอปของคุณดังนั้น APK ของคุณจึงมีขนาดใหญ่กว่า 6MB วิธีการแก้ปัญหาที่ดีกว่าการเขียนโปรแกรมสำหรับ C # จะdot42 ทั้ง Mono และ dot42 เป็นสินค้าลิขสิทธิ์

โดยส่วนตัวแล้วฉันอยากจะแนะนำให้ใช้ Java กับสภาพแวดล้อมการพัฒนาIntelliJ IDEA ฉันพูดสิ่งนี้ด้วยเหตุผล 3 ประการ:

  1. มีโค้ด Java มากมายสำหรับ Android อยู่แล้ว ทำตัวเป็นที่โปรดปรานและอย่าประดิษฐ์วงล้อขึ้นมาใหม่
  2. IDEA มีความคล้ายคลึงกับ Visual Studio มากพอที่จะเรียนรู้ได้ มันสร้างโดย JetBrains และความรู้สึกภายในดีกว่า VS.
  3. IDEA ฟรี

ฉันเป็นโปรแกรมเมอร์ C # มา 12 ปีแล้วและเริ่มพัฒนาสำหรับ Android ด้วย C # แต่จบลงด้วยการกระโดดเรือและไปเส้นทาง Java ภาษามีความคล้ายคลึงกันมากคุณจะไม่สังเกตเห็นช่วงการเรียนรู้มากนัก

ปล. หากคุณต้องการใช้ LINQ การทำให้เป็นอนุกรมและคุณสมบัติอื่น ๆ ที่มีประโยชน์ซึ่งมาจากภาษา C # คุณเพียงแค่มองหาไลบรารี java ที่เทียบเท่า


4
ขอบคุณประสบการณ์ของคุณดูเหมือนจะมีประโยชน์
nightcoder

คำตอบที่ดี แต่จะทำอย่างไรถ้าแอปพลิเคชัน Android มี C # เป็นแบ็กเอนด์
Krupal Shah

จะเป็นอย่างไรหากต้องการสร้างแอปสำหรับเว็บแอปพลิเคชันที่สร้างด้วย Web API
renakre

ขอบคุณหมายความว่าถ้าเราทำงานกับ Android โดยใช้ java ฉันจะได้รับบล็อกและเนื้อหาเพิ่มเติมจาก googling เริ่มต้นเท่านั้นที่จะได้ยินในภายหลังทุกอย่างดี ขอบคุณฉันเป็นผู้พัฒนา C # แต่ฉันจะเริ่มแอพด้วยการใช้ java
mohd mazhar khan

21

นี่คือสิ่งใหม่ (หมายเหตุ: ในขั้นตอนการแสดงตัวอย่างเทคโนโลยี): http://www.dot42.com

โดยพื้นฐานแล้วเป็น Add-in ของ Visual Studio ที่ให้คุณรวบรวมรหัส C # ของคุณไปยังรหัส DEX โดยตรง ซึ่งหมายความว่าไม่มีข้อกำหนดรันไทม์เช่น Mono

การเปิดเผยข้อมูล: ฉันทำงานให้กับ บริษัท นี้


อัปเดต: ตอนนี้แหล่งที่มาทั้งหมดอยู่ที่https://github.com/dot42


6
ฉันไม่คิดว่านี่เป็นสถานที่ที่เหมาะสมในการพูดคุยเรื่องราคา แต่อย่าลืมเปรียบเทียบใบอนุญาตที่ถูกต้อง ฉันต้องการทราบว่า dot42 มาพร้อมกับใบอนุญาตชุมชนฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์
Frank Rem

4
แฟรงค์คุณพูดถูกจริงๆและฉันต้องยอมรับว่าฉันไม่ได้สังเกตเห็นใบอนุญาตของชุมชน
Dave81

1
ดี. ความคิดเห็นใด ๆ หากคุณจะพิจารณาสร้างรหัส c สำหรับ ios?
citykid

2
นี่มันเจ๋งมาก! มีแผนในการออกแบบ UI หรือไม่? หรือฉันสามารถใช้เครื่องมืออื่นเพื่อทำสิ่งนี้ได้หรือไม่? งานดีมาก!
Piotr Kula

2
จริงๆแล้วไม่มีแผนดังกล่าวในขณะนี้ คุณใช้ Android Studio ในการออกแบบ UI ได้ จากนั้นคุณสามารถนำเข้าทรัพยากรเหล่านั้นใน Visual Studio
Frank Rem

8

Mono Touch คือคำตอบ

http://xamarin.com/monotouch


ฟรีสำหรับการพัฒนาเชิงพาณิชย์หรือไม่? ฉันต้องการพัฒนาแอปสำหรับ บริษัท (ผู้ใช้)
CoolArchTek

พวกเขามีเพื่อให้คุณสามารถใช้งานได้ฟรีมากมาย แต่มีค่าธรรมเนียมใบอนุญาตของ iirc บางประเภท
FoamyGuy

โมโนเป็นวิธีเดียวหรือไม่? มีอ็อพชันโอเพนซอร์ซที่พร้อมใช้งานหรือไม่?
CoolArchTek

5
โมโนเป็นโอเพ่นซอร์ส IIRC นอกจากนี้คุณตระหนักถึงความพยายามในการย้ายรันไทม์ C # (CLR) ทั้งหมดไปยังแพลตฟอร์มอื่นโดยได้รับการสนับสนุนเพียงเล็กน้อยจาก Microsoft หรือไม่? เป็นเรื่องมหัศจรรย์ที่โมโนมีอยู่จริง Google และ MSFT เป็นคู่แข่งโดยตรงในพื้นที่มือถือ C # เป็นเทคโนโลยีที่ได้รับการสนับสนุนจาก MSFT ไปคิด
Seva Alekseyev

6

ฉันใช้เอนจิ้นเกม Unity 3D เพื่อพัฒนาเกมสำหรับพีซีและโทรศัพท์มือถือ เราใช้ C # ในการพัฒนานี้


1
ลิงก์ไปยัง Unity 3D Game Engine เวอร์ชันใดที่คุณใช้จะดี
Jesse Chisholm


3

มีคอมไพเลอร์ C # สำหรับ Android อยู่ แม้ว่าฉันจะชอบพัฒนาแอพ Android ใน Java แต่ฉันก็แนะนำ MonoForAndroid ได้ ดูข้อมูลเพิ่มเติมได้ที่http://xamarin.com/monoforandroid

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.