导航:首页 > 操作系统 > 如何编写安卓应用

如何编写安卓应用

发布时间:2022-01-12 19:51:06

① 如何开发安卓应用,写出的代码又好又快

了解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进行安卓应用的开发

  1. Android应用是以Java为外壳的,C艹代码得先通过NDK交叉编译成.so共享库再由Java调用,C艹代码和Java交互是使用jni来实现,Android已经有了 Native Interface,其中就用到了很多jni的内容。JNI全名Java native interface。

  2. 直接网络搜索安卓开发教程,资源非常多。先去把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,你可以简单的看下

阅读全文

与如何编写安卓应用相关的资料

热点内容
微商授权查询系统源码 浏览:980
安卓什么情况没法建立新工程 浏览:219
气球解压社区活动 浏览:924
话费会员充值源码 浏览:319
邮件接收服务器叫什么 浏览:529
代理服务器被限制怎么办 浏览:234
atompython环境变量 浏览:911
记录程序员 浏览:996
javabbs源代码 浏览:231
文件夹命名带什么符 浏览:966
黑马程序员全栈 浏览:225
萍乡溯源码鱼胶零售 浏览:440
幸存者pdf 浏览:556
中国人寿保险app怎么变更银行卡号 浏览:118
node服务启动命令 浏览:548
自编宝塔线源码 浏览:139
电脑桌面解压视频教程 浏览:846
安卓手机玩三国战略为什么会卡 浏览:536
浪潮服务器怎么进入启动项 浏览:156
华为当前手机壁纸放在哪个文件夹 浏览:446