Android开发初体验

时间:2023-01-04 17:58:01

1.1 应用开发基础

activity 是Android SDK中activity类的一个具体实例,负责管理用户与信息屏的交互。
布局定义了一系列的用户界面以及它们在屏幕上的位置。

1.2 创建android 项目

包名遵循DNS反转,保证包名的唯一性

1.3 Android Studio使用导航

1.4 用户界面设计

Android SDk内置了多种组件,组件是用户界面的构造模块,每个组件都是View类或者其子类(TextView或Button)的一个具体实例。

1.4.1 视图层级结构

根元素必须指定Android XML文件的命名空间属性为http://schemas.android.com/apk/res/android
命名空间参考资料
LinerLayout组件继承自View子类的ViewGroup组件,如果需要以一列或者一排布置组件,使用LinerLayout组件就可以。其他ViewGroup子类还包括TableLayout,FrameLayout和RelativeLayput。

1.4.2 组件属性

match_parent:视图与其父视图大小相同。根元素也有父视图,Android提供父视图来容纳整个视图层级结构。
android:text:指定组件要显示的文字内容。

1.4.3 创建字符串资源

每个项目都包含一个strings.xml文件。

      
       1
      
      
       <string name="true Button">True</string>
      

1.5 从布局XML到视图对象

通过相对应的activity子类,*.xml文件中的元素转换为视图对象。

  1. APPCompatActivity,实际就是Activity的一个子类,主要是为Android旧版本系统提供兼容性支持。
  2. activity的子类实例创建后,onCreate( 大专栏  Android开发初体验Bundle)方法会被调用。activity创建后,它需要获取属于自己的用户界面
            
             1
            
            
             public void setContentView(int layoutResID)
            

根据传入的布局资源ID,该方法生成指定布局资源的视图并且放置在屏幕上。

资源与资源ID

要为组件生成资源ID,需要在定义组件时,定义adnroid:id 属性。

1.6 组件的实际运用

既然按钮有了资源ID,就可以在QuizActivity中直接获取。

      
       1
      
      
       private Button mTrueButton;
      

1.6.1 引用组件

      
       1
      
      
       2
      
      
       public View findViewById(int id);
      
      
       mTrueButton = (Button)findViewById(R.id.True_button);
      

1.6.2 设置监听器

      
       1
      
      
       2
      
      
       3
      
      
       4
      
      
       5
      
      
       6
      
      
       mTrueButton.setOnClickListener(new View.OnclickLinstener(){
      
      
         @override
      
      
         public void onClick(View v){
      
      
           // Does sonething later;
      
      
         }
      
      
         });
      

创建提示消息

      
       1
      
      
       2
      
      
       3
      
      
       4
      
      
       5
      
      
       6
      
      
       mTrueButton.setOnClickListener(new View.OnclickLinstener(){
      
      
       @override
      
      
       public void onClick(View v){
      
      
         Toast.makeText(QuizActivity.this,R.string.incorrect,Toast.LENGTH_SHORT).show();
      
      
       }
      
      
       });