今天無意看到CSDN頭條,Android九年,我們需要學什么?突然一驚,無數個草泥馬在心中洶涌而過,好久沒來Android論壇看看了,想想從10年開始接觸Android到現在,轉眼也6年了,這6年里也隨著Android論壇成長,所謂江山代有人才出,我這個前浪估計早被你們這些后浪拍死在沙灘上了,不由得感嘆一下,從開始的念茜大姐大,到現在,有時候Android里面回帖的高手我都沒見過了,認識的只有現在的兩個版主了,版主換了一批接一批,連移動大版主也只有我一個了,哎,以前那些指導我學習的大神們現在去哪里了。
歲月,你別催,該來的我不推,歲月,你別催,走遠的我不追。原諒我現在已經很少回復大家問題,一是因為時間緊,二是因為大家現在的技術問題,以我的技術已經很難回復大家了。感謝這些年里面,幫助過我,陪伴過我的那些大神們,我很高興因為Android認識了你們,我不敢說下個十年我們再見,因為我也不知道再過多久以后,或許我也不會出現在這里,所以只能說一句謝謝,謝謝你們陪我走過那么一段青春,而我們也陪著Android走過那么一段難忘的青春。
末了,時代的交接,作為版主也作為一個老人,還是給新人一些指導吧,Android我們應該學習些什么?
入門:
四大組件,基本控制元件熟練運用,網路通訊,異步請求,開發簡單的APP
中級:
理解四大組件的原理,如activity的生命周期,service的生命周期及啟動方式,廣播的傳送,注冊器,多執行緒機制,Binder,AIDL,事件分發,事件沖突,自定義view,訊息佇列等等,其實中級要求好多,重點和初級的區別就是了解運行機制和原理
高級:
其實我也不是高級,只是稍微了解點,明白ARM的作業機制,SystemService的作業機制,記憶體分配及優化,每個公用Android方法在不同機型下的運行效率等等,其實高級就是極少成多的程序,做多了,學習多了,自己就會水到渠成了。
資深:
目前還沒遇到,不過認識的幾個大神即將成為了。
最后,還是謝謝大家在Android論壇那么踴躍,希望Android也能一直走下去,能有好幾個十年,也祝人人成為大神!!!
uj5u.com熱心網友回復:
@嘿木耳 @Birds 兩位好久不見的大神,別潛水了,也來說說唄,這幾年你們學了啥,新人又該學些啥
uj5u.com熱心網友回復:
新人又該學些啥uj5u.com熱心網友回復:
最近都在搞3D OpenGL ES ,搞傳統互聯網客戶端 UI 弄的少。 大神不招收我 俺只能 好好學習 天天向上uj5u.com熱心網友回復:
我也在搞,不過不搞3D,OpenCVuj5u.com熱心網友回復:
收到版主的邀請,十分榮幸啊!

