目前截止到2.3系统来看,最终安装的文件仍然是apk格式,界面和系统大多数功能均使用Java开发,但是稍微高端的应用考虑到性能和安全性使用
创新互联建站2013年开创至今,先为宽甸等服务建站,宽甸等地企业,进行企业商务咨询服务。为宽甸企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
C/C++是必要的,C/C++最终编译的so文件就相当于Windows下的dll动态库,需要一个宿主去加载调用,我们通过Java的JNI去调用这些本地方法,目前从NDK的版本来看Google不断增强和开放C++在Android开发的用处,以保证和iPhone这种使用本地语言开发出来的软件体验度不能差距太大。
刚好最近我正在学习android可以帮到你。
1.JAVA开发是Android的应用部分
2.C/C++语言开发是Android核心的部分
Android的C语言其实是指的Android底层的Linux内核开发,刚好你是学习Linux C语言的这样就有用武之地。Android的底层是由Linux开发的,并建立在Linux之上的JAVA虚拟机来实现的。
所以要学习Android C语言的开发,建议看看《Android系统原理及开发要点详解》着本书讲的内容都是底层的内容,一定要买。不过JAVA语言的部分也一定要看,因为C语言做的驱动最后还是需要被JAVA虚拟机调用。
另外要做AndroidC语言开发还需要注意一下几点:
1.需要购买开发板来学习,或者开源的手机,这样可以直观的了解驱动的运作模式和有效调试
2.需要下载android源代码,因为Android SDK开发是不会用到C语言的
3.android的NDK开发其实也是C/C++语言调用一些函数来实现,建议也看
4.最后这个网址可以去看,多是讲底层资料的:;page=end
建议:
1.JAVA还是要看的
2.建议往Android底层硬件开发走
android上现在有两个方向,一个是基于SDK的开发,主要是
用JAVA,另外一个就是NDK的开发,主要语言就是C、C++,C,C++可以再在android中做第三方的开发,人才急缺,主要是将一些功能本地化。
学习C语言可以为学习 C++、Java、C# 奠定基础。C++、Java、C# 都源自C语言,C语言大部分的语法、知识都被移植到 C++、Java 和 C# 中了。
所以学习C语言有助于 C++、Java 和 C# 的学习。对于学习编程的人来说,有深厚的C语言功底是极其重要的。
只要C语言的功底深厚,那么学习其他语言都会很简单。但深厚的功底不是一天两天造就的,需要长时间的积累和沉淀。
扩展资料
简介
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
特有特点
1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3、不同的变量类型可以用结构体(struct)组合在一起。
4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5、部份的变量类型可以转换,例如整型和字符型变量。
参考资料来源:百度百科-c语言
Android c/c++叫Android NDK。
优势:
1。效率特别高,废话JAVA是解释性语言,是把代码托管给jvm,效率能高么。事实:大型手游的核心都是c/c++编写的。(用JAVA不得卡死?)
2。安全性高,JAVA/c#等编写的程序可以反编译!而c/c++程序是编译成二进制机器码的,对应目标cpu的指令,是无法反编译的,只能反汇编。事实:比如银行应用,核心代码采用c/c++实现,界面UI用JAVA,就是为了安全。
缺陷:纯c/c++不兼容低版本Android,但可以用折中方法,编译成Linux so,再在JAVA里引用。再就是麻烦,比JAVA难