溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iOS開(kāi)發(fā)和Android開(kāi)發(fā)的相似之處

發(fā)布時(shí)間:2020-07-10 09:09:13 來(lái)源:網(wǎng)絡(luò) 閱讀:1209 作者:yunsankai 欄目:移動(dòng)開(kāi)發(fā)

    最近比較閑,以前也有相對(duì)安卓了解的想法,所以最近看了點(diǎn)關(guān)于安卓的東西,發(fā)現(xiàn)只要iOS以后,安卓開(kāi)發(fā)學(xué)的也會(huì)比較快。

                                         iOS開(kāi)發(fā)和Android開(kāi)發(fā)的相似之處

    安卓開(kāi)發(fā)教程比較多,開(kāi)發(fā)環(huán)境在mac上配置也比較簡(jiǎn)單,所以無(wú)論安裝eclipse搞開(kāi)發(fā)還是Android studio都比較容易,無(wú)非是JDK+ADT,建議安裝個(gè)GM安卓模擬器,速度比自帶模擬器快多了。

        

iOS開(kāi)發(fā)和Android開(kāi)發(fā)的相似之處

                        拖控件跟storyboard一樣一樣的


    接下來(lái)就是第一步,hello world,使用Android studio后,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)activity,類似iOS的根視圖控制器。如果想迅速看到界面效果,就來(lái)學(xué)習(xí)相當(dāng)于UIKit框架的控件吧:andriod.widget(包含Button,TextView,EditView,ImageView,ScrollView)。

                


    安卓的布局大部分都在xml文件里,要是在代碼里面適配,感覺(jué)很麻煩,不像iOS一樣,安卓一般不使用絕對(duì)坐標(biāo),所以安卓開(kāi)發(fā)需要先學(xué)布局(LinearLayout,RelativeLayout等),感覺(jué)跟iOS的xib一樣一樣的,而且都可以拖控件。xib也是xml的結(jié)構(gòu),難道靈感都來(lái)自HTML,安卓的最像。


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


<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/newbutton"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_marginRight="43dp"
    android:layout_marginEnd="43dp"
    android:layout_marginBottom="41dp"
    android:onClick="onClick"/>

    上面xml代碼是安卓的布局,感覺(jué)一看就會(huì)明白干啥的,所以搞iOS的搞安卓真的很容易。


    做iOS項(xiàng)目時(shí)感覺(jué)iOS最重要的控件沒(méi)有之一就是tableview,安卓和它對(duì)應(yīng)的是ListView,很有意思的是初學(xué)者都會(huì)經(jīng)常出現(xiàn)重用(當(dāng)然重用的也比較類似,就是如果為空了創(chuàng)建一個(gè))的問(wèn)題。與UIKit框架中的UICollectionView相似的控件是GirdView。可能是GirdView不太熟悉,感覺(jué)collectionView比GirdView強(qiáng)大太多了,簡(jiǎn)直能各種布局。


        

iOS開(kāi)發(fā)和Android開(kāi)發(fā)的相似之處

    

     語(yǔ)法方面的就是java和oc了,java是初學(xué)的可能理解上有些偏差。java中的接口interface和oc中的代理delegate比較類似,接口和代理都是寫在繼承后面,而且需要實(shí)現(xiàn)接口和代理中的方法。主要都是用于事件或者參數(shù)傳遞的。java中的匿名類結(jié)構(gòu)和oc中的blcok比較類似,但是感覺(jué)差別有點(diǎn)大,有點(diǎn)像一個(gè)匿名類包含多個(gè)blcok一樣。但是至今不知道類似oc的單個(gè)blcok如何實(shí)現(xiàn),以后肯定要補(bǔ)習(xí)的。


    開(kāi)發(fā)工具來(lái)講都差不多,斷點(diǎn)調(diào)試等都比較類似。吐槽一下安卓:Android控制臺(tái)輸出太多跟本程序無(wú)關(guān)的東西了,還得過(guò)濾來(lái)解決。就模擬器來(lái)說(shuō),安卓簡(jiǎn)直慢的要死,不過(guò)下載其他的比如GM模擬器就可以解決。在開(kāi)發(fā)方面例如給view等添加手勢(shì),安卓簡(jiǎn)直麻煩的要死,iOS可以秒它幾條街。還有java的數(shù)組使用太麻煩,Array、ArrayList、Vector都不知道用哪個(gè)了,oc一個(gè)NSArray全搞定。(以上吐槽可能是沒(méi)有用對(duì)方法或者沒(méi)用習(xí)慣,只是使用中感覺(jué)有些別扭的)。


    還有好多比較類似的東西,比如Activity和UIViewController都是用棧管理的都有生命周期、字符串提供的各種方法比較類等,因?yàn)槎紝儆谇岸怂员容^類似的東西多也正常。目前Android開(kāi)發(fā)只看了一小部分(數(shù)據(jù)持久化、網(wǎng)絡(luò)請(qǐng)求、webview等),還沒(méi)進(jìn)行實(shí)戰(zhàn),所以知道的不多,以后學(xué)習(xí)了還會(huì)來(lái)分享。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI