android中方法调用super(..)的相关知识

java中的多态有重写
方法被子类重写后 父类的原方法就会被隐藏
当你又需要调用父类所定义的原方法 
这个时候就可以用super来调用

super调用指向了父类,在一些调用里可以很巧妙的利用,比如监听返回键了在onKeyDown的方法里,如果想让系统对back键响应,就用supper执行,然后再执行些操作,如果要让系统不做任何响应,那么自己不要执行super的方法,直接掉用自己的操作,注意return false 与true是也是有区别的。


父类的这个方法已经实现了咱么需要的功能,这些功能可能是咱们自己无法实现的。好比back键的回调函数,这个回调你重写的时候,如果你既想他拥有新功能,又想能够实现返回。比如我们希望在按下back键退出程序,在推出前提示是否退出,我们必须要调用父类的back键的回调,也就是通过super关键字调用父类的方法,这样才能实现返回的功能,而我们新加入的功能就是弹出一个提示对话框。在这里,back键返回的功能不是简单的软件编程,还涉及到对硬件电路的响应,是较难实现的。这就是为什么要使用super关键字来调用父类的该方法的原因。


参考:http://bbs.csdn.net/topics/390197100   

http://www.eoeandroid.com/thread-242487-1-1.html




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Android Studio 提供的 Camera API 来编写调用摄像功能的代码。您可以在项目添加相机权限,并在代码实现打开相机、捕获预览和拍照等功能。以下是一个简单的代码示例: 首先,在 AndroidManifest.xml 文件添加相机权限: <uses-permission android:name="android.permission.CAMERA"/> 接着,在布局文件添加一个 SurfaceView 用于预览相机内容: <SurfaceView android:id="@+id/surfaceView" android:layout_width="match_parent" android:layout_height="match_parent"/> 然后,在 MainActivity.java 文件实现打开相机、预览和拍照等功能: public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { private Camera camera; private SurfaceView surfaceView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); surfaceView = findViewById(R.id.surfaceView); surfaceView.getHolder().addCallback(this); } @Override public void surfaceCreated(SurfaceHolder holder) { camera = Camera.open(); try { camera.setPreviewDisplay(holder); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { Camera.Parameters parameters = camera.getParameters(); parameters.setPreviewSize(width, height); camera.setParameters(parameters); camera.startPreview(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); camera.release(); } public void takePicture(View view) { camera.takePicture(null, null, pictureCallback); } private Camera.PictureCallback pictureCallback = new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { // 保存照片到本地 } }; } 在代码,我们通过 SurfaceView 显示相机内容,并在 surfaceCreated() 方法打开相机并开始预览。在 surfaceChanged() 方法设置预览大小,最后在 surfaceDestroyed() 方法停止预览并释放相机资源。 我们还实现了一个 takePicture() 方法,用于拍照。在该方法,我们调用了 camera.takePicture() 方法并传入一个 PictureCallback 对象,用于处理拍照后得到的照片数据。 总之,以上是一个简单的调用摄像功能的示例代码。由于本回答无法提供详细解释,如有需要,请自行学习相关Android 开发知识

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值