Android程序设计

实验一 第一个Android Studio程序

使用Android Studio创建第一个Hello World应用程序:
1、打开Android Studio,加载画面如下图所示:

2、选择”Start a new Android Studio project“
3、输入应用程序名、选择项目路径,然后点击“Next”
4、选择最小版本的SDK,然后点击“Next”
5、选择“Blank Activity”,然后选择“Next”
6、输入Activity名称、布局名称、标题等信息后,点击“Finish”
7、创建过程中加载相应组件
8、Android Studio系统窗口如下图所示:


9、双击模拟器中的文字,可以对文字进行修改,当然也可以直接修改布局文件XML来实现,然后点击“运行”图标
10、弹出Device Chooser对话框,选择默认模拟器设备,点击“OK”
11、模拟器运行起来比较慢,需要耐心等待一段时间,模拟器加载成功的时间根据你机器的配置不同而不同,当然在开发的时候建议你直接使用真机进行调试

Activity测试

第一步:


在“layout”文件夹中新建一个Layout XML File:

将”activity_second“改写如下:

<?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:weightSum="1">  
  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="100dp"  
        android:text="This is the Second page"  
        android:id="@+id/textView2"  
        android:textSize="@dimen/abc_action_bar_progress_bar_size" />  
</LinearLayout>  

第二步:在.Java文件处新建一个`Java class,取名为ThirdActivity:

将"ActivitySecond"类改写如下:

package com.example.zhaohui.thirdactivity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

/**
 * Created by zhaohui on 2017/5/4.
 */

public class ThirdActiviry extends AppCompatActivity {

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

    }
}

第三步:

在AndroidMainfest.xml文件中添加一个标签,添加如下内容:

<activity  
            android:name=".ThirdActivity"  
            android:label="ThirdActivity">  
            <intent-filter>  
                <action android:name="ThirdActivity"/>  
                <category android:name="android.intent.category.DEFAULT"/>  
  
            </intent-filter>  
</activity>  

这样我们就新建Activity成功了,接下来再测试一下:
在主界面添加一个“按钮”用于跳转Activity,修改action_main.xml文件如下:

再次修改主界面的java类“MainActivity”,实现点击事件响应函数onClick:
添加函数onClick

public void onClick(View view)  
    {  
        startActivity(new Intent("myActivitySecond"));  
  
    }  

Android Studio 在活动中使用Toast

Toast 是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间内自动消失,并且不会占用任何屏幕空间
主要用法

Toast.makeText(Mainthis, “提示的内容”, Toast.LENGTH_SHORT).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间,只有LONG和SHORT两种 会生效,即时你定义了其他的值,最后调用的还是这两个!
Toast的方法很多,

  • 1 有默认显示的Toast , 一般这一种用法较多。
    实现代码:
Toast.makeText(getApplicationContext(), "显示默认的Toast", Toast.LENGTH_LONG).show();

  • 2 显示带图片的Toast

实现代码:

Toast toast = Toast.makeText(getApplicationContext(), "显示带图片的Toast", Toast.LENGTH_LONG);

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

LinearLayout toastView = (LinearLayout) toast.getView();

ImageView imageCodeProject = new ImageView(getApplicationContext());

imageCodeProject.setImageResource(R.drawable.wirelessqa);

toastView.addView(imageCodeProject, 0);

toast.show();

  • 3 显示自定义的Toast
  • 4 显示其它线程的Toast
  • 5 显示自定义的位置

Android监听器

android监听事件添加动作的三种方式:
第一种也是最开始就接触的方式,通常在activity组件的oncreate事件中直接定义,直接动作。这种方式每个控件都定义一次,通常不方便.

Button btn = (Button) findViewById(R.id.myButton);
 
 btn .setOnClickListener(new View.OnClickListener() {
 
         public void onClick(View v) {
 
 //do something
 
         }
 
     });

第二种通常是在activity组件实现其接口,这样可以多外控件共享一个接口,这样相对方便

public class TestMedia extends Activity implements View.OnClickListener{
 
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
 
 btn1 .setOnClickListener();
btn2 .setOnClickListener();
 
}
 
 public void onClick(View v) {
 
             switch (v.getId()) {
 
                case R.id. myButton1:
 
 //do something
 
                break;
 
                case R.id. myButton2:
 
 //do something
 
                break;
 
             }

第三种类似第二种,这样的好处在于如果需要实现多个监听接口,这样更清晰

 
public class TestMedia extends Activity {
 
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
 
 btn1 .setOnClickListener(new ClickEvent());
 
btn2 .setOnClickListener(new ClickEvent());
 
}
class ClickEvent implements View.OnClickListener
 
 public void onClick(View v) {
 
             switch (v.getId()) {
 
                case R.id. myButton1:
 
 //do something
 
                break;
 
                case R.id. myButton2:
 
 //do something
 
                break;
 
             }

代码链接

困难及解决

activity的实践老是出错,参考了很多博客论文得以解决。链接见参考资料

参考资料

使用Android Studio创建第一个Hello World应用程序
Android 入门教程
Eclipse新建Activity并启用
Android Studio新建Activity
开发第一个Android应用之前你需要知道的六件事
Android常见应用
编写安卓程序
Toast的几种效果实现(附源码)
android事件监听器绑定的方法详解