android郭霖
❶ android手機app應用開發,需要學習什麼語言需要什麼工具
1、學java
目前,Java語言在Android開發中占據絕對統治地位,所以開發Android的第一步就是學好Java,建議至少完整的看一本Java入門書籍,推薦:
Java語言程序設計 :入門書籍,分為《基礎篇》和《進階篇》。
Java編程思想 (第4版):從Java的基礎語法到最高級特性(深入的面向對象概念、多線程、自動項目構建、單元測試和調試等),更講述了java語言的前世今生,語言特性,設計理念等等,閱讀本書需要一定的java基礎,建議至少看完《Java語言程序設計-基礎篇》再看這本書。
2、學Android
第一行代碼 :郭霖大大編寫的Android入門書籍,推薦這本書的原因有兩個,一是郭霖大大的語言通俗易懂,二是這本書很新,是基於Android4.0的入門書籍,根據友盟指數的統計,Android4.0以下的設備已不足10%,所以,現在入門,拋棄那些仍舊停留在Android2.x的入門書籍吧。AndroidDevTools:從開發工具到入門教程,從代碼規范到版本控制工具,一切與android相關的都在這個網站上,Android入門請參考該網站的 Android Dev Tutorials 模塊,這個網站的github地址是inferjay/AndroidDevTools · GitHub,如果有什麼補充的可以push。
Android學習之路:stormzhang大大編寫的Android入門文章,對於有一定java基礎的人來說,Android入門有這一篇文章就足夠了。(該文章同樣被收錄在AndroidDevTools中)
郭霖的專欄:郭霖大大CSDN專欄。
stormzhang.com 的頁面:stormzhang大大的個人博客。
3、遇到問題怎麼辦
Google:用google搜出來的結果比網路質量高。至於如何不翻·牆就使用google請自行知乎,但是作為一個Android開發者,早晚要學會翻牆。
博客園 - 開發者的網上家園
博客頻道 - CSDN.NET
Stack Overflow:國外的開發者問答社區,無需翻牆。
GitHub · Build software better, together.:國外的代碼託管平台,這里有很多Java/Android開源項目,無需翻牆。
注意:遇到問題一定要搞清楚問題出現的原因,建議花點時間仔細閱讀一篇講解詳細的博文,而不是直接復制別人貼出來的代碼,直接套用別人發的解決方案。
❷ 求教是怎麼回事代碼來自郭霖大神Android第一行
這個直接是一個提供天氣信息的在線介面,
並不是我本地的伺服器
加上connection.setDoInput(true);connection.connect();
❸ 有哪些是基於Android studio介紹的Android的基礎開發書籍
郭霖的《第一行代碼》第三版,很好的一本書,第一版基於Eclipse,第二版基於Android Studio,第三版採用 Kotlin
❹ 自學android開發的書,基於androidstudio的,
我現在也在自學看的是郭霖的第一行代碼
❺ 請問誰有安卓Android 第一行代碼 作者 郭霖 老師的android開發視頻或者紙質書的掃描
您好,以上傳附件,看看是不是需要的(*^__^*) ……
❻ Adroid Studio 提示Error:(2) Error retrieving parent for item: No resource found that matches
《C Primer Plus》《Head First Java》
❼ 想自學java開發安卓APP,求推真實好用的入門書籍,希望書中講解工具是android studio
之前買過一本《第一行代碼:Android》郭霖的書,寫的還不錯
❽ Android Studio如何查看xml文件是否被使用,在哪被使用
版權聲明:本文為博主原創文章,遵循 CC 4.0 by-sa 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/u012005313/article/details/47018101來源於郭霖《第一行代碼》2.6章 活動的最佳實踐
#######################################33
准備活動
1.新建項目ActivityBestTest,使用默認空活動
2.新建空活動SecondActivity、ThirdActivity
3.修改MainActivity、SecondActivity、ThirdActivity活動的布局文件activity_main.xml、activity_second.xml、activity_third.xml,並添加按鈕Button
activity_main.xml代碼:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" > <Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 1" /> </LinearLayout>
activity_second.xml代碼:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 2" /> </LinearLayout>
activity_third.xml代碼:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button_3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button 3" /> </LinearLayout>
3.將MainActivity.java、SecondActiivty.java、ThridActivity.java類中的繼承由ActionBarActivity改為Activity
#######################################33
知曉當前是在哪一個活動
這個技巧將教會你,如何根據程序當前的界面就能判斷出這是哪一個活動。(可用於判斷別人寫的代碼中某個界面對應的活動)
1.新建一個BaseActivity類繼承自Activity,然後在BaseActivity中重寫onCreate()方法
BaseActivity.java的代碼
package com.administrator.activitybesttest; import android.app.Activity;import android.os.Bundle;import android.util.Log; /** * Created by Administrator on 2015/7/23 0023. */public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); }}在onCreate()方法中獲取當前實例的類名,並通過Log列印出來
修改MainActivity、SecondAcitivty、ThirdActivity的繼承結構,讓它們不再繼承自Activity,而是繼承自BaseActivity
重新運行程序,通過點擊按鈕分別進入到MainActivity、SecondActivity、ThirdActivity的界面,觀察LogCat中的列印信息
現在每當我們進入一個活動的界面,該活動的類名就會被列印出來,這樣我們就可以時時刻刻知曉當前界面對應的是哪一個活動了
#############################################################################333
隨時隨地退出程序
通過一個專門的集合類來對活動進行管理
1.新建一個ActivityCollector類作為活動管理器
package com.administrator.activitybesttest; import android.app.Activity; import java.util.ArrayList;import java.util.List; /** * Created by Administrator on 2015/7/23 0023. */public class ActivityCollector { public static List<Activity> activities = new ArrayList<Activity>(); public static void addActivity(Activity activity) { activities.add(activity); } public static void removeActivity(Activity activity) { activities.remove(activity); } public static void finishAll() { for (Activity activity : activities) { if (!activity.isFinishing()) activity.finish(); } }}在活動管理器中,通過一個List來暫存活動
然後提供一個addActivity()方法用於向List中添加一個活動,提供了一個removeActiivty()方法用於從List中移除活動
最後提供了一個finishAll()方法用於將List中存儲的活動全部都銷毀掉
2.修改BaseActivity中的代碼
package com.administrator.activitybesttest; import android.app.Activity;import android.os.Bundle;import android.util.Log; /** * Created by Administrator on 2015/7/23 0023. */public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this); }}
在BaseActivity的onCreate()方法中調用ActivityCollector的addActivity()方法,表明將當前正在創建的活動添加到活動管理器里
然後在BaseActivity中重寫onDestroy()方法,並調用了ActivityCollector的removeActivity()方法,表明將一個馬上要銷毀的活動從活動管理器里移除
3.不管想在社么地方退出程序,只需要調用ActivityCollector.finishAll()方法即可
例如,在ThirdActivity界面想通過點擊按鈕直接退出程序,只需將代碼改成如下所示即可:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); Button button3=(Button)findViewById(R.id.button_3); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Intent intent=new Intent(ThirdActivity.this, MainActivity.class); // startActivity(intent); ActivityCollector.finishAll(); } }); }
#############################################
啟動活動的最佳寫法
假如SecondActivity中需要用到兩個非常重要的字元串參數,在啟動SecondActivity的時候必須要傳遞過來,那麼我們很容易寫出如下代碼:
Intent intent=new Intent(MainActivity.this, SecondActivity.class);intent.putExtra("param1", "data1");intent.putExtra("param2", "data2");startActivity(intent);
上述寫法完全正確,並且很規范,只是在真正的項目開發上經常會有對接的問題出現。
比如SecondActivity並不是由你開發的,但現在你負責的部分需要有啟動SecondActivity這個功能,而你不清楚啟動這個活動需要傳遞哪些活動。
這時無非就有兩種方法。
一個是你自己去閱讀SecondActiivty中的代碼,
而是詢問負責編寫SecondActivity的同事
這兩種方法都比較麻煩,下面提供另一種寫法
修改SecondActivity中的代碼
public static void actionStart(Context context, String data1, String data2) { Intent intent = new Intent(context, SecondActivity.class); intent.putExtra("param1", data1); intent.putExtra("param2", data2); context.startActivity(intent); }
在SecondActivity中添加一個actionStart()方法,在這個方法中完成了Intent的構建,另外所有的SecondActivity中需要的數據都是通過actionStart()方法的參數傳遞過來的,然後把它們存儲到Intent中,最後調用startAction()方法啟動SecondActivity。
好處:最重要的一點是一目瞭然,可以非常清晰地知道啟動SecondActivity需要傳遞那些數據。另外,這樣寫還簡化了啟動活動的代碼,只需要一行代碼就可以啟動SecondActivity
修改MainActivity代碼
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1=(Button)findViewById(R.id.button_1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Intent intent=new Intent(MainActivity.this, SecondActivity.class); // startActivity(intent); SecondActivity.actionStart(MainActivity.this, "data1", "data2"); } }); }
給每個活動都添加類似的代碼,不僅可以讓啟動活動變得非常簡單,還可以節省不少同事過來詢問你的時間 (郭霖寫的)
---------------------
版權聲明:本文為CSDN博主「編號1993」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u012005313/article/details/47018101
網頁鏈接
❾ 《第一行代碼:Android(第2版)Android》epub下載在線閱讀,求百度網盤雲資源
《第一行代碼:Android(第2版)》(郭霖)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1avd0IkGburAbRxMJwPXLcQ 提取碼:xwhf
書名:第一行代碼:Android(第2版)
作者:郭霖
豆瓣評分:8.6
出版社:人民郵電出版社
出版年份:2016-12-1
頁數:570
內容簡介:
本書被廣大Android 開發者譽為「Android 學習第一書」。全書系統全面、循序漸進地介紹了Android軟體開發的必備知識、經驗和技巧。
第2版基於Android 7.0 對第1 版進行了全面更新,將所有知識點都在最新的Android 系統上進行重新適配,使用 全新的Android Studio 開發工具代替之前的Eclipse,並添加了對Material Design、運行時許可權、Gradle、RecyclerView、百分比布局、OkHttp、Lambda 表達式等全新知識點的詳細講解。
本書內容通俗易懂,由淺入深,既是Android 初學者的入門必備,也是Android 開發者的進階首選。
作者簡介:
郭霖
Android軟體開發工程師。從事Android開發工作6年,有著豐富的項目實戰經驗,負責及參與開發過多款移動應用與游戲,對Android系統架構及應用層開發有著深入的理解。
2013年3月開始,在CSDN上發表Android技術相關博文,很快獲得了大量網友的好評。目前博客訪問量已超過500萬次,評論超過10000條。榮獲CSDN認證專家,並被連續評選為CSDN 2013、2014、2015年度博客之星。
❿ 如何自學 Android 編程
1.要對移動開發有熱情,而不僅僅是為了找份工作。有熱情才能保證持續的學習和在實際編碼中的精益求精,不然在編程的道路上走不長。
2.Android應用層開發是用的Java語言,所以熟悉Java語言是必須的。如果以前沒編程基礎,推薦畢向東老師的Java視頻。如果有編程基礎,推薦李剛的《瘋狂Java講義》。國外的《Java編程思想》不適合初學者,《Java核心講義》翻譯不太好,不推薦。
3,掌握Android基礎知識,推薦郭霖的《第一行代碼》,相信我,這是最適合入門的Android書籍。
4,掌握Android進階知識,推薦郭霖的CSDN博客,主要看關於View的繪制流程、Touch事件分發、Handle機制等。
5,熟悉常用的設計模式,先開始熟悉幾個很常用的就夠了,比如單例,觀察者等等。
學到這,Android應用開發基本入門了,學習曲線也不是很陡