学习Android(2)

来源:互联网 发布:java读写分离 编辑:程序博客网 时间:2024/06/05 18:15

1.Android Studio目录结构

        1)主要文件是在app或者android目录下,gradle和.idea是指构建和配置的文件,一般不需要处理;

        2)build指当工程编译时产生的中间文件,source值编译完成的文件;

        3)libs第三方的资源文件;

        4)src主要编写的文件,工程主要在main里面,res指资源文件,layout也是常用到的,进行界面的布局,strings键值对的引用赋值;

        5)AndroidManifest.xml整个工程的文件,进行整个工程的配置。

 

2.Activity的生命周期

        1)onCreate():当Activity第一次被创建的时候,调用这个方法,为Activity设置布局文件,绑定按钮等组件的监听,不可被系统杀死;

        2)onStart():当Activity处于可见状态时,调用此方法,不可以被系统杀死,可以用于初始化配置等;

        3)onResume():当Activity已经可以和用户进行交互的时候,调用此方法,当没有其他响应的时候调用此方法,当有的时候,调用响应,不能够被系统回收;

        4)onPause():当系统启动另外一个Activity的时候,想要调用前一个Activity的时候调用此方法,通常用于保存Activity的数据,停止动画等,可以被系统杀死;

        5)onPause()可以回到onResume()上一个Activity,亦可以停止onStop();

        6)onStop():当Activity处于不可见时,即被新的Activity完全覆盖时,调用之前的Activity的这个方法,如果弹出对话框的话是不会调用此方法的,能够被系统杀死;

        7)onStop()之后执行onReStart()或者onDestory();

        8)onReStart():之前被停止,现在重新启动,调用这个方法,不可以被系统杀死,下一个是onStart();

        9)onDestroy():系统内存不足调用,关闭不必要的Activity,另外一种情况是手动调用finish()进行销毁,可以被系统杀死。

 

3.保存数据

        1)Intent四大组件之一(Activity、Service、BroadcastReceiver、Intent),是意向和意图的意思,它是同一个或者不同应用组件之间的消息传递媒介;

        2)Intent的分为显式和隐式,隐式主要使用InterFilter进行过滤,主要包括action、data、category、type、component、extras、flag七个信息在Inter里面;

        3)利用onSaveInstanceState(Bundle outState)来保存数据,outState.putInt(key, value);

        4)利用onCreate(Bundle savedInstanceState)来获取数据,savedInstanceState.getInt(key);

        5)使用Intent进行Activity进行传值:利用intent.putExtra和intent.getStringExtra等方法进行;

        6)通过Bundle进行传值,intent.putExtras(bundle);进行,利用intent.getExtras();取出即可,可以将多个值一起传输;

        7)一个传给另外一个Activity,然后返回,使用startActivityForResult进行传递Intent来返回,利用onActivityResult绑定,用setResult来返回结果。

 

4.Android常见问题

        1)中文乱码,可以使用Setting中的Appearance进行设置;

        2)显示行号,使用Appearance中的show line numbers;

        3)快捷键和输入法冲突,可以在Keymap中进行设置;

        4)Button的文本中,英文字母全部显示为大写,android:textAllCaps="false";

        5)快捷键在Keymap中进行查看。

 

5.调用相机

        1)申请权限:

    <uses-permission android:name="android.permission.CAMERA"></uses-permission>    <uses-feature android:name="android.hardware.camera"></uses-feature>

        2)示例代码:

    Intent capIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);    Bitmap bitmap = (Bitmap) data.getExtras().get("data ");    ivCaptureImage.setImageBitmap(bitmap);

0 0
原创粉丝点击