1. 想改行做編程,要學哪些語言,有沒有免費網站或者app的,謝謝
關於自學,以下這篇文章與你分享
選擇自己喜歡的方面入門:
軟體開發過程中根據不同的需要,包含了多個工作任務和多種工作流程,因此也產生了不同的工作崗位,前端工程師:android工程師、IOS工程師、Web前端工程師,後端工程師:java後端工程師、Python後端工程師、PHP工程師,Linux運維工程師,現在還流行著大數據工程師、AI(人工智慧)工程師,等等。當然,在人員缺少的情況下有的人卻擔任了好幾種身份,但是在大公司裡面,分工一般是明確的。
那怎麼開始入門學習呢?首先,選擇自己喜歡的語言,選擇自己方向,朝著那麼目標學習。可是我都沒了解過,我怎麼知道什麼編程語言適合我?這就需要你事先了解一下了,既然打算自學編程,那你應該查閱一些資料了解一下,什麼語言適合來做什麼,自己又應該學習什麼語言。當然,我們的長遠的目標是精通一個技術方向,但是其他方向最好是什麼都要會。
所以,我建議你選擇自己喜歡的方向,容易的入門的方向進行入門學習。可是有的人說現在很火的不是大數據、人工智慧嗎?月薪兩三萬、四五萬的。但是你要知道,對於一個任何基礎都沒有的普通初學者,需要花多少功夫才能達到大數據工程師、AI工程師的水平,所以學習基礎是十分重要的,至少得保證你有一樣技能了,能保證自己能勝任某項工作之後,再朝著更高得層次努力,也許那樣會更好。
我當年選擇Android作為入門學習的方向,原因是我挺喜歡Android。我開學習Android的時候是在2015年,那時候很多人說Android現在飽和了,學習Android會找不到工作。但是我並沒有放棄學習Android,我想,如果有時間去擔心以後找不到工作,為什麼不靜下心來好好學,只要學好了為什麼還要怕找不到工作,為什麼自己不可以作為那些學習Android中的佼佼者,你可以比別人笨,但是你也可以比別人努力,況且,又有多少人真正的承認自己比別人笨呢?現在再回想自己當年學習Android的時候,每天晚上堅持觀看視頻,記筆記,先學Java基礎,後是Android基礎,就這樣堅持好幾個月。挺辛苦,可是後來收獲的是開心的。
當然,你有很多選擇。如果你喜歡APP開發,那麼就是Android和IOS了,而Android學習成本比IOS學習成本低,原因就是如果你要做IOS開發你需要mac電腦,Android開發使用普通的Windows就可以,進一步學習的話你可以安裝一個Linux操作系統,再加上一個幾百元的Android手機就可以學習了,等你掌握Android開發後再學習IOS也不遲。如果你喜歡後端開發,我建議你選擇Java、Python、PHP這些語言。假如你之前沒有接觸過編程,只要認真學,這些語言挺容易入門的,如果有一點C語言基礎那更好。而如果你喜歡Web 前端,那你就好好學習H5+CSS3+JavaScript,一個合格web前端工程師除了能把網站做出漂亮的特效,還要懂得後端的知識,這時可以學一學Node.js。雖然開發技術分類很多,但是這些技術都是相通的,有了一門技術的基礎之後,再學習其它技術就輕而易舉了。而在初學者階段,你需要選擇一門技術進行系統的學習,同時不要忘記多了解一些其他的技術。
2. 如何自學 Android 編程
我想我是有資格來回答你的問題的,我算是徹底的從編程白痴一步步學習過來的。
之前寫了一篇博客 Android學習之路 被瘋狂轉發,帶起了一陣學習Android的大風,我不曉得具體影響了多少人,但是這篇博客已經成為Android新手學習必備的資料。很多人問我是怎麼一路過來的,姑且借這個機會說說我的故事吧。
===============================
內容有點長,大家姑且當做勵志小說來看吧,對這些經歷不感興趣的可以直接看最後「如何自學Android」部分
===============================
大學
大學上的是全國二流本科,專業主要就是數學專業。大學的總結就是:逃課、掛科、籃球、泡妞、Dota。
目前為止可以說我的大學是我這輩子過的最爽的時期,大一開始就逃課,好點的理由是我對大學那些課程完全沒興趣,其實本質上是因為高考太壓抑了,大學之後沒人管了,開始無止境的放縱自己。毫不誇張的說大學四年上的課應該沒有逃的課多。逃課最直接的影響就是掛科,從大一掛到大三,專業課數學分析特么每年都掛,後來聽說補考考不過要重修,還得交錢,這特么讓家裡人知道還了得,於是發憤圖強,最終補考每門都以優秀的成績過了。
相信英語四級應該是大學必考吧,英語四級這輩子我都忘不了,我考了三次才過,每次考試說是裸考都褒獎了,大學英語全是吃高中的底子,第一次沒過,少了十幾分,第二次他媽睡覺睡過了,就沒有去考,現在想想當時的自己真是腦殘,終於在第三次勉強過了。現在想想幸虧當時過了,之後畢業找工作時英語四級是最低要求。做編程這行,英語真的挺重要的,大學的時候一定得想辦法把四級給過了。
現在想想大學和編程唯一相關的課程就是C語言了,但是對於我們專業是屬於全校公開課,最終這門課雖然考過了,但是連i++ 和++i我都弄不明白,可想而知你們應該能猜到我是怎麼過的。
由於高中就開始打籃球,大學時毫無疑問就入了學院籃球隊,而且擔任隊長,所以大一、大二過來基本就是一大半是在籃球場度過的,也是因為籃球征服了我現在的老婆。大二下學期周圍的人都在玩Dota,於是也開始了游戲之路,籃球也基本放棄了,那時候玩的瘋狂,記得最長的一次和同學在網吧連續包夜兩星期,不過白天是回來睡覺的,不然估計早猝死在網吧了。
轉眼間大四了,這一年終於在我老婆的監督下不再掛科了,而且在畢業前的最後一次評比竟然拿到了三等獎學金,真是受寵若驚啊,後來錢也被狐朋狗友們拿去腐敗了。周圍的同學都在准備考研,我卻唯獨對考研沒興趣,自始至終都沒有為考研花過一分錢,買過一本書。後來證明我的決定是正確的,周圍的小夥伴放棄的放棄,考不上的考不上,考上的後面也沒見混的有多好,當然如果能考上好的學校還是很有幫助的。
畢業
又一轉眼畢業了,去參加了學校幾個招聘會也是醉了,全是沒聽過的小企業,一去參觀都是各種廠房,根本不需要任何學歷,是個人出點力都可以乾的那種,要麼就是各種電話銷售。。。那時候真的有點急了,大學四年,畢業一份像樣的工作都找不到,回去怎麼面對鄉親父老。
三月份的時候一家IT測試培訓機構來做宣講會(具體什麼名字我就不說了,免得認為是廣告),聽完之後就說培訓之後包就業,培訓地點在大上海的最中心,當然是自費,但是可以工作之後分期付款。那時候哪知道測試是幹嘛的,更不懂IT是幹嘛的,回來就查了下這個機構確實存在,網站也有的,知道不是騙子遍決定來上海試一試。當時下定決定要來上海培訓之後,幾個狐朋狗友毫不猶豫的跟著我一起來了,總共應該是7個人,決定之後沒幾天便毅然而然的背著大包小包來到上海,我們之中一部分是一次性付費,另一部分是分期。後來證明我們當時來上海的決定是正確的。
培訓之路
這里並不是宣傳大家去培訓,只不過被工作所逼,學校不好,大學也沒學啥真本事,稍微有點出路都不會去培訓!
培訓的日子還是蠻輕松的,一周就上四天課,朝九晚五,畢竟大家家庭都不富裕,家裡辛苦攻讀了四年大學,畢業還要再交錢去培訓,打心裡大家都很愧疚。一開始卯足了勁要好好學習,但是堅持了沒多久就有點放鬆了,但是好歹也是都有學習的。
培訓的時候算是接觸了點編程吧,課程有C語言、Oracle、Linux,然後其他都是軟體測試的理論,其實都是非常基礎的東西,算是帶你入行吧,Orace就學習一些基本SQL語句,Linux就學了幾個命令,但是起碼知道原來電腦可以干這么多事,之前還一直以為電腦就是用來看電影、聊天、打游戲的呢。現在回頭看給我一周的時間我可以看完整個培訓課程,但是當時的培訓周期要四個月。
第一份工作--SunNet
7月份拿到畢業證書就直接來了上海,四個月的時間對於我來說實在太漫長了,我等不及了,於是在課程還有最後一個月的時候我提前出來單獨找工作,當時培訓老師說工作後的工資大多是3500左右,我覺得我學的比別人好,所以必須要比別人高,做好了長期准備面試的過程。沒想到面試第一家就直接錄取了(後來才知道原來是公司的測試懷孕在家,急需測試),公司名叫SunNet,中文名山諾,工資4000。收到offer的時候欣喜若狂!
真正接觸編程
之後便在SunNet正式入職,工作就是測試,但是就在SunNet我才真正的接觸了什麼是編程。SunNet是一家小型外企,總部在休斯頓,上海這邊主要是研發部。研發人員總共不到10人,主要業務是以web為主,使用語言是.NET。當然我的職責就是web測試了,工作倒是沒什麼難點,主要測試就我一個,一進來就有好幾個項目等著我測試,還好自己是數學專業,邏輯思維能力還不錯,加加班總算能按時完成任務。
三個月的時間順利轉正,之後的某一天偶然得知公司一開發人員工資比我高2000,其實也就比我早畢業一年而已,才知道原來開發和測試工資差距這么大,於是當時就下定決心要轉行做開發,所以說起我從測試轉行開發的原因是因為錢,一開始說因為興趣堅持下來的都是扯淡。。。
編程之路
由於在公司我的主要任務仍然是測試,任務也挺多,基本每天要9點能到家。下定決心之後只能利用業余時間來學習,由於公司主要業務是.NET,很自然我一開始學習的方向便是.NET,後來才了解到.NET是基於C#的,學習.NET之前必須要先學習C#,於是像公司借了一本C#學習資料,就這樣學習了大概兩周吧,還仔仔細細做了一大堆筆記。之後覺得語法學的差不多了,便又借了本.NET的書開始學習web開發。
但是web開發遠沒有學習一門語言這么簡單,後來才知道web開發涉及到html, css, javascript, ajax, database等,范圍太廣了,於是為了效率,我只能每一項掌握住基礎,於是網上搜索找到 w3school 在線教程 這個好東西,裡面的東西都是基礎的,我把教程整理到手機里,每天上下班的地鐵上,吃飯的時候,回家的時候等等利用一切時間來學習,也是差不多大概2周的時間掌握了html, css, js的一點基礎,接下來准備正式學習.NET的時候,被我們老大知道我正在學習開發,我們老大叫Aaron,是一位典型的程序員,比較胖,人品超好,知道後不建議我學習.NET,說.NET出來都十來年了,已經很成熟了,很多人在學校都有.NET教程,現在學習已經比別人晚了。現在移動開發剛嶄露頭角,也沒多少人會,建議我直接學習移動開發。真是一句點醒了我啊!!
移動開發
聽了老大的建議,於是放棄了.NET,開始准備學習移動開發。那時候是12年初,整個移動互聯網也是剛起步階段,iPhone4還是非常火的時候,毫無疑問我把目標鎖定在了iPhone開發上。
這次有經驗了,知道了iPhone開發首先肯定得有一門編程語言的,了解到是Objective-C,於是又從公司借了一本OC的書(公司書很多,老大每月都會買來好多書,雖然看的人很少),又花了將近一周的時間來了解了基本語法,因為之前學了C#,這次沒完全看完的情況下想直接上手實踐。正打算學習的時候,才知道iOS開發必須得在mac上才可以,也就是說我得自己有台mac電腦,雖然當時公司是有的,但是回家的時候不能繼續學習練習,肯定影響效率的,一台mac對於當時的我簡直是奢侈品,雖然現在也依然是奢侈品,但當時根本不可能買得起。於是只有放棄iPhone開發轉向Android(後來才知道有虛擬機這東西。。。)
Android學習之路
幾經波折,終於才確定自己的方向,這期間已經耽誤了不少時間,走了不少彎路了,但是仍然阻擋不住我轉行開發的腳步。公司關於Android的書竟然沒有,於是我自己親自買了一本Android書籍,叫《瘋狂Android講義》,作者是李剛!!不說這本書有多好吧,這本書比較厚,非常厚,所以講的一些基礎比較細,新手按照上面的完全可以看懂,現在不知道這本書內容更新了沒,之前內容對於現在來說有點老。這個時候應該是12年的3月份,說起來也巧,這個月公司剛好接了個移動端項目,iOS有人來做,但是公司上下沒有會Android開發的,其他人都有自己的項目在忙,老大看出我的興趣,就問我想不想試一下,我當然欣然同意了,只此就開始正式的邊做邊學習Android。
那個時候的測試任務仍然很重,於是我只能擠出時間來做這個項目,基本是每晚以及周末都會自動加班來完成這個項目,現在看來那個項目真是太簡單不過了,快的話一周都不要就可以搞定了,但在當時我摸爬滾打了一個多月總算搞定了。
做完這個項目自己有了點信心,但當時自己的主要任務還是測試,自己開發的時間是少之又少,於是下定決心離職找一個專門做Android的工作。說明原因之後老大很理解,也是建議我想做開發的話就放手去找一個專門做開發的職位,這樣進步會比較快。
第一份工作能遇到我的老大Aaron,真是我的福分!
3. 如何自學 Android 編程
大學上的是全國二流本科,專業主要就是數學專業。大學的總結就是:逃課、掛科、籃球、泡妞、Dota。
目前為止可以說我的大學是我這輩子過的最爽的時期,大一開始就逃課,好點的理由是我對大學那些課程完全沒興趣,其實本質上是因為高考太壓抑了,大學之後沒人管了,開始無止境的放縱自己。毫不誇張的說大學四年上的課應該沒有逃的課多。逃課最直接的影響就是掛科,從大一掛到大三,專業課數學分析特么每年都掛,後來聽說補考考不過要重修,還得交錢,這特么讓家裡人知道還了得,於是發憤圖強,最終補考每門都以優秀的成績過了。
相信英語四級應該是大學必考吧,英語四級這輩子我都忘不了,我考了三次才過,每次考試說是裸考都褒獎了,大學英語全是吃高中的底子,第一次沒過,少了十幾分,第二次他媽睡覺睡過了,就沒有去考,現在想想當時的自己真是腦殘,終於在第三次勉強過了。現在想想幸虧當時過了,之後畢業找工作時英語四級是最低要求。做編程這行,英語真的挺重要的,大學的時候一定得想辦法把四級給過了。
現在想想大學和編程唯一相關的課程就是C語言了,但是對於我們專業是屬於全校公開課,最終這門課雖然考過了,但是連i++ 和++i我都弄不明白,可想而知你們應該能猜到我是怎麼過的。
由於高中就開始打籃球,大學時毫無疑問就入了學院籃球隊,而且擔任隊長,所以大一、大二過來基本就是一大半是在籃球場度過的,也是因為籃球征服了我現在的老婆。大二下學期周圍的人都在玩Dota,於是也開始了游戲之路,籃球也基本放棄了,那時候玩的瘋狂,記得最長的一次和同學在網吧連續包夜兩星期,不過白天是回來睡覺的,不然估計早猝死在網吧了。
轉眼間大四了,這一年終於在我老婆的監督下不再掛科了,而且在畢業前的最後一次評比竟然拿到了三等獎學金,真是受寵若驚啊,後來錢也被狐朋狗友們拿去腐敗了。周圍的同學都在准備考研,我卻唯獨對考研沒興趣,自始至終都沒有為考研花過一分錢,買過一本書。後來證明我的決定是正確的,周圍的小夥伴放棄的放棄,考不上的考不上,考上的後面也沒見混的有多好,當然如果能考上好的學校還是很有幫助的。
畢業
又一轉眼畢業了,去參加了學校幾個招聘會也是醉了,全是沒聽過的小企業,一去參觀都是各種廠房,根本不需要任何學歷,是個人出點力都可以乾的那種,要麼就是各種電話銷售。。。那時候真的有點急了,大學四年,畢業一份像樣的工作都找不到,回去怎麼面對鄉親父老。
三月份的時候一家IT測試培訓機構來做宣講會(具體什麼名字我就不說了,免得認為是廣告),聽完之後就說培訓之後包就業,培訓地點在大上海的最中心,當然是自費,但是可以工作之後分期付款。那時候哪知道測試是幹嘛的,更不懂IT是幹嘛的,回來就查了下這個機構確實存在,網站也有的,知道不是騙子遍決定來上海試一試。當時下定決定要來上海培訓之後,幾個狐朋狗友毫不猶豫的跟著我一起來了,總共應該是7個人,決定之後沒幾天便毅然而然的背著大包小包來到上海,我們之中一部分是一次性付費,另一部分是分期。後來證明我們當時來上海的決定是正確的。
培訓之路
這里並不是宣傳大家去培訓,只不過被工作所逼,學校不好,大學也沒學啥真本事,稍微有點出路都不會去培訓!
培訓的日子還是蠻輕松的,一周就上四天課,朝九晚五,畢竟大家家庭都不富裕,家裡辛苦攻讀了四年大學,畢業還要再交錢去培訓,打心裡大家都很愧疚。一開始卯足了勁要好好學習,但是堅持了沒多久就有點放鬆了,但是好歹也是都有學習的。
培訓的時候算是接觸了點編程吧,課程有C語言、Oracle、Linux,然後其他都是軟體測試的理論,其實都是非常基礎的東西,算是帶你入行吧,Orace就學習一些基本SQL語句,Linux就學了幾個命令,但是起碼知道原來電腦可以干這么多事,之前還一直以為電腦就是用來看電影、聊天、打游戲的呢。現在回頭看給我一周的時間我可以看完整個培訓課程,但是當時的培訓周期要四個月。
第一份工作--SunNet
7月份拿到畢業證書就直接來了上海,四個月的時間對於我來說實在太漫長了,我等不及了,於是在課程還有最後一個月的時候我提前出來單獨找工作,當時培訓老師說工作後的工資大多是3500左右,我覺得我學的比別人好,所以必須要比別人高,做好了長期准備面試的過程。沒想到面試第一家就直接錄取了(後來才知道原來是公司的測試懷孕在家,急需測試),公司名叫SunNet,中文名山諾,工資4000。收到offer的時候欣喜若狂!
真正接觸編程
之後便在SunNet正式入職,工作就是測試,但是就在SunNet我才真正的接觸了什麼是編程。SunNet是一家小型外企,總部在休斯頓,上海這邊主要是研發部。研發人員總共不到10人,主要業務是以web為主,使用語言是.NET。當然我的職責就是web測試了,工作倒是沒什麼難點,主要測試就我一個,一進來就有好幾個項目等著我測試,還好自己是數學專業,邏輯思維能力還不錯,加加班總算能按時完成任務。
三個月的時間順利轉正,之後的某一天偶然得知公司一開發人員工資比我高2000,其實也就比我早畢業一年而已,才知道原來開發和測試工資差距這么大,於是當時就下定決心要轉行做開發,所以說起我從測試轉行開發的原因是因為錢,一開始說因為興趣堅持下來的都是扯淡。。。
編程之路
由於在公司我的主要任務仍然是測試,任務也挺多,基本每天要9點能到家。下定決心之後只能利用業余時間來學習,由於公司主要業務是.NET,很自然我一開始學習的方向便是.NET,後來才了解到.NET是基於C#的,學習.NET之前必須要先學習C#,於是像公司借了一本C#學習資料,就這樣學習了大概兩周吧,還仔仔細細做了一大堆筆記。之後覺得語法學的差不多了,便又借了本.NET的書開始學習web開發。
但是web開發遠沒有學習一門語言這么簡單,後來才知道web開發涉及到html, css, javascript, ajax, database等,范圍太廣了,於是為了效率,我只能每一項掌握住基礎,於是網上搜索找到 w3school 在線教程 這個好東西,裡面的東西都是基礎的,我把教程整理到手機里,每天上下班的地鐵上,吃飯的時候,回家的時候等等利用一切時間來學習,也是差不多大概2周的時間掌握了html, css, js的一點基礎,接下來准備正式學習.NET的時候,被我們老大知道我正在學習開發,我們老大叫Aaron,是一位典型的程序員,比較胖,人品超好,知道後不建議我學習.NET,說.NET出來都十來年了,已經很成熟了,很多人在學校都有.NET教程,現在學習已經比別人晚了。現在移動開發剛嶄露頭角,也沒多少人會,建議我直接學習移動開發。真是一句點醒了我啊!!
移動開發
聽了老大的建議,於是放棄了.NET,開始准備學習移動開發。那時候是12年初,整個移動互聯網也是剛起步階段,iPhone4還是非常火的時候,毫無疑問我把目標鎖定在了iPhone開發上。
這次有經驗了,知道了iPhone開發首先肯定得有一門編程語言的,了解到是Objective-C,於是又從公司借了一本OC的書(公司書很多,老大每月都會買來好多書,雖然看的人很少),又花了將近一周的時間來了解了基本語法,因為之前學了C#,這次沒完全看完的情況下想直接上手實踐。正打算學習的時候,才知道iOS開發必須得在mac上才可以,也就是說我得自己有台mac電腦,雖然當時公司是有的,但是回家的時候不能繼續學習練習,肯定影響效率的,一台mac對於當時的我簡直是奢侈品,雖然現在也依然是奢侈品,但當時根本不可能買得起。於是只有放棄iPhone開發轉向Android(後來才知道有虛擬機這東西。。。)
Android學習之路
幾經波折,終於才確定自己的方向,這期間已經耽誤了不少時間,走了不少彎路了,但是仍然阻擋不住我轉行開發的腳步。公司關於Android的書竟然沒有,於是我自己親自買了一本Android書籍,叫《瘋狂Android講義》,作者是李剛!!不說這本書有多好吧,這本書比較厚,非常厚,所以講的一些基礎比較細,新手按照上面的完全可以看懂,現在不知道這本書內容更新了沒,之前內容對於現在來說有點老。這個時候應該是12年的3月份,說起來也巧,這個月公司剛好接了個移動端項目,iOS有人來做,但是公司上下沒有會Android開發的,其他人都有自己的項目在忙,老大看出我的興趣,就問我想不想試一下,我當然欣然同意了,只此就開始正式的邊做邊學習Android。
那個時候的測試任務仍然很重,於是我只能擠出時間來做這個項目,基本是每晚以及周末都會自動加班來完成這個項目,現在看來那個項目真是太簡單不過了,快的話一周都不要就可以搞定了,但在當時我摸爬滾打了一個多月總算搞定了。
做完這個項目自己有了點信心,但當時自己的主要任務還是測試,自己開發的時間是少之又少,於是下定決心離職找一個專門做Android的工作。說明原因之後老大很理解,也是建議我想做開發的話就放手去找一個專門做開發的職位,這樣進步會比較快。
4. android我想用代碼把一個按鈕頂到最右邊怎麼做
在他的父級標簽上加個樣式屬性:text-align:center;
以下為簡例,居中可以理解為,文本內容或者文本元素在指定范圍內居中顯示,這些都是樣式排版基礎,你可以上w3school多學習下
<td align=center><input type="button" name="按鈕一" value="按鈕一" /></td>
<div style="text-align:center; width:200px;"><input type="button" name="按鈕一" value="按鈕一" /></div>
text-align 屬性規定元素中的文本的水平對齊方式。
該屬性通過指定行框與哪個點對齊,從而設置塊級元素內文本的水平對齊方式。通過允許用戶代理調整行內容中字母和字之間的間隔,可以支持值 justify;不同用戶代理可能會得到不同的結果。
默認值:
如果 direction 屬性是 ltr,則默認值是 left;如果 direction 是 rtl,則為 right。
繼承性:
yes
版本:
CSS1
JavaScript 語法:
object.style.textAlign="right"
可能的值
值
描述
left 把文本排列到左邊。默認值:由瀏覽器決定。
right 把文本排列到右邊。
center 把文本排列到中間。
justify 實現兩端對齊文本效果。
inherit 規定應該從父元素繼承 text-align 屬性的值。
值 justify
最後一個水平對齊屬性是 justify,它會帶來自己的一些問題。
值 justify 可以使文本的兩端都對齊。在兩端對齊文本中,文本行的左右兩端都放在父元素的內邊界上。然後,調整單詞和字母間的間隔,使各行的長度恰好相等。您也許已經注意到了,兩端對齊文本在列印領域很常見。不過在 CSS 中,還需要多做些考慮。
要由用戶代理(而不是 CSS)來確定兩端對齊文本如何拉伸,以填滿父元素左右邊界之間的空間。例如,有些瀏覽器可能只在單詞之間增加額外的空間,而另外一些瀏覽器可能會平均分布字母間的額外空間(不過 CSS 規范特別指出,如果 letter-spacing 屬性指定為一個長度值,「用戶代理不能進一步增加或減少字元間的空間」)。還有一些用戶代理可能會減少某些行的空間,使文本擠得更緊密。所有這些做法都會影響元素的外觀,甚至改變其高度,這取決於用戶代理的對齊選擇影響了多少文本行。
CSS 也沒有指定應當如何處理連字元。大多數兩端對齊文本都使用連字元將長單詞分開放在兩行上,從而縮小單詞之間的間隔,改善文本行的外觀。不過,由於 CSS 沒有定義連字元行為,用戶代理不太可能自動加連字元。因此,在 CSS 中,兩端對齊文本看上去沒有列印出來好看,特別是元素可能太窄,以至於每行只能放下幾個單詞。當然,使用窄設計元素是可以的,不過要當心相應的缺點。
注1:CSS 中沒有說明如何處理連字元,因為不同的語言有不同的連字元規則。規范沒有嘗試去調和這樣一些很可能不完備的規則,而是乾脆不提這個問題。
5. android里的XML文件是用什麼寫的
XML (eXtensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標准通用標記語言)。Xml是Internet環境中跨平台的,依賴於內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML佔用的空間比二進制數據要佔用更多的空間,但XML極其簡單易於掌握和使用。 XML與Access,Oracle和SQL Server等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,XML僅僅是展示數據。事實上XML與其他數據表現形式最大的不同是:他極其簡單。這是一個看上去有點瑣細的優點,但正是這點使XML與眾不同。 XML與HTML的設計區別是:XML是用來存儲數據的,重在數據本身。而HTML是用來定義數據的,重在數據的顯示模式。 XML的簡單使其易於在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其它的數據交換格式,但不久之後他們都將支持XML,那就意味著程序可以更容易的與Windows、Mac OS, Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析他,並以XML格式輸出結果。
6. 用HTMl5編寫Android版地圖應用的UI用哪本書學習比較好求推薦!
1.Google Map API 開發人員指引:
http://wenku..com/view/dc9bc8c9a1c7aa00b52acbee.html
2.看看HTML5教程:
http://www.w3school.com.cn/html5/
3.Android開發書籍很多啦,就不推薦了。
7. 如何理解Android中的xmlns
首先,我們先來看下到底什麼是xmlns,它是 XML 文檔中的一個概念:英文叫做 XML namespace,中文翻譯為 XML 命名空間。一講到命名空間,我想很多人會聯想到C++中的namespace和Java中的 packagename,而這兩者的作用都是為了解決命名上的沖突(例如類名,介面名等)。類似的,XML namespace也是為了解決 XML 中元素和屬性命名沖突,因為 XML 中的標簽並不是預定義的,這一點與 HTML 是有區別的,HTML 中的標簽是預定義的,所以我們會遇到命名沖突的問題。
XML 命名空間定義語法為xmlns:namespace-prefix="namespaceURI",一共分為三個部分:
xmlns:聲明命名空間的保留字,其實就是XML中元素的一個屬性;
namespace-prefix:命名空間的前綴,這個前綴與某個命名空間相關聯;
namespaceURI:命名空間的唯一標識符,一般就是一個URI引用。
通過上面的內容的講解,我們對命名空間有了一定的了解,下面我們通過一個例子引用來說明一下xmlns屬性是如何解決命名沖突的:
命名沖突
在 XML 中,元素名稱是由開發者定義的,當兩個不同的文檔使用相同的元素名時,就會發生命名沖突。這個 XML 文檔攜帶著某個表格中的信息:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
這個 XML 文檔攜帶有關桌子的信息:
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
假如這兩個 XML 文檔被一起使用,由於兩個文檔都包含帶有不同內容和定義的 <table> 元素,就會發生命名沖突。XML 解析器無法確定如何處理這類沖突。
使用命名空間(Namespace)
這個XML文檔攜帶著某個表格中的信息:
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
此XML文檔攜帶著有關一件傢具的信息:
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
我們為<table>標簽添加了一個xmlns屬性,並在每個標簽前面都添加了相應的前綴,這個前綴是一個與某個命名空間相關聯的限定名稱,這個前綴就代表後面那個 URI 引用,或者說一個縮寫。
關於xmlns就先簡單講到這里,大家如果要深入了解的話,可以點擊本文中的跳轉鏈接,下一節我們來看下 Android 中的那些xmlns。
Android中的xmlns
在Android中,目前我們碰到的xmlns一共有三種:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android
命名空間android用於 Android 系統定義的一些屬性。
app
命名空間app用於我們應用自定義的一些屬性,這個與 Android 自定義屬性和系統控制項擴展應該有關系,大家可以再繼續研究一下。
tools
根據官方定義,tools命名空間用於在 XML 文檔記錄一些,當應用打包的時候,會把這部分信息給過濾掉,不會增加應用的 size,說直白點,這些屬性是為IDE提供相關信息
8. 為了能夠看懂android的xml文件,想學習下XML語言,因為是新手,誰能介紹本好書或者視頻,謝謝!
xml語言不用學啊,隨便看看文檔就好的,網上隨便搜搜都可以的,其實就是根節點,android裡面的xml文件也就是一般的用來配置的文件,google定義的一些根節點而已,跟其他xml語言沒什麼區別的。
9. 新人想做一下Android APP開發,求高人指路!
開發者社區都多了、比如Android巴士、eoe、csdn等、現在國內Android一般用的都是Ecliplse.也出來個新的編輯器Android studio。視頻教程也比較多、可以去黑馬、極客、w3school去看看、他的官方網站有這方面的視頻、還有手機好像是不能開發程序的的吧、還有學Android前最好去把java的基礎了解哈、對你會有好處的
10. android xml布局後面都加個鏈接什麼意思
這個不叫鏈接,叫xml的命名空間,是為了避免元素命名沖突而提供的一種機制,可以看下這邊的詳細解釋: http://www.w3school.com.cn/xml/xml_namespaces.asp