① 如何開發安卓應用,寫出的代碼又好又快
了解android:
android開發(這里不提platform和底層驅動)你需要對java有個良好的基礎,一般我們用Eclipse作為開發工具。對於過多的具體知識詳細介紹我這里不展開,我只說我個人的學習方法和本人以為的好的步驟。
1.搭建環境:包括對Java和Eclipse及模擬器(有真機再好不過)的熟悉,對於android的tools和adb命令可以放到後面熟悉了解。
2.從helloworld開始:了解一個基本的android應用代碼包含哪些,各部分做什麼用。(這里只要先了解個大概就好,網上很多代碼可以下載下面看看)
3.activity、intent:了解activity是什麼及其生命周期,intent是什麼東西及它是基於消息機制。
4.掌握基礎:這階段你可以反復的修改及單步調試一個簡單的程序,並學會logcat、單步調試、最基本的View、最簡單的布局、進而對service、intentFilter等的熟悉。
如何通過Android賺錢
首先你對安卓有一個初步的了解後,可以寫出一個小東西自己玩玩了 ,那你可以考慮怎麼通過自己寫的程序賺錢了。通過賺錢的方式大概有也下幾種:
1.免費應用+廣告 這是目前國內個人開發者最普遍的賺錢方式,你可以利用嵌入國內和國外的幾十家移動廣告平台的sdk、並在各渠道發布你的應用來獲取展示廣告,從而利用用戶對廣告的點擊而獲取收入。需要注意的是,身為開發者你最好不要以欺騙、誘導、作弊等方式來獲得用戶點擊,別破壞市場環境(比如現在很多應用所有功能都要求用戶下載廣告應用獲取積分而得到使用,特別是一些色情搭邊的應用)。目前我就是選擇的這種。
2.收費應用國內移動MM、機鋒網的金幣、支付寶等各種渠道支付使用費,目前來看這種模式很難獲取可觀的收入。
3.學會保護自己的應用。Android開發的的大敵不是山寨,而是打包黨。打包黨借著你的應用去賺錢,賺著本屬於你的錢。所以,你覺得你還不應該採取點行動嗎?想要真正保護自己的應用,還是得藉助第三方專業平台,他們有專業的解決方案,可以給你的應用做到最好的最全的保護!
3.應用內容的商業合作這種模式需要你的應用有影響力,能讓商家替你買單。
4.如果自己技術好,有自己的想法,自己也可以寫寫小游戲,曾經火爆一時的Flappy Bird,是一款形式簡易但難度極高的休閑游戲。簡單但不粗糙的8比特像素畫面、超級馬里奧游戲中的水管、眼神有點呆滯的小鳥和幾朵白雲,白天夜晚兩種模式便構成了游戲的一切。玩家需要不斷控制點擊屏幕的頻率來調節小鳥的飛行高度和降落速度,讓小鳥順利通過畫面右方的管道縫隙。如果小鳥不小心擦碰到了管子的話,游戲便宣告結束)。這個小游戲,之前火的時候,基本上,每天可以給開發者帶來,4到5萬美元的收入 。收入還是挺可觀的 !所以騷年們,努力吧,創造屬於自己的Flappy Bird吧。
廣告平台選擇
這個要看自己,仁者見仁,智者見智。現在andorid 廣告平台很多,隨便在網路上面,一搜非常多。並且如果你加了一個andorid群,裡面也會有人自動找到你,讓你用他們平台的sdk。這個就是看你如何選擇了。
望採納。
② 安卓應用怎麼開發 求解
安卓用的是eclipse+sdk +adt
eclipse 裝上adt插件,指定sdk路徑 sdk adt官網都有的下載,開發環境的搭建網路一下大把
③ 如何用c++寫安卓手機軟體
用c++寫安卓手機軟體的方法:
安裝ndk,使用純c++開發安卓程序,下邊是詳細的步驟與說明:
1、編寫入口函數
android_main為入口函數,和C++中的main函數是一樣的。這里創建CELLAndroidApp的對象,直接調用main函數。
voidandroid_main(structandroid_app*state)
{
CELLAndroidAppapp(state);
app.main(0,0);
}
2.繪制類的實現說明
protected:
EGLConfig_config;
EGLSurface_surface;
EGLContext_context;
EGLDisplay_display;
android_app*_app;
int_width;
int_height;
部分參數說明:
_surface:用於繪制圖形,相當於windows繪圖中的點陣圖
_context:可以看做是opengl對象
_display:用於繪圖的設備上下文,類似於windows繪圖中的dc
3.構造函數說明
CELLAndroidApp(android_app*app):_app(app) { _surface=0; _context=0; _display=0; _width=64; _height=48; app->userData=this;//用戶數據 app->onAppCmd=handle_cmd;//窗口的創建銷毀等 app->onInputEvent=handle_input;//回調函數 }
值得注意的是,這里的app中的userData,傳入用戶數據,這里直接傳入this,onAppCmd傳入的handle_cmd回調函數,onInputEvent傳入的事handle_input回調函數
4.類中函數main()說明
virtualvoidmain(intargc,char**argv)
{
intident;
intevents;
android_poll_source*source;
while(true)
{
while((ident=ALooper_pollAll(0,NULL,&events,(void**)&source))>=0)
{
if(source!=NULL)
source->process(_app,source);//有觸摸事件,調用input函數,相當於dispatchmessage
if(_app->destroyRequested!=0)
return;
}
render();
}
}
5.調用render()函數,繪制圖形。
6.初始化設備函數initDevice()
virtualvoidinitDevice()
{
constEGLintattribs[]=
{
EGL_SURFACE_TYPE,EGL_WINDOW_BIT,
EGL_BLUE_SIZE,8,
EGL_GREEN_SIZE,8,
EGL_RED_SIZE,8,
EGL_NONE
};
EGLintformat;
EGLintnumConfigs;
_display=eglGetDisplay(EGL_DEFAULT_DISPLAY);
eglInitialize(_display,0,0);
eglChooseConfig(_display,attribs,&_config,1,&numConfigs);
eglGetConfigAttrib(_display,_config,EGL_NATIVE_VISUAL_ID,&format);
ANativeWindow_setBuffersGeometry(_app->window,0,0,format);
_surface=eglCreateWindowSurface(_display,_config,_app->window,NULL);
#if0
EGLintcontextAtt[]={EGL_CONTEXT_CLIENT_VERSION,2,EGL_NONE,EGL_NONE};
_context=eglCreateContext(_display,_config,0,contextAtt);
#else
_context=eglCreateContext(_display,_config,0,0);
#endif
if(eglMakeCurrent(_display,_surface,_surface,_context)==EGL_FALSE)
{
LOGW("UnabletoeglMakeCurrent");
return;
}
eglQuerySurface(_display,_surface,EGL_WIDTH,&_width);
eglQuerySurface(_display,_surface,EGL_HEIGHT,&_height);
onCreate();
//InitializeGLstate.
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_FASTEST);
glEnable(GL_CULL_FACE);
glShadeModel(GL_SMOOTH);
glDisable(GL_DEPTH_TEST);
glViewport(0,0,_width,_height);
glOrthof(0,_width,_height,0,-100,100);
7.繪制函數render()
virtualvoidrender()
{
if(_display==0)
{
return;
}
glClearColor(0,0,0,1);
glClear(GL_COLOR_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
if(g_arVertex.size()>=2)
{
glColor4f(1,1,1,1);
glVertexPointer(3,GL_FLOAT,0,&g_arVertex[0]);
glDrawArrays(GL_LINE_STRIP,0,g_arVertex.size());
}
eglSwapBuffers(_display,_surface);//雙緩存的交換緩沖區
}
8.編譯程序,將程序導入到模擬器中,最終運行的效果圖如下:
④ 怎樣開發一個andriod應用
開發環境
Android應用層使用的開發語言是Java,自然需要用到Java運行環境,無論你在Window是系統還是Mac系統都需要安裝JDK,並且配置它的環境變數,不懂什麼叫環境變數的或者不知道怎麼配的,請利用好自己的網路技能自行學習。
JDK下載
開發工具
開發工具,Android因為歷史原因,前面很長一段時間使用的是Eclipse,我們要開發Android應用的時候需要另外安裝Google為它開發的插件ADT,Eclipse這個開源軟體很優秀,也很專業,但僅僅只是使用它來開發Android就顯得有點雞肋了,如果沒有對Eclipse進行優化的話,會很卡很卡,後面Google實在不願意寄人籬下,就專門為我們開發者開發了目前很受廣大開發者推崇的Android Studio,現在2.0預覽版也出來啦,大夥趕緊去下吧。
Android studio
模擬器
Android自帶的模擬器一直廣受詬病,實在是太卡太慢了,對比人家IOS模擬器是那麼的流暢,Android開發者直喊好苦逼啊,不過還好後面出了第三方比原生流暢n倍的模擬器Genymotion,大家可以去下一個個人版的夠你平時開發測試用了。最好的辦法還是使用真機測試,畢竟真機才是真實的環境。
Genymotion
Android核心基礎
前面是准備工作,想開發一款Android app,你最起碼要掌握Android的核心基礎知識,針對初學Android的童鞋,想一口吃掉一個胖子是不可能的,還是得把基礎打牢之後才能完成獨立的開發,Android入門不難,學完基礎你只是具備開發app的基本條件,想做一個優秀的app還有很長一段路要走,經驗是靠不斷實踐堆出來的,找一套系統的課程去認真學習一下,在線教育的資源很多,比如慕課網,極客學院都有很多不錯的學習資源,童鞋自己擇優來學習即可。
產品開發流程
正常的互聯網開發app的流程大致如下:
產品規劃,定產品方向
需求調研,產出需求文檔
需求評審,修訂需求文檔
產品狗畫app線框圖提供給射雞師
射雞師根據線框圖設計視覺稿
程序猿根據視覺稿搭建UI框架
程序猿根據需求文檔開發功能
測試媛編寫測試用例,根據排期進行測試
程序猿修復回歸測試反饋的bug,提交beta版
測試通過,提交給運營喵發布到渠道上線
上面是筆者的經驗總結,可能有不太准確的地方,但大致整個流程是這樣,我們開發者要清楚自己在整個產品中充當的角色,明白自己的工作職責即可。
快速搭建項目
Android比沒有想像那麼難,只是剛開始要學習的東西多,一下子消化不了才會比較茫然,筆者寫這篇博客就是想幫助大家整理一下開發思路。
快速搭建項目也算是一項技能,而這項技能只能由你自己來完善,剛開始做開發的時候一定會有很多重復性的工作,如果沒有意識去提高自己的開發效率的話,可能你的十年工作經驗代表的只是一年的經驗用了十年而已。
那要怎麼做,筆者提供一個自己總結的,僅供參考:
定開發規范
搭建UI框架
選用開發庫集成(或自造輪子)
第三方服務集成(視情況而定)
定開發規范
一個項目一般不會只有一個人獨立開發,就算是獨立開發,我們也應該定一下開發規范,一般會有什麼樣的規范?
命名規范
代碼規范
代碼管理規范
命名規范
命名規范包括:
項目命名
包命名
類命名、成員變數命名
資源文件命名
我們做每一個產品都會有相應的命名,不要用中文來命名,最好用能表達中文意思的英文來表示,例如CSDN客戶端,可以用CSDNClient作為命名,我們創建項目的時候可以以它作為Application name。
代碼規范
代碼規范視語言而定,開發android使用的是Java,自然要按照Java的編碼規范進行編碼,比如命名採用駝峰命名法,編碼的時候也要符合Android的開發規范,比如UI線程不做任何耗時的操作,像網路請求、資料庫操作都需要放到子線程中去做,只有UI的刷新才在UI線程中做,像這些規范,可以根據自身在項目遇到的問題來定,定規范的好處就是減少踩坑的幾率,提高開發的質量。
代碼管理
對於一個經常更新迭代的產品,不可能由頭到尾不變,這個時候我們需要對代碼進行分支管理,最好使用git代碼倉庫對代碼進行管理,作為一個合格的開發者連git都不用實在說不過去,還用svn的童鞋趕緊放棄它投入git的懷抱,它的好處是不言而喻的,自己去體會。
搭建UI框架
搭建UI框架需要我們根據產品的導航模式來設計,市場上常用的導航模式有如下圖幾種:
app導航
我們的app如果不出意外一定是其中的一種導航模式,一般線框圖出來我們就應該知道即將要開發的app長什麼樣子,開發者不必等視覺稿和素材出來才開始動工,我們先大致搭個架子,等視覺稿出來之後我們再做調整。
選用開發庫
一般我們app涉及到的庫會有:
UI框架(比如下拉刷新PullToRefresh、側滑菜單Slidingmenu)
網路請求庫(比如okhtttp、AndroidAsyncHttp、Volley)
數據操作庫(比如GreenDao、Ormlite)
圖片緩存框架(比如Universal-Imageloader)
數據解析庫(比如Gson)
之所以要選用這些庫,肯定是為了避免重復造輪子,在開發效率的角度來說,選用優秀的開源庫能大大縮短開發周期和提高開發效率,但從個人提升角度來看的話,我們可能就成了一個只會用API的程序猿了,如果想提升的話,造輪子或者分析這些優秀的源代碼是一個不錯的途徑。
第三方服務集成
我們開發app的時候,肯定會遇到一些需求,比如推送的需求、自動升級、數據統計、社會化分享、用戶反饋等等,然而對於一個剛起步的企業或者個人開發者的話,全都要自己去開發的話,那豈不是累死,像推送這種有一定的技術門檻,能做好都能成立一家公司了,所以選用一些第三方服務是一個可選之舉。如果說你以後做大了,用第三方怕不好控制,那就自己做唄,有錢任性招兵買馬就自己做,誰叫咱有錢呢。
前面這些東西開發一個app夠了,開發出來能不能用還得有靠譜的測試,有沒有crash,操作流不流暢,體驗好不好才會有用戶去用。這里不從產品的角度去評判一個app的好與壞,程序員要考慮的是從代碼層面、性能層面去讓我們的app變得更好。
打包上線
前面的開發環節、測試環節都沒問題之後,你離實現一個app的完整開發就不遠了,正常的互聯網公司,會把簽名打包的apk給到運營,交給他們去寫文案,上傳到應用渠道,讓渠道給我們去首發和推廣。如果是個人開發者,這些工作就得我們自己做了。
⑤ 如何用java進行安卓應用的開發
Android應用是以Java為外殼的,C艹代碼得先通過NDK交叉編譯成.so共享庫再由Java調用,C艹代碼和Java交互是使用jni來實現,Android已經有了 Native Interface,其中就用到了很多jni的內容。JNI全名Java native interface。
直接網路搜索安卓開發教程,資源非常多。先去把Java和C學好再說。Java可以選擇Head first java作為入門書,C可以選擇C Primer Plus作為入門書
⑥ 如何用 純C++開發安卓應用
安卓開發主要分兩部分,應用開發和底層開發。
應用部分,也就是常說的apk,是用Java語言編寫的。底層部分,都是由C/C++編寫的。所以會C/C++的可以直接學習底層開發,其實java一點都不難學,程序的靈魂是演算法。建議你先學習安卓平台相關知識後,再轉向安卓應用開發。
事實上,安卓作為一門知識,沒有任何基礎進行學習都是可以的,只不過會java或者會C/C++的人學起來會更輕松一些。
⑦ 如何從零開始做一個安卓APP軟體
可以先入門一門語言,java。
⑧ 如何編寫一個安卓或者一個IOS應用軟體,流程如何
想編寫軟體,必須要學會Java,但是學會Java前提是學會C語言,你去下載一套郝斌老師的C語言學習視頻和Java的視頻,買一本C語言程序設計,個一本好書Java的,網上有賣二手的才幾塊錢,希望對你有幫助。
⑨ 編寫安卓應用電腦上需要安裝什麼軟體
不只是需要在您的系統中找到合適的軟體版本和適合的解析度平板電腦的軟體,這個軟體基本上都可以安裝,但也有可能是一個少數例外,是不兼容
⑩ 怎麼編寫安卓軟體
你打開的是xml文件,這個是android的布局文件,如果你需要在模擬器或手機屏幕上出現「我是帥哥」,你需要在布局文件中寫一個TextView,在裡面有個Text的標簽直接寫字或者src下面的java文件裡面載入布局文件,找到對應的TextView,然後用.setText(「我是帥哥」)
如果你想簡單的先看一下,你可以直接新建一個androidProject,他會自動生成hell world,你可以簡單的看下