Android 学习笔记

一、应用开发基础

APP应用的功能是通过编写一个个Activity子类来实现的。

即:Activity+布局(layout)组成。layout由XML元素组成。XML元素即组件。

Activity:是Android SDK中Activity类的一个具体实例,负责管理用户与信息屏的交互。

布局:定义了一系列用户界面对象以及它们显示在屏幕上的位置。布局保存在XML文件中。每个定义用来创建屏幕上的一个对象,如按钮或文本信息。

命名规范:

Activity Name:名称+Activity

activity文件中的变量命名:变量名前加m前缀。使用Alt+Enter组合键,可以自动导入对应类型的类包。

Layout Name:activity_名称

布局的命名规则是:将Activity名称的单词顺序颠倒过来并全部转换成小写字母,然后在单词间添加下划线。

组件(widget):是用户界面的基本组成模块。组件可以显示文字或图片,与用户交互,甚至布置屏幕上的其它组件。按钮、文本输入控件和选择框等都是组件。

Android SD内置了多种组件,通过配置各种组件可获得所需的用户界面及行为。每一个组件都是View类或其子类(如TextView或Button)的一个具体实例。

组件被声明在XML布局文件中,组件与XML元素一 一对应。元素的名称就是组件的类型。名元素均有一组XML属性。属性可以看作是如何配置组件的指令。

组件属性:

android:layout_width和android:layout_height属性

属性值:

match_parent:视图与其父视图大小相同。

wrap_content:视图将根据其展示的内容自动调整大小。

activity工作原理:

activity子类的实例创建后,会立即执行onCreate(Bundle)方法。同时activity需要获取并管理属于自己的用户界面,即调用setContentView(int layoutresID)方法。

该方法生成指定layout布局的视图并将显示在屏幕上。布局视图生成后,布局文件包含的组件也随之根据自身的属性定义完成实例化。之后即可使用findViewById(R.id.true_button);方法获取组件并操作。

资源和资源ID

布局是一种资源。资源是非代码形式的内容,比如图片、音频以及XML文件等。

项目的所有资源文件存放在app/res的子目录下。

Android为整个布局文件以及各个字符串生成资源ID。layout布局中的组件,只有当在Activity中需要调用的才需要设置资源ID,即属性:android:id="@+id/my_button"

注意:android:id属性值前面有一个+标志,表示是创建ID

layout布局文件中使用资源:

  <Button
            android:id="@+id/false_button" //创建ID
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/false_button" //引用字符串资源
/>

activity中使用资源:

 setContentView(R.layout.activity_quiz);//引用layout布局文件
 mTrueButton=(Button)findViewById(R.id.true_button);//引用字符串资源

组件的实际应用:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG,"onCreate(Bundle) called");
        setContentView(R.layout.activity_quiz);//设置视图资源

        mTrueButton=(Button)findViewById(R.id.true_button);//引用视图资源中组件
        mFalseButton=(Button)findViewById(R.id.false_button);
        mQuestionTextView=(TextView)findViewById(R.id.question_text_view);
        mNextButton=(Button)findViewById(R.id.next_button);
        mCheatButton=(Button)findViewById(R.id.cheat_button);
	//为组件设置监听器
        mCheatButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                boolean answerIsTrue=mQuestionBank[mCurrentIndex].isAnswerTrue();
                Intent i=CheatActivity.newIntent(QuizActivity.this,answerIsTrue);
                startActivityForResult(i,REQUEST_CODE_CHEAT);
            }
        });

提示消息:













 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值