先說下這幾年,我主要的一些作業吧(感覺沒有什么更深的積累了啊)
1. app開發,也是主要的作業了,會涉及到android和ios兩端的技術難點的解決(當然,ios我只能提供解決思路啦)和開發進度和人員的管理。
2. jni封裝,開發程序中涉及到的一些核心演算法,還是得用jni進行封裝呼叫的,也都是現學現用,不過jni還是得多學學的,為此我還特意買了本ndk開發的書
。3. 協調各方資源來支持專案的開發,并與測驗人員的溝通問題,很多時候很多問題可能根本就不是問題,這里的溝通技巧就很重要,需要跟測驗妹子循循善誘的讓測驗妹子搞清楚,或者換個角度或者舉個例子來說明。
4. 閑下來有時,看看Android的內核機制,很難啃的系統底層機制,但多了解總是會有很大的幫助的。
5. 學習PS,很多時候視覺設計人員給的素材都不會完全符合我們開發的要求,讓視覺設計人員來搞,可能時間上不會立馬給你提供,所以簡單的還不如自己來修改。
5. 學習Android的新特性新技術,時刻緊跟潮流嘛,不讓自己落伍,話說現在很多新的組件還真的好用。
對新人來說嘛,就拿自己剛接觸Android的前幾年說吧
1. 你要會玩機,簡單來說,就是Android機你要玩得溜,什么root、刷機、系統美化等等(不知道現在還有很多人是刷機控和系統美化控不,我當年就是各種刷機各種美化過來的)。
2. java基礎還是要打好的,近段時間經常會看到有人發帖求助,有些都是java語言上的錯誤了。
3. Android的基礎知識,感覺布局這塊知識還是要著重加強的吧,畢竟人都是先看界面效果的嘛,而且大家都這么聰明,功能上的實作都會的。
4. 兩類開源庫必須得看,不要求你自己能寫出來,但至少你得理解里面一整套邏輯,一個是網路請求庫(android-async-http、okhttp等),二是圖片加載庫(Android-Universal-Image-Loader、Picasso等)。
5. 使用開源庫或者開源組件的時候,千萬不能拿來主義,對開源庫來說,最好要自己封裝一層;對開源組件來說,最好通過原始碼讀懂,有些可能會包含很多組件的,很多可能都不需要的,你只需要自己進行精簡或者自己寫一個便可以,也是個學習的程序。
6. 最后一個,碰到問題,先自己思考,谷歌或者百度,不要碰到問題就求助他人,不然你就會少了個獨立思考獨立解決問題的機會,這些都是個自我提高的程序,就算你最終無法自己解決,那通過這些思考,你也會有自己的問題排查思路,求助他人的時候,對他人給于的解決方案也能更好的理解。
就到這吧,要下班了
uj5u.com熱心網友回復:
樓主好多頭銜。。。uj5u.com熱心網友回復:
還沒入門..............
uj5u.com熱心網友回復:
受教了
uj5u.com熱心網友回復:
好多頭銜。。。
uj5u.com熱心網友回復:
學習了
uj5u.com熱心網友回復:
你下班好晚
uj5u.com熱心網友回復:
我覺得你的初中高 分級過于單一 對不同的方向來說分級是有差異的。比如也有移動端架構等
uj5u.com熱心網友回復:
看看怎么樣~uj5u.com熱心網友回復:
我覺得你的初中高 分級過于單一 對不同的方向來說分級是有差異的。
比如也有移動端架構等
uj5u.com熱心網友回復:
666666666666666666uj5u.com熱心網友回復:
你下班好晚
@嘿木耳 @Birds 兩位好久不見的大神,別潛水了,也來說說唄,這幾年你們學了啥,新人又該學些啥
收到版主的邀請,十分榮幸啊!
先說下這幾年,我主要的一些作業吧(感覺沒有什么更深的積累了啊)
1. app開發,也是主要的作業了,會涉及到android和ios兩端的技術難點的解決(當然,ios我只能提供解決思路啦)和開發進度和人員的管理。
2. jni封裝,開發程序中涉及到的一些核心演算法,還是得用jni進行封裝呼叫的,也都是現學現用,不過jni還是得多學學的,為此我還特意買了本ndk開發的書。
3. 協調各方資源來支持專案的開發,并與測驗人員的溝通問題,很多時候很多問題可能根本就不是問題,這里的溝通技巧就很重要,需要跟測驗妹子循循善誘的讓測驗妹子搞清楚,或者換個角度或者舉個例子來說明。
4. 閑下來有時,看看Android的內核機制,很難啃的系統底層機制,但多了解總是會有很大的幫助的。
5. 學習PS,很多時候視覺設計人員給的素材都不會完全符合我們開發的要求,讓視覺設計人員來搞,可能時間上不會立馬給你提供,所以簡單的還不如自己來修改。
5. 學習Android的新特性新技術,時刻緊跟潮流嘛,不讓自己落伍,話說現在很多新的組件還真的好用。
對新人來說嘛,就拿自己剛接觸Android的前幾年說吧
1. 你要會玩機,簡單來說,就是Android機你要玩得溜,什么root、刷機、系統美化等等(不知道現在還有很多人是刷機控和系統美化控不,我當年就是各種刷機各種美化過來的)。
2. java基礎還是要打好的,近段時間經常會看到有人發帖求助,有些都是java語言上的錯誤了。
3. Android的基礎知識,感覺布局這塊知識還是要著重加強的吧,畢竟人都是先看界面效果的嘛,而且大家都這么聰明,功能上的實作都會的。
4. 兩類開源庫必須得看,不要求你自己能寫出來,但至少你得理解里面一整套邏輯,一個是網路請求庫(android-async-http、okhttp等),二是圖片加載庫(Android-Universal-Image-Loader、Picasso等)。
5. 使用開源庫或者開源組件的時候,千萬不能拿來主義,對開源庫來說,最好要自己封裝一層;對開源組件來說,最好通過原始碼讀懂,有些可能會包含很多組件的,很多可能都不需要的,你只需要自己進行精簡或者自己寫一個便可以,也是個學習的程序。
6. 最后一個,碰到問題,先自己思考,谷歌或者百度,不要碰到問題就求助他人,不然你就會少了個獨立思考獨立解決問題的機會,這些都是個自我提高的程序,就算你最終無法自己解決,那通過這些思考,你也會有自己的問題排查思路,求助他人的時候,對他人給于的解決方案也能更好的理解。
就到這吧,要下班了
說得更覺得自己可憐了
uj5u.com熱心網友回復:
樓主,你的頭像有種子嗎? 歡迎私信,謝謝
uj5u.com熱心網友回復:
膜拜!路漫漫其修遠兮,吾將上下而求索!向楷模夢致敬
uj5u.com熱心網友回復:
安卓碎片無解!uj5u.com熱心網友回復:
來看看
uj5u.com熱心網友回復:
來看看 有積分沒uj5u.com熱心網友回復:
謝謝樓主。Android新手受教了uj5u.com熱心網友回復:
Thanks for your sharing about Android. It is helpful.uj5u.com熱心網友回復:
Automatic debugging should be an important skill for Android development.uj5u.com熱心網友回復:
Thanks for your sharing about Android. It is helpful.xiexieuj5u.com熱心網友回復:
受教了。。。uj5u.com熱心網友回復:
謝謝前輩的指點,給我一種撥云見日的感覺uj5u.com熱心網友回復:
祝人人成為大神uj5u.com熱心網友回復:
學習中,順便灌個水 。uj5u.com熱心網友回復:
第一次進論壇,第一次回復,好緊張,
uj5u.com熱心網友回復:
這些年一直在膜拜大神uj5u.com熱心網友回復:
都是大神啊,看的一臉懵逼uj5u.com熱心網友回復:
本人學java,但是發現自己筆記喜歡Android多一點,想自學Android ,謝謝大神們的指點uj5u.com熱心網友回復:
膜拜中
uj5u.com熱心網友回復:
謝謝樓主的分享來給晚輩點撥uj5u.com熱心網友回復:
我來學習一下
贊!
uj5u.com熱心網友回復:
10年磨成大保健吶~
uj5u.com熱心網友回復:
一直在初級徘徊uj5u.com熱心網友回復:
標注一下 慢慢看uj5u.com熱心網友回復:
完全看不懂啊,先入了這個坑再說。
uj5u.com熱心網友回復:
當年買了郭霖的《第一行代碼-android》之后才翻開前幾章,最后還是覺得學java ee,如果說
四大組件,基本控制元件熟練運用,網路通訊,異步請求,開發簡單的APP
就可以達到入門級別,感覺Android比Java ee門檻低的多了。
uj5u.com熱心網友回復:
大家好,很高興認識各位大神,我是android開發的初學者,最近在做一個關于json的決議,第一次做幾天下來毫無進展,希望各位大神幫幫小弟,能不能賜教一二,先謝謝各位了,我用的是volley和gson決議json,要做的效果是能在手機界面中顯示,并且能夠回傳給服務器!!

