Android UI बनाने का आसान तरीका? [बन्द है]


82

क्या कोई उपकरण या वेबसाइट है जो मुझे ड्रैग-एंड-ड्रॉप का उपयोग करके Android एप्लिकेशन के लिए UI बनाने में मदद कर सकती है?

मुझे यह साइट मिली लेकिन यह जानना चाहते हैं कि क्या इसके लिए कोई अधिक स्थिर टूल या वेबसाइट है?


[अपडेट] एंड्रॉइड स्टूडियो बीटा में है लेकिन आशाजनक लगता है .. डेवलपर
android.com/sdk/installing/studio.html

जवाबों:


46

मुझे इस विषय पर थोड़ी वास्तविकता को थप्पड़ मारने की अनुमति दें। एंड्रॉइड के साथ काम करने के लिए कोई अच्छा GUI टूल नहीं है। यदि आप एक देसी एप्लिकेशन GUI वातावरण से आ रहे हैं, जैसे, डेल्फी, आप ADK संपादक और DroidDraw के साथ उपयोगकर्ता अनुभव में दुखी होने जा रहे हैं। मैंने एक उत्पादक तरीके से DroidDraw के साथ काम करने के लिए कई बार कोशिश की है, और मैं हमेशा XML को हाथ से रोल करने के लिए वापस जाता हूं।

ADK एक अच्छा प्रारंभिक बिंदु है, लेकिन इसका उपयोग करना आसान नहीं है। लेआउट के भीतर पोजिशनिंग घटक एक बुरा सपना है। DroidDraw ऐसा लगता है कि यह शानदार होगा, लेकिन मैं इसके साथ मौजूदा, कार्यात्मक XML लेआउट भी नहीं खोल सकता। यह किसी भी तरह लेआउट का आधा हिस्सा खो देता है और उन छवियों में नहीं खींच सकता है जो मैंने बटन, पृष्ठभूमि, आदि के लिए निर्दिष्ट किया है।

स्टार्क वास्तविकता यह है कि एंड्रॉइड डेवलपर स्पेस .NET और डेल्फी के विकास के लिए उपयोग किए जाने वाले समान, लचीले, आसानी से उपयोग होने वाले, मजबूत GUI डेवलपमेंट टूल की जरूरत है।


9
मैं सहमत हूँ। एंड्रॉइड में लेआउट के साथ काम करना गधे में एक पूर्ण दर्द है!
क्रिस बी

4
काश वे XML को पूरी तरह से सीएसएस के पक्ष में करते हैं जब यह स्टाइल की बात आती है।
WKS

पूरे एंड्रॉइड GUI ढांचे को तेजी से जाने की जरूरत है। यह सिर्फ प्रयोग करने योग्य नहीं है।
G_V

@G_V: यदि आप आईडीई के बजाय दृश्य नियंत्रणों का जिक्र कर रहे हैं, तो मैं अलग होने की भीख माँगूँगा। मैं कुछ वर्षों से इसका उपयोग कर रहा हूं, और मैं इसके साथ बहुत सहज हूं।
टॉड ग्रिग्बी

28

ग्रहण के लिए Android विकास उपकरण (ADT) प्लगइन में एंड्रॉइड एप्लिकेशन लेआउट फ़ाइलों के लिए एक दृश्य संपादक शामिल है:

http://developer.android.com/tools/help/adt.html


4
विशेष रूप से जो एंड्रॉइड एसडीके 1.5 के साथ आता है, यह ड्रॉयडड्रॉ से बेहतर है।
इसहाक वालेर

8
अगर किसी को भी यह पता करने में परेशानी हो रही है (मुझे पता है कि मैंने किया था), बस ग्रहण में अपना main.xml खोलें। यदि वह विफल रहता है, तो उस पर राइट-क्लिक करें, ओपन विथ> एंड्रॉइड लेआउट एडिटर। यदि वह विफल रहता है, तो आपका ADT सही से स्थापित नहीं हो सकता है।
MSpeed

