开发自己的第一款APP-切换图片
【1】编写步骤
1 打开androidStudio,新建一个项目
2 adnrodistudion中有两种视图
- android:以后开发,经常看它
- project:有时候找一些文件,看它, 标准文件夹结构
3 编写代码
- activity_main.xml:
- 编写xml,安卓页面的布局
- 相当于前端的html
- MainActivity:
- 编写java,向后端发送请求,点击事件,滑动...
- 相当于前端js代码
4 点击运行app,可以运行在真机上
【2】设置页面排版
- 在
app/res/layout/activity_main.xml
文件中书写代码,排版页面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#dddddd"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:id="@+id/image"
android:layout_height="300dp"
android:src="@color/black"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button01"
android:text="点击更换美女"></Button>
</LinearLayout>
</LinearLayout>
- 可以点击右上角的
Code/Split/Design
切换显示不同的模式- Code
- 纯代码编辑页面
- Split
- 代码和页面两侧分开
- Design
- 纯页面编辑
- Code
【3】准备图片
- 如果是本地的静态图片,可以选择放在
app/res/drawable
文件夹下- 建议再自建一个
img
文件夹存放图片
- 建议再自建一个
- 一般这个
drawable
文件夹就是存放本地静态文件的文件夹
【4】书写页面逻辑
- 在
app\src\main\java\com\dream\changeimg\MainActivity.java
文件中的MainActivity.java
文件内书写主要的逻辑代码
package com.dream.changeimg;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import com.dream.changeimg.R;
public class MainActivity extends AppCompatActivity {
private Button button01;
private ImageView image ;
private int id= R.drawable.a;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01=findViewById(R.id.button01);
image=findViewById(R.id.image);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"切换美女",Toast.LENGTH_LONG).show();
if(id==R.drawable.a)
id=R.drawable.b;
else if(id==R.drawable.b)
id=R.drawable.c;
else if(id==R.drawable.c)
id=R.drawable.d;
else if(id==R.drawable.d)
id=R.drawable.e;
else if(id==R.drawable.e)
id=R.drawable.f;
else {
id=R.drawable.a;
}
image.setImageResource(id);
}
});
}
}
- 注意这里需要在 drawable 文件夹下放名为 abcdef 的六张图片
【5】运行项目
- 点击更换美女可以依次切换图片
【6】迭代版本(可显示网络图片)
- 在
app\src\main\java\com\dream\changeimg\MainActivity.java
文件中的MainActivity
文件内书写主要的逻辑代码
package com.dream.changeimg;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import com.dream.changeimg.R;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private Button button01;
private ImageView image;
URL url = null;
Bitmap bitmap = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01 = findViewById(R.id.button01);
image = findViewById(R.id.image);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "切换成功", Toast.LENGTH_LONG).show();
try {
url = new URL("https://lmg.jj20.com/up/allimg/tx28/03102423387976.png");
requestImage(url);
} catch (Exception e) {
Log.e("错误显示", e.toString());
}
}
});
}
private void requestImage(URL url) {
new Thread() {
@Override
public void run() {
try {
bitmap = BitmapFactory.decodeStream(url.openStream());
showImg();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
private void showImg() {
runOnUiThread(new Runnable() {
@Override
public void run() {
image.setImageBitmap(bitmap);
}
});
}
}
标签:8.3,day08,button01,安卓,MainActivity,import,drawable,id,android
From: https://www.cnblogs.com/dream-ze/p/17557904.html