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事件监听器绑定的方法详解