public class Left_Fragment extends Fragment {
private ListView lv1;
private RequestQueue mQueue;
private Context mContext;
private Gson gson;
String url = "http://202.105.98.93:8099//api/Web/News/PostGetNewsList";
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.mContext =context;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.recent_left_btn,container,false);
lv1 = (ListView) view.findViewById(R.id.left_btn);
getJson();
return view;
}
private List<Data> HttpJson(String json) {
try {
JSONObject object = new JSONObject(json);
List<Data> dataList = new ArrayList<>();
int Status = object.getInt("Status");
String Msg = object.getString("Msg");
int Total = object.getInt("Total");
if (Status ==0||"成功".equals(Msg)||Total==7){
JSONArray Data =object.getJSONArray("Data");
for (int i = 0;i<Data.length();i++){
Data dataObject = new Data();
dataList.add(dataObject);
JSONObject hp = Data.getJSONObject(i);
String total = hp.getString("total");
//指定Data中的變數
dataObject.setTotal(total);
JSONArray rows1 = Data.getJSONArray(Integer.parseInt("rows"));
List<Rows> mRows = new ArrayList<>();
dataObject.setRows(mRows);
for (int j = 0;j<rows1.length();j++){
JSONObject rows = rows1.getJSONObject(i);
int Id = rows.getInt("Id");
String Title = rows.getString("Title");
String Content = rows.getString("Content");
String PicUrl = rows.getString("PicUrl");
String AddTime = rows.getString("AddTime");
Rows row=new Rows();
row.setId(Id);
row.setTitle(Title);
row.setContent(Content);
row.setPicUrl(PicUrl);
row.setAddTime(AddTime);
mRows.add(row);
}
}
return dataList;
}else{
Toast.makeText(mContext,"網路請求錯誤!",Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* 用Volley獲取Json資料
*/
private void getJson() {
//這里用到了Volley
mQueue = Volley.newRequestQueue(mContext);// 申請一個佇列
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
Log.i("TAG",s);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.i("TAG",volleyError.getMessage(),volleyError);
}
});
mQueue.add(stringRequest);
mQueue.start();
}
}
這樣就從服務器中獲取了資料
{
"Status": 0,
"Msg": "成功!",
"Data": {
"total": 7,
"rows": [
{
"Id": 452,
"Title": "香港某創業基地來訪紅品",
"Content": "",
"PicUrl": "",
"AddTime": "2016-06-27T09:25:31"
},
{
"Id": 451,
"Title": "紅品職員英語培訓",
"Content": "",
"PicUrl": "",
"AddTime": "2016-06-23T09:11:55"
},
{
"Id": 438,
"Title": "紅品晶英研發團隊參加3D列印協同創新設計",
"Content": "",
"PicUrl": "",
"AddTime": "2016-06-06T15:54:44"
},
{
"Id": 449,
"Title": "歐洲各國客戶代表團來訪紅品考察",
"Content": "",
"PicUrl": "",
"AddTime": "2016-04-28T11:04:12"
},
{
"Id": 335,
"Title": "紅品模型2016年春節放假通知",
"Content": "",
"PicUrl": "http://www.honpe.com/uploadfile/1464339453.png",
"AddTime": "2016-01-18T19:35:49"
},
{
"Id": 378,
"Title": "紅品模型為員工組織戶外拓展提升培訓",
"Content": "",
"PicUrl": "",
"AddTime": "2016-01-10T18:34:19"
},
{
"Id": 384,
"Title": "熱烈祝賀紅品模型2015年年終慶典圓滿成功",
"Content": "",
"PicUrl": "",
"AddTime": "2016-01-02T20:38:36"
}
]
},
"Total": 7
}
然后是三個封裝的類,我不曉得有沒有寫錯,請各位看看
public class Root {
private List<Data> Datalet ;
private int Status;
private int Total;
private String Msg;
public List<Data> getDatalet() {
return Datalet;
}
public void setDatalet(List<Data> datalet) {
Datalet = datalet;
}
public void setStatus(int Status){
this.Status = Status;
}
public int getStatus(){
return this.Status;
}
public void setTotal(int Total){
this.Total = Total;
}
public int getTotal(){
return this.Total;
}
public void setMsg(String Msg){
this.Msg = Msg;
}
public String getMsg(){
return this.Msg;
}
}
public class Data {
private String total;
private List<Rows> rows ;
public String getTotal() {
return total;
}
public void setTotal(String total) {
this.total = total;
}
public void setRows(List<Rows> rows){
this.rows = rows;
}
public List<Rows> getRows(){
return this.rows;
}
}
public class Rows {
private int Id;
private String PicUrl;
private String Content;
private String Title;
private String AddTime;
public void setId(int Id){
this.Id = Id;
}
public int getId(){
return this.Id;
}
public void setPicUrl(String PicUrl){
this.PicUrl = PicUrl;
}
public String getPicUrl(){
return this.PicUrl;
}
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
public void setTitle(String Title){
this.Title = Title;
}
public String getTitle(){
return this.Title;
}
public void setAddTime(String AddTime){
this.AddTime = AddTime;
}
public String getAddTime(){
return this.AddTime;
}
}
然后我寫了個配接器
private List<Rows> list;
private Context mContext;
private LayoutInflater inflater;
private Handler mHandler=new Handler();
public JsonLeftAdapter(List<Rows> list, Context context) {
this.list = list;
this.mContext = context;
inflater = LayoutInflater.from(mContext);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder = null;
if (convertView == null){
convertView=inflater.inflate(R.layout.list_item,null);
holder = new Holder(convertView);
convertView.setTag(holder);
}else {
holder = (Holder) convertView.getTag();
}
Rows rows = list.get(position);
holder.Title.setText(rows.getTitle());
holder.Date.setText(rows.getAddTime());
new Httpimage(mContext,rows.getPicUrl(), mHandler, holder.mImage).start();//寫在執行緒中的方法如果在外面呼叫要記得加.start()否則不會作業
return convertView;
}
class Holder{
private TextView Title;
private TextView Date;
private ImageView mImage;
public Holder(View view){
Title = (TextView) view.findViewById(R.id.list_text);
Date = (TextView) view.findViewById(R.id.list_time);
mImage = (ImageView) view.findViewById(R.id.list_image);
}
}
}
另外這里有一張網路圖片我是這樣做的不曉得對不對
public class Httpimage extends Thread{
private ImageView imageView;
private Handler handler;
private Context mContext;
String url ="http://www.honpe.com/uploadfile/1464339453.png";
public Httpimage(Context context,String url,Handler handler,ImageView imageView){
this.mContext = context;
this.url = url;
this.handler = handler;
this.imageView = imageView;
}
@Override
public void run() {
RequestQueue mQueue = Volley.newRequestQueue(mContext);
final ImageRequest imageRequest =
new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
}
},0,0, Bitmap.Config.ARGB_8888,new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
imageView.setImageResource(R.mipmap.ic_launcher);
}
});
mQueue.add(imageRequest);
}
}
請各位幫幫在下,確實從來沒有做過這方面的作業
uj5u.com熱心網友回復:
沒有那么細,除非是BAT這樣的大公司,不然一樣做開發做架構,其實積累多了自然就是了
我覺得你的初中高 分級過于單一 對不同的方向來說分級是有差異的。
比如也有移動端架構等
android估計沒有多少年了
現在google自己都開始細化了 AndroidWear AndroidTV Android+Chrome
加上robin走了 以后的android的變化會越來越大
膜拜一下各位版主大大
uj5u.com熱心網友回復:
好多大神,膜拜uj5u.com熱心網友回復:
你寫的三個封裝的類好像寫的不大對。好像是:public class Root {
private Data Datalet ;
private int Status;
private int Total;
private String Msg;
public Data getDatalet() {
return Datalet;
}
public void setDatalet(Data datalet) {
Datalet = datalet;
}
public void setStatus(int Status){
this.Status = Status;
}
public int getStatus(){
return this.Status;
}
public void setTotal(int Total){
this.Total = Total;
}
public int getTotal(){
return this.Total;
}
public void setMsg(String Msg){
this.Msg = Msg;
}
public String getMsg(){
return this.Msg;
}
}
public class Data {
private String total;
private List<Rows> rows ;
public String getTotal() {
return total;
}
public void setTotal(String total) {
this.total = total;
}
public void setRows(List<Rows> rows){
this.rows = rows;
}
public List<Rows> getRows(){
return this.rows;
}
}
public class Rows {
private int Id;
private String PicUrl;
private String Content;
private String Title;
private String AddTime;
public void setId(int Id){
this.Id = Id;
}
public int getId(){
return this.Id;
}
public void setPicUrl(String PicUrl){
this.PicUrl = PicUrl;
}
public String getPicUrl(){
return this.PicUrl;
}
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
public void setTitle(String Title){
this.Title = Title;
}
public String getTitle(){
return this.Title;
}
public void setAddTime(String AddTime){
this.AddTime = AddTime;
}
public String getAddTime(){
return this.AddTime;
}
}
第一個Data的定義好像寫錯了,不是LIst<Data>,而是Data。光從你給的json資料上來看。我用HiJson格式化后看的。
你要用Gson決議是需要寫物體類的。寫好Root 類后。通過下面這段代碼用Gson將json決議出來.不用json一個個決議了。
Gson gson = new Gson(); //初始化Gson物件
t物體類物件 = gson.fromJson(json資料字串, 物體類類名);
還可以通過Gson轉Json
ToJsonBean jsonbean = new ToJsonBean();//這個是你定義的物體類
jsonbean.setPowerTypeId(""+fueltypeId);//設定引數
jsonbean.setCarTypeId(""+cartypeId);
jsonbean.setCarYears(""+caragetypeId);
jsonbean.setJobTypeId(""+jobtypeId);
jsonbean.setPageIdx(applyjobpage+"");
Gson gson = new Gson(); //初始化Gson物件
params.put("user", sp.getString("mobile", ""));//上傳介面引數,網路服務訪問的框架kjframeforAndroid里的介面引數寫法
params.put("param",gson.toJson(jsonbean));//gson.toJson(jsonbean)是將物體類的資料通過Gson轉成json資料,用于介面上傳。
也沒怎么看懂你到底想問什么,所以就說一下這兩點。
uj5u.com熱心網友回復:
沒有那么細,除非是BAT這樣的大公司,不然一樣做開發做架構,其實積累多了自然就是了
我覺得你的初中高 分級過于單一 對不同的方向來說分級是有差異的。
比如也有移動端架構等
android估計沒有多少年了
現在google自己都開始細化了 AndroidWear AndroidTV Android+Chrome
加上robin走了 以后的android的變化會越來越大
膜拜一下各位版主大大
這樣說明安卓有新的發展,怎么說沒幾年了?一直不細化歸類才是不發展吧?
uj5u.com熱心網友回復:
最近聽說h5搞安卓開發,不知道樓主和各位大神,有啥看法?例如安卓的未來是會用h5開發嗎?等uj5u.com熱心網友回復:
最近聽說h5搞安卓開發,不知道樓主和各位大神,有啥看法?例如安卓的未來是會用h5開發嗎?等
uj5u.com熱心網友回復:
我的安卓左側選單例子不能上傳。。。uj5u.com熱心網友回復:
專精好還是全能好,是只做安卓端好還是什么安卓、IOS、PC端都做好?uj5u.com熱心網友回復:
中級偏高 就是沒作業經驗 不好找作業
uj5u.com熱心網友回復:
好東西啊,必須好好研究一番uj5u.com熱心網友回復:
多門同,不如一門精uj5u.com熱心網友回復:
mark一下、
uj5u.com熱心網友回復:
android原生開發的前景可能不是很好了,現在有很多開發平臺都可以打包生成apk了,包括android和ios的。uj5u.com熱心網友回復:
專精好還是全能好,是只做安卓端好還是什么安卓、IOS、PC端都做好?uj5u.com熱心網友回復:
Android還沒結束,同志仍需努力uj5u.com熱心網友回復:
liu biuj5u.com熱心網友回復:
萌新才進入論壇
uj5u.com熱心網友回復:
念念不忘,必有回響uj5u.com熱心網友回復:
謝謝大神分享,受教了
uj5u.com熱心網友回復:
專精好還是全能好,是只做安卓端好還是什么安卓、IOS、PC端都做好?
個人覺得可以專注移動端,包含安卓和ios這些移動設備
uj5u.com熱心網友回復:
未來幾年APP 開發 H5 開發 會不會取代原生態開發啊 好擔心這個,對前端還是一臉懵逼 現在做Android 才兩年時間,只想把原生態的先做好uj5u.com熱心網友回復:
受教一下,還是菜鳥
uj5u.com熱心網友回復:
最近在看嵌入式Android ,年紀大了,還是多看一些底層到吧。希望學習順利。uj5u.com熱心網友回復:
今天無意看到CSDN頭條,Android九年,我們需要學什么?突然一驚,無數個草泥馬在心中洶涌而過,好久沒來Android論壇看看了,想想從10年開始接觸Android到現在,轉眼也6年了,這6年里也隨著Android論壇成長,所謂江山代有人才出,我這個前浪估計早被你們這些后浪拍死在沙灘上了,不由得感嘆一下,從開始的念茜大姐大,到現在,有時候Android里面回帖的高手我都沒見過了,認識的只有現在的兩個版主了,版主換了一批接一批,連移動大版主也只有我一個了,哎,以前那些指導我學習的大神們現在去哪里了。
歲月,你別催,該來的我不推,歲月,你別催,走遠的我不追。原諒我現在已經很少回復大家問題,一是因為時間緊,二是因為大家現在的技術問題,以我的技術已經很難回復大家了。感謝這些年里面,幫助過我,陪伴過我的那些大神們,我很高興因為Android認識了你們,我不敢說下個十年我們再見,因為我也不知道再過多久以后,或許我也不會出現在這里,所以只能說一句謝謝,謝謝你們陪我走過那么一段青春,而我們也陪著Android走過那么一段難忘的青春。
末了,時代的交接,作為版主也作為一個老人,還是給新人一些指導吧,Android我們應該學習些什么?
入門:
四大組件,基本控制元件熟練運用,網路通訊,異步請求,開發簡單的APP
中級:
理解四大組件的原理,如activity的生命周期,service的生命周期及啟動方式,廣播的傳送,注冊器,多執行緒機制,Binder,AIDL,事件分發,事件沖突,自定義view,訊息佇列等等,其實中級要求好多,重點和初級的區別就是了解運行機制和原理
高級:
其實我也不是高級,只是稍微了解點,明白ARM的作業機制,SystemService的作業機制,記憶體分配及優化,每個公用Android方法在不同機型下的運行效率等等,其實高級就是極少成多的程序,做多了,學習多了,自己就會水到渠成了。
資深:
目前還沒遇到,不過認識的幾個大神即將成為了。
最后,還是謝謝大家在Android論壇那么踴躍,希望Android也能一直走下去,能有好幾個十年,也祝人人成為大神!!!
怎么才算是了解運行機制和原理呢,能不能舉個例子,就拿listview來說,要到什么程度才算是了解運行機制?
uj5u.com熱心網友回復:
再見Android!谷歌加速開發“仙后座”新OShttp://news.mydrivers.com/1/508/508073.htm
這是安卓藥丸了嗎

