安卓入门学习(一)从布局XML到视图对象

第四章 从布局XML到视图对象

前言

在上一篇用户界面设计中,有读书反映为什么不用Android Studio进行学习开发。而Android Studio又为主流开发工具,在安卓入门学习(一)Android Studio使用将介绍如何用AS创建及导入应用项目。利器虽不同,但殊途同归。从下章开始,都将用AS做为开发工具。
本系统学习都是以【Android 编程权威指南】作为指导书物。有条件的读者可入手一本。
本系列将先发表至简书,请关注简书上的我

第一节 XML如何转换为视图

在创建安卓项目时,会在src文件夹中创建一个名为QuizActivity的Activity子类。目录src是Java源代码的存放处。

4.1 activity存放路径.png

代码清单 4-1 QuizActivity.java 源代码

package com.example.geoquiz;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class QuizActivity extends Activity {
   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.quiz, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

此Java文件包括三个方法:onCreate(Bundle),onCreateOptionsMenu(Menu)以及onOptionsItemSelected(MenuItem)。其中onCreateOptionsMenu(Menu)以及onOptionsItemSelected(MenuItem)暂时不用去理会,后续章节将详细说明作用及使用范围。
在activity子类创建后,onCreate(Bundle)方法就会被调用。同时要获取并管理自己的用户界面,可用onCreate(Bundle)中的setContentView(int layoutResID)方法。通过方法,传入布局的资源ID,此方法将生成指定布局的视图并将其放置在屏幕上。布局视图生成后,布局文件包含的组件也随之以各自的属性定义完成实例化。
我们可以通俗的理解,创建一个新的Activity子类时,可以通过setContentView(int layoutResID)方法中将根据所传的资源ID生成布局。那疑问来了,资源ID是啥玩意?

第二节 资源与资源ID

可以确定一点,通过资源ID确定资源。而布局也是资源的一种。所谓资源是指在项目中以非代码存在的内容,如图像、音频及XML文件等。项目中所有的资源文件都是存放在res的子目录中。

4.2 资源存放路径.png

布局的XML文件activity_quiz.xml则是存放在res/layout/下。字符串资源则是放在res/values/下。

各个文件夹与资源作用如下:

  1. drawabl
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android入门到精通是一个较为庞大的话题,无法在短时间内详细覆盖所有内容。不过,我可以给你提供一个大致的学习路径和一些重要的主题,帮助你入门并逐步提升技能。 1. Java基础:Android开发主要使用Java语言,所以你需要对Java有一定的了解。学习Java的基本语法、面向对象编程、异常处理等。 2. Android基础知识:学习Android的核心组件,包括Activity、Fragment、Intent等,了解Android应用的生命周期和各个组件之间的交互。 3. 布局视图学习如何使用XML文件创建Android应用的界面布局,以及如何使用不同类型的视图(View)来构建用户界面。 4. 用户交互:学习如何处理用户的输入事件,包括点击按钮、滑动手势等。了解如何使用Toast、Dialog、Snackbar等来向用户显示信息。 5. 数据存储:学习如何使用SQLite数据库进行数据的持久化存储,以及如何使用SharedPreferences进行简单的数据存储。 6. 网络通信:学习如何使用HTTP协议发送和接收网络请求,以及如何解析JSON数据。了解常见的网络通信库,如OkHttp、Retrofit等。 7. 多媒体处理:学习如何使用Android提供的API来处理图片、音频和视频。了解如何使用Camera API进行拍照和录像。 8. 性能优化:学习如何优化Android应用的性能,包括减少内存占用、优化布局、优化网络请求等方面。 9. 安全性和权限管理:学习如何保护Android应用的数据安全,并了解如何处理用户权限请求和权限管理。 10. 第三方库和框架:学习如何使用常用的第三方库和框架来加快开发速度,如Glide、ButterKnife、Dagger等。 11. Material Design:学习如何使用Material Design风格来设计美观的用户界面,并了解Material Design的设计原则和组件。 12. 进阶主题:学习更高级的Android开发主题,如响应式编程(RxJava)、MVVM架构、测试和调试技巧等。 以上是一个大致的学习路径,你可以根据自己的兴趣和需求来选择深入学习的内容。同时,不断实践和项目开发也是提升技能的重要方式。希望这些信息对你有所帮助!如果你还有其他问题,可以继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值