android开发入门(一)android studio上的第一个应用GeoQuiz
来源:互联网 发布:java volatile atomic 编辑:程序博客网 时间:2024/05/16 13:56
国庆放假,小Z在家闲来无事,所以学习一下android开发。参考《Android编程权威指南》,书中使用的是Eclipse作为IDE,Maven作为项目管理工具,而现在android开发的常用IDE和项目管理工具已经为Android Studio和Maven,故小Z首先下载了Android Studio进行安装,随后在Android Studio上进行开发调试。
GeoQuiz是一个简单的地理应用,第一步为对于一个地理问题回答True或者False,根据逻辑设置会提示用户结果为Correct或Incorrect。
新建一个Activity命名为QuizActivity,进行用户界面设计设计时,修改activity_quiz.xml中的内容,定义一个垂直布局(android:oritentation="vertical"),一个TextView,然后再创建一个水平布局(android:oritentation="horizontal")包含True和False两个Button,其中文本“True”、“False”等采取字符串资源的方式定义在res\values\strings.xml中,然后通过引用的方式进行调用,从而避免硬编码。
视图对象需要注意的是在Button属性中定义android:id="@+id/true_button"的方式编码,这样会在R.java中生成资源ID,随后视图可以调用该资源ID。
引用组件,定义两个Button对象,然后调用findViewById(R.id.true_button)并且强转换为Button。
设置监听器,采用匿名函数继承 View.OnClickListener的 void onClick(View v),随后通过Toast创建提示消息,调用方法Toast.makeText(Context context,int resId,int duration),该方法的第一个参数是Activity的一个实例,第二个参数是toast待显示字符串消息的资源ID。第三个参数为Toast常量中的一个,用来指定toast消息显示的持续时间,最后调用show()进行消息显示。
小Z最后通过模拟器查看应用运行的效果,代码与应用截图如下:
activity_quiz.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="24dp" android:text="@string/question_text" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/true_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/true_button" /> <Button android:id="@+id/false_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/false_button" /> </LinearLayout></LinearLayout>
strings.xml:
<resources> <string name="app_name">GeoQuiz</string> <string name="question_text">Constantinople is the largest city in Turkey</string> <string name="true_button">True</string> <string name="false_button">False</string> <string name="correct_toast">Correct!</string> <string name="incorrect_toast">Incorrect!</string></resources>
QuizActivity.java:
package org.zlw80s.anroid.geoquiz;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;public class QuizActivity extends AppCompatActivity { private Button mTrueButton; private Button mFalseButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_quiz); mTrueButton = (Button) findViewById(R.id.true_button); mTrueButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(QuizActivity.this, R.string.correct_toast, Toast.LENGTH_SHORT).show(); } }); mFalseButton = (Button) findViewById(R.id.false_button); mFalseButton.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makeText(QuizActivity.this, R.string.incorrect_toast, Toast.LENGTH_SHORT ).show(); } }); }}
界面截图:
- android开发入门(一)android studio上的第一个应用GeoQuiz
- Android学习笔记 开发入门(一)——建立第一个应用程序(上)
- 我的第一个Android项目开发(一)
- Android开发实践(一)我的第一个androidApp
- Android开发初级入门:我的第一个Android 程序
- 【android开发入门】第一个android程序遇到的问题
- android studio jni开发的第一个范例
- android入门--第一个小应用
- Android学习--GeoQuiz项目
- Android学习笔记 开发入门(一)——建立第一个应用程序(下)
- Android的第一个应用
- Android Studio2.1上C++开发(一)——第一个JNI程序
- Android入门(7)第一个应用-GTD
- Android-应用开发-快速入门(一)
- NDK入门(一) 在Android Studio中创建并运行第一个ndk程序hello world
- 我的第一个Android应用开发----IStock
- android的第一个应用开发—财经新闻
- Android Studio ndk的开发(我的第一个ndk程序)
- GOF23种设计模式
- 大学生职业生涯规划
- Launcher3的启动流程(一)
- Github上如何查看当前最流行的开源项目
- 发现eclipse红叉,查看problem发现Target runtime Apache Tomcat 7.0 is not defined
- android开发入门(一)android studio上的第一个应用GeoQuiz
- latex 安装配置
- 二维码
- Linux使用jstat命令查看jvm的GC情况
- Redis is configured to save RDB snapshots
- 习题7-10:守卫棋盘(dfs迭代加深)
- 百度地图的使用
- Numpy学习笔记
- 设计一个栈实现最大值函数