uj5u.com熱心網友回復:
問個問題啊 就是怎么知道什么東西過時了?比如actionbar 還有過時的東西還要學習嗎? 嗯 想了想既然過時了就有了新的替代品 嗯 所以那么我的問題是怎么查詢是否某個東西已過時uj5u.com熱心網友回復:
@嘿木耳 @Birds 兩位好久不見的大神,別潛水了,也來說說唄,這幾年你們學了啥,新人又該學些啥
收到版主的邀請,十分榮幸啊!
先說下這幾年,我主要的一些作業吧(感覺沒有什么更深的積累了啊)
1. app開發,也是主要的作業了,會涉及到android和ios兩端的技術難點的解決(當然,ios我只能提供解決思路啦)和開發進度和人員的管理。
2. jni封裝,開發程序中涉及到的一些核心演算法,還是得用jni進行封裝呼叫的,也都是現學現用,不過jni還是得多學學的,為此我還特意買了本ndk開發的書。
3. 協調各方資源來支持專案的開發,并與測驗人員的溝通問題,很多時候很多問題可能根本就不是問題,這里的溝通技巧就很重要,需要跟測驗妹子循循善誘的讓測驗妹子搞清楚,或者換個角度或者舉個例子來說明。
4. 閑下來有時,看看Android的內核機制,很難啃的系統底層機制,但多了解總是會有很大的幫助的。
5. 學習PS,很多時候視覺設計人員給的素材都不會完全符合我們開發的要求,讓視覺設計人員來搞,可能時間上不會立馬給你提供,所以簡單的還不如自己來修改。
5. 學習Android的新特性新技術,時刻緊跟潮流嘛,不讓自己落伍,話說現在很多新的組件還真的好用。
對新人來說嘛,就拿自己剛接觸Android的前幾年說吧
1. 你要會玩機,簡單來說,就是Android機你要玩得溜,什么root、刷機、系統美化等等(不知道現在還有很多人是刷機控和系統美化控不,我當年就是各種刷機各種美化過來的)。
2. java基礎還是要打好的,近段時間經常會看到有人發帖求助,有些都是java語言上的錯誤了。
3. Android的基礎知識,感覺布局這塊知識還是要著重加強的吧,畢竟人都是先看界面效果的嘛,而且大家都這么聰明,功能上的實作都會的。
4. 兩類開源庫必須得看,不要求你自己能寫出來,但至少你得理解里面一整套邏輯,一個是網路請求庫(android-async-http、okhttp等),二是圖片加載庫(Android-Universal-Image-Loader、Picasso等)。
5. 使用開源庫或者開源組件的時候,千萬不能拿來主義,對開源庫來說,最好要自己封裝一層;對開源組件來說,最好通過原始碼讀懂,有些可能會包含很多組件的,很多可能都不需要的,你只需要自己進行精簡或者自己寫一個便可以,也是個學習的程序。
6. 最后一個,碰到問題,先自己思考,谷歌或者百度,不要碰到問題就求助他人,不然你就會少了個獨立思考獨立解決問題的機會,這些都是個自我提高的程序,就算你最終無法自己解決,那通過這些思考,你也會有自己的問題排查思路,求助他人的時候,對他人給于的解決方案也能更好的理解。
就到這吧,要下班了
受教了
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
版主,受教了uj5u.com熱心網友回復:
支持。。接分
uj5u.com熱心網友回復:
新人報道,有點迷茫。。。。。uj5u.com熱心網友回復:
大神,你很有趣啊
uj5u.com熱心網友回復:
一群小菜b




