如何编写安卓软件

如何编写安卓软件,第1张

问题一:如何用eclipse编写安卓程序 方法/步骤

1

1)首先,下载android SDK.介绍一种非常简单的方法,一并下载eclipse.在百度中输入android SDK,进入搜索界面。选中第一条。

2)如果你已经有eclipse,你可以直接在eclipse中进行android SDK插件的安装。方法就是点击上面菜单里的help,选择install new software进行添加SDK。具体方法见经验如何在eclipse中添加android SDk。

2

进入下载界面后,选择适合自己电脑的SDK进行下载。这里下载的是android开发工具,非常的简单实用,不需要我么重新下载eclipse,在这个下载包中会自带一个eclipse FOR android的develop工具,我们直接在里面就可以进行android的开发。

3

下载完成后解压,解压后我们进入文件名为eclipse的文件夹中。点击eclipse应用程序,运行。运行如图,和我们常用的eclipse是不一样的因为这个是android的开发工具,只适用于开发android。里面有好的插件已经提供给我们,不需要再进行安装。

4

进入eclipse界面后,开始新建android项目。输入新建项目名,如果没有特殊要求,点击next一直至最后完成。开始的配置只是一个大体的框架的构建,这些我们可以以后进行修改,最总要的还是代码的编写。

5

所有配置都完成后就可以开始进行android的开发了。如图:

进行android开发的时候建议不要用拖拽控件的方式,建议直接编写代码。

END

java环境变量配置

1

这里顺便介绍一下java环境变量的配置。

1)首先打开环境变量的界面,添加一个JAVA_HOME的值。右击计算机属性,在左侧有高级设置,进入后就会看见环境变量选项了。

2)在系统变量中建立java_home,将你的java SDK所在的路径放在里面。

2

建立classpath。同样在系统变量中新建一个classpath,在下面输入.即可,不用输入其他的值。

3

运行cmd,测试。按win+R打开命令面板,输入cmd,进入后输入java -version然后回车,接着输入javac,回车,看结果是否与下图相同。

这里需要注意的是java -version的java后面是有空格的。

问题二:如何开发安卓第一个程序Hello World 1

打开eclipse集成sdk开发环境,点击菜单file――》new――》Android application新建安卓项目

2

输入工程名,项目名,还有包名,点击下一步。

3

信心勾选不要更改,点击下一步。

4

这个步骤是选择应用的启动图标,如果想改就改,不想改就点击下一步

5

选中blackActivity,点击下一步

6

输入activity的名称,main的名称,点击下一步。

7

项目创建好了,右键要启动的项目,run as 选中Android application启动项目

8

然后模拟器启动好之后,点击查看,helloworld就创建好了

问题三:如何自学 Android 编程 因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标?

我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。

1. 明确目标

没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。

这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。

接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。

2. 了解安卓开发中比较困难的地方

学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:

1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。

2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。

3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。

看到这张图,有没有头疼的感觉?

总结成一句话:Android的碎片化真是要来开发者的命。

3. 搭建开发环境

巧妇难为无米之炊,开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。

4. 查看网友总结的一些经验。

不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。

1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。

2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。

3)eoe

android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。

5. 掌握调试方法

个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。

Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse

IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclips......>>

问题四:如何用c++写安卓手机软件? 这个你不容易,安卓是java写的,你学过C和C++想写安卓软件既需要学java语言,又需要学安卓手机的接口,相当于新学,不天天学两三年写不出什么东西的。建议写个win7能用的加壳程序,现在的壳基本上是以前系统上的,win7实用的不多。

问题五:怎样编写安卓手机程序???用什么软件编写 。 说具体点 。 楼主看一下这个教程,或许能帮到您。 pan.baidu/...703809

问题六:怎样将自己写的程序放到android手机里运行 你是用ECLIPSE开发的程序吧?

如果是的话可以先USB接上手机和电脑,手机打开调试模式然后直接在项目上右键 -伐>运行方式 -- >android application 可以直接运行

APK文件的话在项目的BIN目录下面

问题七:安卓软件怎么写 写安卓程序的话有好多平台,常用的就是eclipse和myeclipse,我场做安卓开发都是用这两个平台。安装起来也方便,当然,如果您的水平高的话可以直接记事本写代码再编译。。。

问题八:安卓开发软件欢迎界面怎么做 显示一个加载的界面,增加一个延时任务。比如用handler,几秒后再执行跳转到主界面。

问题九:如何学习安卓软件开发 200分 你把android sdk中的开发文档下载到本地,然后eclipse中就有javadoc显示了,你就能在代码里看到每个库函数的用法了。书的话我建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看。国内的不要买。。。。(切身体会,千万别买)看完之后就可以自己动手做做项目了。对于java基础,我现在的感觉是 如果要深入学习android平台,java基础一定要好(里边包括各种java类库的用法,本地代码jni什么的)。但如果平时随便做做应用的话,会面向对象编程就完全可以了。

以下是在手机上写代码的步骤(以安卓手机为例):

1、在百度上搜索AIDE程序并下载安装好;

2、打开程序默认进入的JAVA源代码编写界面。系统自动给出了一段JAVA “hello world”源代码。点击右上角的播放器按钮即可编译运行。如果源代码有误编译器会提示错误地方,还是比较人性化的。成功编译则可以看到屏幕上打印出“hello world”两个单词;

3、根据自己需要可以选择编写其他代码就可以了;

以上是在手机上编写代码的步骤,感兴趣的可以试试!

用c++写安卓手机软件的方法:

安装ndk,使用纯c++开发安卓程序,下边是详细的步骤与说明:

1、编写入口函数

android_main为入口函数,和C++中的main函数是一样的。这里创建CELLAndroidApp的对象,直接调用main函数。

void android_main(struct android_app* state)

{

CELLAndroidApp    app(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()说明

virtual    void     main(int argc,char** argv)

{

int ident

int    events

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()

virtual void     initDevice()

{

const EGLint attribs[] =

{

EGL_SURFACE_TYPE, EGL_WINDOW_BIT,

EGL_BLUE_SIZE, 8, 

EGL_GREEN_SIZE, 8,

EGL_RED_SIZE, 8,

EGL_NONE

}

EGLint     format

EGLint    numConfigs

_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)

#if 0

EGLint contextAtt[] = { 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("Unable to eglMakeCurrent") 

return

}

eglQuerySurface(_display, _surface, EGL_WIDTH, &_width) 

eglQuerySurface(_display, _surface, EGL_HEIGHT, &_height)

onCreate()

// Initialize GL state.

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()

virtual    void     render()

{

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.编译程序,将程序导入到模拟器中,最终运行的效果图如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7833461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存