B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)

文章目录


前言

Android是一种基于Linux的*及开放源代码的操作系统,应用层主要由Java语言编写,由于上学期学习过一些Java,也算是有了一定的基础,但开发Android应用方面还是和Java的GUI编程有一些区别的。首先是开发环境的搭建,目前比较主流的有eclipse装载ADT插件和AndroidStudio开发。2013年谷歌推出新的Android开发环境——Android Studio,相较于eclipse开发,Android Studio开发具有集成工具更加完善,类向导更简洁,以及自动保存等较多优势,并且Google也宣布Android Studio 将取代 Eclipse 编译环境,所以我选择了Android Studio开发环境,但Android Studio对硬件配置要求也是比较高的(没有固态硬盘的话打开一个AndroidStudio工程耗时可能超过三分钟)。


一、实验目的

1,掌握使用 Eclipse开发 Android应用开发程序的方法;,
2,掌握 Android虚拟设备的创建方法;
3,了解 Android的程结构
4,了解使用命令行创建 Android程序方法;
5,了解 Activity生命周期,理解 Activity事件回调,onRestorelnstanceState()和 onSavelnstanceSta两个函数的使用。掌握使用 Eclipse开发 Android应用开发程序的方法;

二、实验要求

1,实现Android编程权威指南第一章。

2,实现Android开发初体验。

3,一天之内完成。

4,报告要求 :网卡+学号+实验项目。

1.实验代码

代码如下(示例):

<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/flase_button"
        android:layout_width ="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/false_button" />
</LinearLayout>

</LinearLayout>


package com.aliyun.geoquiz;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button mTrueButton;
    private Button mFlaseButton;


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

        mTrueButton = (Button) findViewById(R.id.true_button);
        mTrueButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast.makeText(MainActivity.this,R.string.correct_toast,Toast.LENGTH_SHORT).show();
                //Does nothing yet,but soon!
            }
            });
        mFlaseButton = (Button) findViewById(R.id.flase_button);
        mFlaseButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast.makeText(MainActivity.this,R.string.incorrect_toast,Toast.LENGTH_SHORT).show();
                //Does nothing yet,but soon!
            }
        });
    }
}


<resources>
<string name="app_name">GeoQuiz</string>
<string name="question_text">Canberra is the capital of Australia.</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>


2.实验设备

1,Eclipse开发Android应用
2,Android虚拟机(AVD)

三,实验步骤

1.实验步骤截图

新建 android project ,选择 File、New Project
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)
选择“Android Empty Actitivity Project” ,Next。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)

建立一个GeoQuiz文件 后点击Finish。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)
Android 所显示的界面都是通过 xml 形式的配置文件来定义的,当然也可以完全使用代码进行编写,但是不如使用 xml 配置方便,相对复杂的界面需要两种方式配合使用。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)
在 xml 配置好的界面组件(常见的按钮、输入框等)需要添加的事件、处理函数、业务逻辑都可以在这个 Java 类中实现,根据业务需求进行编写就可以了。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)
通过 xml 的编写好的界面不包含任何功能, 需要编写 java 代码来完成业务功能, 如图所示,是一个最基本的 Activity 的功能实现。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)
手机端处理 http 请求的核心类是 org.apache.http.client.HttpClient ,通过这个核心类可以构建请求、向服务器端发送请求、接收服务器端返回的数据。 下面是一段向服务器请求当前最新版本的代码,注释讲解了整个过程。
B0-52-16-7B-F6-B3 05 Android开发初体验(实验项目二)

总结

Android应用层面的开发可能在一开始感觉比较抽象,但是只要多去写,多去Google,会发现其开发并不困难,但要真正掌握其一些高级特性以及API的底层实现还是有一定的难度,还是需要很长一段时间的学习。作为初学者,还望各位前辈多多指教,同时也希望各位新人共同努力,一起进步。

上一篇:ntdll.dll异常


下一篇:【调优工具】UMDH分析内存泄露