uj5u.com熱心網友回復:
看到這個標題我果斷進入來!首先感謝斑竹的一些分享和心得,今日我開始正式步入安卓的學習,在一個地方培訓,當然主題都是為了嵌入式發展,只不過現在的課程涉及到安卓,所以培訓機構安排了5天的JAVA學習,5天的安卓學習。
四大組件今日老師上課就說,才明白我學習的就是基礎,不過我們的老師是一個美女老師,長得不錯,嘻嘻。
希望能夠從這個版塊積極吸取營養,先提前謝謝啦那些愿意幫助別人的人。
uj5u.com熱心網友回復:
大神們怎么看react native呢?學了點android之后,最近在學react native,感覺寫起來更簡單點。uj5u.com熱心網友回復:
受教了 也希望自己在這路上走的更遠uj5u.com熱心網友回復:
請教樓主,新手該如何入門?或者需要看看什么書?uj5u.com熱心網友回復:
@嘿木耳 @Birds 兩位好久不見的大神,別潛水了,也來說說唄,這幾年你們學了啥,新人又該學些啥
收到版主的邀請,十分榮幸啊!
先說下這幾年,我主要的一些作業吧(感覺沒有什么更深的積累了啊)
1. app開發,也是主要的作業了,會涉及到android和ios兩端的技術難點的解決(當然,ios我只能提供解決思路啦)和開發進度和人員的管理。
2. jni封裝,開發程序中涉及到的一些核心演算法,還是得用jni進行封裝呼叫的,也都是現學現用,不過jni還是得多學學的,為此我還特意買了本ndk開發的書。
3. 協調各方資源來支持專案的開發,并與測驗人員的溝通問題,很多時候很多問題可能根本就不是問題,這里的溝通技巧就很重要,需要跟測驗妹子循循善誘的讓測驗妹子搞清楚,或者換個角度或者舉個例子來說明。
4. 閑下來有時,看看Android的內核機制,很難啃的系統底層機制,但多了解總是會有很大的幫助的。
5. 學習PS,很多時候視覺設計人員給的素材都不會完全符合我們開發的要求,讓視覺設計人員來搞,可能時間上不會立馬給你提供,所以簡單的還不如自己來修改。
5. 學習Android的新特性新技術,時刻緊跟潮流嘛,不讓自己落伍,話說現在很多新的組件還真的好用。
對新人來說嘛,就拿自己剛接觸Android的前幾年說吧
1. 你要會玩機,簡單來說,就是Android機你要玩得溜,什么root、刷機、系統美化等等(不知道現在還有很多人是刷機控和系統美化控不,我當年就是各種刷機各種美化過來的)。
2. java基礎還是要打好的,近段時間經常會看到有人發帖求助,有些都是java語言上的錯誤了。
3. Android的基礎知識,感覺布局這塊知識還是要著重加強的吧,畢竟人都是先看界面效果的嘛,而且大家都這么聰明,功能上的實作都會的。
4. 兩類開源庫必須得看,不要求你自己能寫出來,但至少你得理解里面一整套邏輯,一個是網路請求庫(android-async-http、okhttp等),二是圖片加載庫(Android-Universal-Image-Loader、Picasso等)。
5. 使用開源庫或者開源組件的時候,千萬不能拿來主義,對開源庫來說,最好要自己封裝一層;對開源組件來說,最好通過原始碼讀懂,有些可能會包含很多組件的,很多可能都不需要的,你只需要自己進行精簡或者自己寫一個便可以,也是個學習的程序。
6. 最后一個,碰到問題,先自己思考,谷歌或者百度,不要碰到問題就求助他人,不然你就會少了個獨立思考獨立解決問題的機會,這些都是個自我提高的程序,就算你最終無法自己解決,那通過這些思考,你也會有自己的問題排查思路,求助他人的時候,對他人給于的解決方案也能更好的理解。
就到這吧,要下班了
膜拜大神
uj5u.com熱心網友回復:
@嘿木耳 @Birds 兩位好久不見的大神,別潛水了,也來說說唄,這幾年你們學了啥,新人又該學些啥
收到版主的邀請,十分榮幸啊!
先說下這幾年,我主要的一些作業吧(感覺沒有什么更深的積累了啊)
1. app開發,也是主要的作業了,會涉及到android和ios兩端的技術難點的解決(當然,ios我只能提供解決思路啦)和開發進度和人員的管理。
2. jni封裝,開發程序中涉及到的一些核心演算法,還是得用jni進行封裝呼叫的,也都是現學現用,不過jni還是得多學學的,為此我還特意買了本ndk開發的書。
3. 協調各方資源來支持專案的開發,并與測驗人員的溝通問題,很多時候很多問題可能根本就不是問題,這里的溝通技巧就很重要,需要跟測驗妹子循循善誘的讓測驗妹子搞清楚,或者換個角度或者舉個例子來說明。
4. 閑下來有時,看看Android的內核機制,很難啃的系統底層機制,但多了解總是會有很大的幫助的。
5. 學習PS,很多時候視覺設計人員給的素材都不會完全符合我們開發的要求,讓視覺設計人員來搞,可能時間上不會立馬給你提供,所以簡單的還不如自己來修改。
5. 學習Android的新特性新技術,時刻緊跟潮流嘛,不讓自己落伍,話說現在很多新的組件還真的好用。
對新人來說嘛,就拿自己剛接觸Android的前幾年說吧
1. 你要會玩機,簡單來說,就是Android機你要玩得溜,什么root、刷機、系統美化等等(不知道現在還有很多人是刷機控和系統美化控不,我當年就是各種刷機各種美化過來的)。
2. java基礎還是要打好的,近段時間經常會看到有人發帖求助,有些都是java語言上的錯誤了。
3. Android的基礎知識,感覺布局這塊知識還是要著重加強的吧,畢竟人都是先看界面效果的嘛,而且大家都這么聰明,功能上的實作都會的。
4. 兩類開源庫必須得看,不要求你自己能寫出來,但至少你得理解里面一整套邏輯,一個是網路請求庫(android-async-http、okhttp等),二是圖片加載庫(Android-Universal-Image-Loader、Picasso等)。
5. 使用開源庫或者開源組件的時候,千萬不能拿來主義,對開源庫來說,最好要自己封裝一層;對開源組件來說,最好通過原始碼讀懂,有些可能會包含很多組件的,很多可能都不需要的,你只需要自己進行精簡或者自己寫一個便可以,也是個學習的程序。
6. 最后一個,碰到問題,先自己思考,谷歌或者百度,不要碰到問題就求助他人,不然你就會少了個獨立思考獨立解決問題的機會,這些都是個自我提高的程序,就算你最終無法自己解決,那通過這些思考,你也會有自己的問題排查思路,求助他人的時候,對他人給于的解決方案也能更好的理解。
就到這吧,要下班了
熟練的開發app的必要技能。
后面看發展空間和興趣了,當然跨平臺的開發有很多,unity,cocos,qt等。
android雖然碎片化,但是便宜,所以用戶還是有保障,碎片化要根據產品需求就得哪個維度比較重要些:api版本,機型(產商),解析度等。
uj5u.com熱心網友回復:
想問一下,博主,新手學習android怎么快速學到東西?該從哪幾個方面入手?uj5u.com熱心網友回復:
Thanks for your sharing about Android. It is helpful.
哥們是不是高通的系統程式員?高通case平臺好像要求必須用應用回復客戶的
uj5u.com熱心網友回復:
無java基礎要迅速達到level 1進入開發狀態,感覺好郁悶啊,基本上現在的錯誤和疑問都處在java上。上個月月扯訓在調匯編,現在就要轉java,最后發現所有東西都處在level 1狀態,沒一門精通的
uj5u.com熱心網友回復:
android剛入門 希望多遇見點大神 好好的學習學習轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/14628.html
標籤:Android
上一篇:微信企業付款到個人零錢
下一篇:請教關于介面的問題