12
ग्रहण में दृश्य संपादक बेकार है। यह वास्तव में उपयोगकर्ता को चीजों को ठीक से बिछाने की अनुमति देने में बाधा है।
इगोरगानापोलस्की

@IgorGanapolsky ग्रहण से बेहतर क्या है ?, आप क्या सुझाव देते हैं?
महमूद फ़रहट

1
मुझे व्यक्तिगत रूप से ADT का GUI बिल्डर आसान और न ही उपयोग करने के लिए सहज नहीं लगता है। गंभीरता से, वह बिल्डर Google को खराब दिखता है।
शिउमिंग

8

सबसे आसान तरीका है REBOL 3:

http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick25-Aug-2013/10:08:38-7:00&archiveflag=new

यहां GUIs के साथ 10 पूरी तरह कार्यात्मक डेमो प्रोग्राम हैं। ये एंड्रॉइड और डेस्कटॉप ओएस पर चलते हैं , ठीक उसी कोड का उपयोग करते हुए:

REBOL []
load-gui
view [text "Hello World!"]


REBOL [title: "Tiny Note Editor"]
do %r3-gui.r3  ; download this file manually or just use load-gui as above
view [
    a1: area
    button "Save" on-action [write %notes.txt get-face a1]
    button "Load" on-action [set-face a1 to-string read %notes.txt]
]


REBOL [title: "Data Entry to CSV File"]
do %r3-gui.r3
view [
    text "First Name:"
    f1: field
    text "Last Name:"
    f2: field
    button "Submit" on-action [
        write/append %cntcts.txt rejoin [
            mold get-face f1 " " mold get-face f2 newline
        ]
        request "" "Saved"
    ]
    a1: area
    button "Load" on-action [set-face a1 to-string read %cntcts.txt]
]


REBOL [title: "Text File Reader (How to use a text list file selector)"]
do %r3-gui.r3
view [
    a1: area
    button "Load" on-action [
        files: read %./
        view/modal [
            text "File Name:"
            t2: text-list files on-action [
                set-face a1 to-string read(to-file pick files get-face t2)
                unview
            ]
        ]
    ]
]


REBOL [title: "List-View (Grid) Example"]
do %r3-gui.r3
view [
    text-table ["1" 200 "2" 100 "3"][
        ["asdf" "a" "4"]
        ["sdfg" "b" "3"]
        ["dfgh" "c" "2"]
        ["fghj" "d" "1"]
    ] 
]


REBOL [title: "Calculator"]
do %r3-gui.r3
stylize [
    btn: button [
        facets: [init-size: 50x50]
        actors: [on-action:[set-face f join get-face f get-face face]]
    ]
]
view [
    hgroup [
        f: field return
        btn "1"  btn "2"  btn "3"  btn " + "  return
        btn "4"  btn "5"  btn "6"  btn " - "  return
        btn "7"  btn "8"  btn "9"  btn " * "  return
        btn "0"  btn "."  btn " / "   btn "=" on-action [
            attempt [set-face f form do get-face f]
        ]
    ]
]


REBOL [title: "Sliding Tile Puzzle"]
do %r3-gui.r3
stylize [
    p: button [
        facets: [init-size: 60x60  max-size: 60x60]
        actors: [
            on-action: [
                t: face/gob/offset
                face/gob/offset: x/gob/offset
                x/gob/offset: t
            ]
        ]
    ]
]
view/options [
    hgroup [ 
        p "8"   p "7"   p "6"   return
        p "5"   p "4"   p "3"   return
        p "2"   p "1"   x: box 60x60 white
    ]
] [bg-color: white]


REBOL [title: "Math Test"]
do %r3-gui.r3
random/seed now
x: does [rejoin [random 10 " + " random 20]]
view [
    f1: field (x)
    text "Answer:"
    f2: field on-action [
        either (get-face f2) = (form do get-face f1) [
            request "Yes!" "Yes!"][request "No!" "No!"
        ]
        set-face f1 x
        set-face f2 ""
        focus f2
    ]
]


