面向对象的语言不都这样的,需要调用底层封装好的类库,这是很正常的。C++难到只是通过最基本的语法就能完成一个项目吗,我不信。这些封装好的东西是为了让你能够集中精力去解决业务逻辑和其它方面的问题,如果非得为了显示自己的技艺高超,使用最原始的东西,那么计算机就不存在了,因为它本身就是一个封装好的工具。
就最简单的socket来举例,我相信C++里面也有这个函数,那么它不就是一个封装好的类库,这个类库本自己也有很多的方法,看起来在JAVA和C++中区别也不大,C++不会让你自己手写实现它吧。在Android中它有自己的一些独有的方法和特征,毕竟它是一个操作系统,就如android的四大组件来说,它就构成android的基本概念,然后这四大组件衍生出自己一些独有的方法和特性,这难道不是应该的吗?就像是语言中的String类,它也包含了许多的函数比如subString()、toString()等等方法其实是类似的。
学一门语言最怕的就是“挑刺”,最怕动不动就说什么“这里怎么这样设计啊,太差了”,“怎么不能自己分配内存啊”、“怎么没有指针啊,无语啊!”,“怎么全是调用封装好的函数,我去,自己修改都困难,太没难度了”,我假设你说的这些都是正确的,但是你想过没有,一门语言的存在必然有它存在的理由,没有什么东西能够“一招鲜,吃遍天下”,就如您所说的C++,我是不是可以这样吐槽“这是什么JB语言,对象TM都要自己去回收,设计语言的人都是吃屎的,不知道自己自动去回收啊!”,我想您不乐意了,你会找出一万个理由来反驳我。
作为一个程序员最基本的素养,你必须明白“扬长方能避短”的道理,你需要明白每一种语言都有其优势和短板,在不同的场景下都会大放异彩。
至于你问的问题,我觉得是不存在的,你现在看到的只是表面的东西,是带着“有色眼镜”来看的,你需要搞清楚android最基本的东西,比如说android的四大组件、android的消息机制、android组件之间的数据传递、android UI等等。
最后给你一个建议,在学习一个新东西的时候,不要忙着去评判它,当你真正理解它时候,你再去评价它,这时候你的评判才是最公正、最合理的,否则只会贻笑大方!

解决方案 »

  1.   


    汗 这么一大堆。。 我就是想问问 是不是需要背很多类 很多方法你是刚学编程吗?写程序都变成“背”了,需要使用直接查找API文档即可,不存在你说的“背”。而且android的API大都见名知意。
      

  2.   


    汗 这么一大堆。。 我就是想问问 是不是需要背很多类 很多方法你是刚学编程吗?写程序都变成“背”了,需要使用直接查找API文档即可,不存在你说的“背”。而且android的API大都见名知意。先回答你第一个问题   不是刚学编程在反问一句  莫非你认为编程不需要背?  
      

  3.   


    汗 这么一大堆。。 我就是想问问 是不是需要背很多类 很多方法你是刚学编程吗?写程序都变成“背”了,需要使用直接查找API文档即可,不存在你说的“背”。而且android的API大都见名知意。先回答你第一个问题   不是刚学编程在反问一句  莫非你认为编程不需要背?  我从来不背,用着用着就熟了,看来你是听不进去别人的意见了,算了。