android实验一,熟悉androiddd的运行环境,新手熟悉安卓,刚上手
1、 在MainActivity中增加一个TextView和一个Button,点击Button时以Toast显示“Hello”
代码:
方法一:直接调用方法://直接通过id来创建方法
public void btnClick(View view) {
Button btnClick=(Button)findViewById (R.id.btnClick);
Toast.makeText(MainActivity.this,“Hello World”,Toast.LENGTH_LONG).show();
}
方法二:监听事件//通过调用监听事件来创建
Button btn1=(Button)findViewById(R.id.btnClick);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"Hello World",Toast.LENGTH_LONG).show();
}
});
方法三:继承 //让主活动继承监听类,来创建后面根据v.getid来确定到底是哪个
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
public void onClick(View v) {
swhich(v.getid())
{
Case R.id.btnid1:
Toast.makeText(MainActivity.this,“HelloWorldid1”,Toast.LENGTH_LONG).show();
Case R.id.btnid2:
Toast.makeText(MainActivity.this,“HelloWorldid2”,Toast.LENGTH_LONG).show();
}
}
xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="200dp"
android:paddingRight="100dp">
<TextView
android:layout_width="80dp"
android:layout_height="match_parent"
android:text="@string/aaa"></TextView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnClick"
android:text="点击"
android:onClick="btnClick"
></Button>
</LinearLayout>
2、 在1小题程序运行时,在Activity显示后和Button单击后,以Log.d打印log信息 代码及结果: 代码: package com.example.myapplication3;
import androidx.appcompat.app.AppCompatActivity;
import android.nfc.Tag;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
public class MainActivity extends AppCompatActivity {
public class MyActivity extends MainActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {//方法创建时调用
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(“andriod第二题1”,“LOG信息”);
}
}
public void btnClick(View view) {//应用按钮的id来调用点击事件
Button btnClick=(Button)findViewById (R.id.btnClick);
Log.d("andriod第二题2","LOG信息");
}
}
3、 Android项目结构分析,回答以下问题:
(1) Android存放源代码和资源(如程序中的图片、界面等)的目录分别是?
存放界面的是res.layout
存放图片的是res.mipmap.ic_launcher
存放颜色、字符串、等资源的是res.values
(2) R文件的位置、R文件的功能及如何调用R文件中的属性?找到2小题Button在R文件中的注册项,并复制粘贴出来。
版本过高,隐藏了R文件
(3) Activity设计文件、代码文件分别是什么,在哪里?Activity需要在哪里注册?复制粘贴出Activity注册的源代码。
设计文件是activity-main.xml
代码文件是MainActivity.java
注册Activity有两种方法
第一种是用新的Activity继承旧的Activity,这种方法的好处是子类可以继承父类的功能,具体代码如下:
public class MyActivity extends MainActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
第二种是直接创建一个新的Activity
- 在Android studio中进行打开一个项目的文件,然后在Java的文件下进行创建一个activity的文件,进行选中目录文件。
2.进行点击Android studio软件菜单的“file”的选项。
3.就会弹出了下拉的菜单中,进行选择菜单中的“new”的选项。
4.点击完new的选项,就会弹出了下一级的菜单中进行选择一个为“activity”的选项。
5.在activity中提供了多个activity的模板的文件,可以进行使用这些模板进行创建activity的文件。
6.就会弹出了一个activity的窗口的,在activity name的名称中进行输入昵称,然后直接进行点击“finish”的选项。
代码创建Activity:
app.manifests.AndroidManifest.xml(可以先建class,然后继承Activity类然后在这个文件里面注册Activity)
app.manifests.AndroidManifest.xml中创建Activity的代码则如下:
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
中间加入的两行是让这个活动首先进行 (4) 分析2小题程序,哪里使用了匿名类和匿名对象?如果换成非匿名的类和对象改怎么写? 此处View是一个匿名类 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201119001113131.png#pic_center)
如果用非匿名类来写的话:View V=new View(); V.OnClickListner();(相当于把View实体化出来)
4.参考教材P134页活动的生命周期图,以Log.d 打出Activity在加载显示、打开另一Activity、以及关闭所打开的Activity时的生命周期方法调用情况。
启动activity后,查看Logcat里的消息:
单击模拟器home键后:
在打开另一个activity/或者退出这个activity,但不毁掉它:
再关闭所打开的activity:
代码:
package com.example.retest1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnclick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(“CreatActivity”,“ActivityCreate”);
setContentView(R.layout.activity_main);
btnclick=(Button)findViewById(R.id.btnClick);
btnclick.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.btnClick:
Log.d("click","LogShow");
}
}
@Override
protected void onStart() {
super.onStart();
Log.d("click","onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("click","onResume");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("click","onRestart");
}
@Override
protected void onStop() {
super.onStop();
Log.d("click","onstop");
}
@Override
protected void onPause() {
super.onPause();
Log.d("click","Pause");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("click","onDestroy");
}
}