REBOL [title: "Minimal Cash Register"]
do %r3-gui.r3
stylize [fld: field [init-size: 80]]   
view [
    hgroup [
        text "Cashier:"   cashier: fld 
        text "Item:"      item: fld 
        text "Price:"     price: fld on-action [
            if error? try [to-money get-face price] [
                request "Error" "Price error" 
                return none
            ]
            set-face a rejoin [
                get-face a mold get-face item tab get-face price newline
            ]
            set-face item copy "" set-face price copy ""
            sum: 0
            foreach [item price] load get-face a [
                sum: sum + to-money price
            ]
            set-face subtotal form sum
            set-face tax form sum * .06
            set-face total form sum * 1.06 
            focus item
        ]
        return
        a: area 600x300
        return
        text "Subtotal:"   subtotal: fld 
        text "Tax:"        tax: fld 
        text "Total:"      total: fld
        button "Save" on-action [
            items: replace/all (mold load get-face a) newline " "
            write/append %sales.txt rejoin [
                items newline get-face cashier newline now/date newline
            ]
            set-face item copy "" set-face price copy "" 
            set-face a copy ""    set-face subtotal copy ""
            set-face tax copy "" set-face total copy ""
        ]
    ]
]


REBOL [title: "Requestors"]
do %r3-gui.r3
x: request/ask "Question" "Do you like this?."
either x = false [print "No!"] [print "Yes!"]
x: request/custom "" "Do you like this?" ["Yay" "Boo"]
either x = false [print "Boo!"] [print "Yay!"]
view [button "Click me" on-action[request "Ok" "You clicked the button."]]

1
+1 नाइस, मेरा मतलब व्यंग्यात्मक नहीं है, लेकिन ऐसा लगता है कि मुझे इस कोड को जानने के लिए एक और मास्टर डिग्री की आवश्यकता है। सरल लगता है, लेकिन इससे मुझे यह एहसास हुआ कि मैं यह सब विधानसभा में लिख रहा हूं?
नियॉन वॉर

7

DroidDraw बहुत उपयोगी लगता है। इसमें एक साफ और आसान इंटरफ़ेस है और यह एक फ्रीवेयर है। विंडोज, लिनक्स और मैक ओएस एक्स के लिए उपलब्ध है। मैं एक दान की सलाह देता हूं।

यदि आपको यह पसंद नहीं है, तो आपको इस साइट पर एक नज़र डालनी चाहिए । कुछ अन्य विकल्प और अन्य उपयोगी उपकरण हैं।


ऑफ़लाइन गैर-स्थिर guis के साथ मूल Android विकास के लिए कुछ भी नहीं करता है।
G_V

ऐसा लगता है कि DroidDraw मर चुका है। लिंक सक्रिय है लेकिन यह डोमेन के होस्ट वेबपेज को दिखाता है। इसका रिक्त स्थान ~
नियॉन वॉर

6

तुम भी कोशिश कर सकते हैं इस । अगर आपको मॉडल व्यू कंट्रोलर कॉन्सेप्ट और तेज़ प्रोटोटाइप पसंद है तो मैं कहूँगा कि आप इसके पीछे के विचार को पसंद करेंगे;)

SimpleUi (https://github.com/bitstars/SimpleUi)

उत्पन्न UI (नीचे कोड):

यहां छवि विवरण दर्ज करें

इस Android UI को बनाने के लिए पूरा कोड :

यहां छवि विवरण दर्ज करें

मैं वास्तविक अनुप्रयोगों में इसका उपयोग करता हूं, न केवल तेजी से प्रोटोटाइप या संवादों और इसके वर्षों में अच्छी तरह से परीक्षण किए जाने के लिए। अवधारणा मॉडल दृश्य नियंत्रण सिद्धांत पर आधारित है और अधिकांश सामान्य परिदृश्यों के लिए ऐसे घटकों का उपयोग करने के लिए तैयार हैं जो स्वचालित रूप से किसी भी उपकरण पर सही लगते हैं। मैं नहीं कहता कि इसे किसी भी यूआई के लिए इस्तेमाल किया जाना चाहिए (उदाहरण के लिए साक्षात्कार हाथ से किया जाना चाहिए), लेकिन अधिकांश उपयोगिताओं के लिए यह काफी आसान हो सकता है;) ओह और इसे कांटा करने के लिए स्वतंत्र महसूस करें और इसे आगे सुधारें यदि आप चाहते हैं।


