设为首页 加入收藏

TOP

Android开发初体验(二)
2017-10-12 11:15:06 】 浏览:10080
Tags:Android 开发 体验
ion_africa">The source of the Nile River is in Egypt.</string> <string name="question_americas">The Amazon River is the longest river in the Americas.</string> <string name="question_asia">Lake Baikal is the world\'s oldest and deepest freshwater lake.</string> <string name="warning_text">Are you sure you want to do this?</string> <string name="show_answer_button">SHOW ANSWER</string> <string name="cheat_button">CHEAT!</string> <string name="judgment_toast">Cheating is wrong.</string> <string name="fist_page">This is the first page!</string> </resources>

2. 从布局XML到视图对象

  • activity子类的实例创建后,onCreate(Bundle)方法会被调用,同时需要获取并管理用户界面,可再调用setContentView(int layoutResID),根据传入的布局资源ID参数,生成指定布局视图并将其放在屏幕上,布局文件包含的组件也随之以各自的属性定义完成实例化。
public class QuizActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);
    }
}
  • 资源和资源ID
  1. 使用资源ID在代码中获取相应的资源。activity_quiz.xml布局的资源ID为R.layout.activity_quiz。
  2. 应用当前所有的资源放置在R.java文件中。切换至Project视图,展开目录app/build/generated/source/r.debug即可看到。R.java文件在Android项目编译过程中自动生成,修改布局或字符串等资源后,需再次运行应用,才会得到更新。
  3. 为需要的组件添加资源ID。如:android:id="@+id/idName"
  • 组件的应用
    private Button mTrueButton;//在activity_quiz.java添加成员变量
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ......
         mTrueButton=(Button)findViewById(R.id.true_button);//引用组件
         mTrueButton.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                //设置监听事件
            }
        });
    }
   

3. 创建提示消息

Android的toast是用来通知用户的简短弹出消息。调用Toast类的以下方法可创建toast:

public static Toast makeText(Context context,int resId,int durattion)
  • Context参数通常是Activity的一个实例(Activity本身就是Context的子类)。
  • 第二个参数是toast要显示字符串消息的资源ID。
  • 第三个参数用来指定toast消息的停留时间。通常是Toast常量中的一个。
//举个例子来说
Toast.makeText(QuizActivity.this,R.string.incorrect_toast,Toast.LENGTH_SHORT).show();

4. Android与MVC设计模式

  • 应用对象按模型、控制器和视图的类别分为三部分。Android应用基于模型-
    控制器-视图(Model-View-Controller,MVC)的架构模式进行设计。MVC设计模式表明,应用的任何对象,归根结底都属于模型对象、视图对象以及控制对象中的一种。

  • 我们使用 QuizActivity 创建 Question 数组对象。继而通过与 TextView 以及三个 Button 的交互,在屏幕上显示地理知识问题,并根据用户的回答作出反馈,如图2-4所示。

  • 模型层 Question类代码
public class Question {
    private int mTextResId;//保存地理知识问题字符串的资源ID。资源ID总是int类型
    private boolean mAnswerTrue;//问题答案

    public Question(int textResId,boolean answerTrue){
        mTextResId=textResId;
        mAnswerTrue=answerTrue;
    }

    public int getTextResId() {
        return mTextResId;
    }

    public void setTextResId(int textResId) {
        mTextResId = textResId;
    }

    public boolean isAnswerTrue() {
        return mAnswerTrue;
    }

    public void setAnswerTrue(boolean answerTrue) {
        mAnswerTrue = answerTrue;
    }
}

对于有前缀m的成员变量生成getter与setter方法

首先,配置Android Studio识别成员变量的 m 前缀。
打开Android Studio首选项对话框(Mac用户选择Android Studio菜单,Windows用户选择File →
Settings菜单)。分别展开Editor和Code Style选项,在Java选项下选择CodeGeneration选项页。在Naming表单中,选择Fields行,添加m作为fields的前缀。若要添加静态变量前缀s,则添加 s 作为Static Fields的前缀。如下图。

  • 控制器层QuizActivity.java
public class QuizActivity extends AppCompatActivity {
    private ImageButton mNextButton
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android开发初体验 下一篇Android开发初体验

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目