4

Droid निकासी अच्छी है। मैं लंबे समय से इसका उपयोग कर रहा हूं और अभी तक किसी भी मुद्दे का सामना नहीं किया है (हालांकि यह कभी-कभी दुर्घटनाग्रस्त होता है, लेकिन यह ठीक है)


3
"यह कभी-कभी दुर्घटनाग्रस्त हो जाता है, लेकिन यह ठीक है" - यह मेरा मंत्र भी है;)
डिस्कोकोडिमेक्ट

"यह कभी-कभी दुर्घटनाग्रस्त हो जाता है, लेकिन ठीक है" - योग्य। इससे मुझे वाकई हंसी आई: D
mr5


2

यह एक अधिक आशाजनक समाधान की तरह दिखता है: इंटेलीजे एंड्रॉइड यूआई डिजाइनर।

http://blogs.jetbrains.com/idea/2012/06/android-ui-designer-coming-in-intellij-idea-12/


यह समाधान एक "फ्री बीयर" एक btw
cmroanirgo

1
यह सामुदायिक संस्करण में "फ्री बीयर" है।
अलमक्लावी

1

http://www.appinventor.mit.edu/

एक ऐप आविष्कारक ऐप बनाना आपके ब्राउज़र में शुरू होता है, जहाँ आप डिज़ाइन करते हैं कि ऐप कैसा दिखेगा। फिर, पहेली टुकड़ों को एक साथ फिट करने की तरह, आप अपने ऐप के व्यवहार को सेट करते हैं। सभी समय, आपके कंप्यूटर और आपके फोन के बीच एक लाइव कनेक्शन के माध्यम से, आपका ऐप आपके फ़ोन पर दिखाई देता है।


1

यह एक पुराना प्रश्न है, दुर्भाग्य से कई वर्षों के लिए भी एक अच्छा समाधान नहीं है। मैंने अभी iOS (Obj C) से Android के लिए एक ऐप पोर्ट किया है। सबसे बड़ी समस्या बैक एंड कोड नहीं थी (कई / अधिकांश लोगों के लिए, यदि आप ओबज सी में कोड कर सकते हैं तो आप जावा में कोड कर सकते हैं) लेकिन देशी इंटरफेस को पोर्ट कर सकते हैं। टॉड ने ऊपर कहा, यूआई लेआउट अभी भी एक पूर्ण दर्द है। मेरे अनुभव में, एक विश्वसनीय UI विकसित करने के लिए सबसे तेज़ वाट जो कई प्रारूपों आदि का समर्थन करता है, अच्छे 'ol HTML' में है।


0

मैंने पाया है कि का उपयोग कर http://pencil.evolus.vn/ एक साथ से पेंसिल स्टेंसिल साथ http://code.google.com/p/android-ui-utils/ परियोजना असाधारण रूप से अच्छा काम करता है। उपयोग करने के लिए बहुत ही सरल, विस्तृत डिजाइनों का मज़ाक उड़ाना बहुत आसान है


शायद मुझे कुछ याद आ रहा है लेकिन, जहाँ तक मैं देख सकता हूँ, आप केवल एक नेक्सस पर सामान रख सकते हैं और मुझे यकीन नहीं है कि xml कोड main.xml के लिए कैसे प्राप्त करें
the_new_mr

0

यह नहीं कहा जा रहा है कि यह सबसे अच्छा तरीका है, लेकिन इसके अच्छे विकल्प हैं। Noubitas एक ऐसा प्रोजेक्ट है जो Qt को android में पोर्ट करता है। यह अभी भी अपने शुरुआती चरण में है और इसमें पूर्ण विशेषताओं का अभाव है, लेकिन उन लोगों के लिए जो Qt जानते हैं और Android UI के लिए अच्छे उपकरणों की भयानक कमी से परेशान नहीं हैं, कम से कम इसका उपयोग करने पर विचार करना उचित होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.