Android Studio学习开发笔记

文章目录

  • 前言
    • 构建首个应用
    • 运行
    • 第一次可能会出现的问题
    • 文件在哪里编辑
  • android基础--控件
    • 基础属性
    • 带阴影的TextView
    • 实现跑马灯效果的TextView
    • button
    • EditText
    • ImageView
    • ProgressBar
    • Notification
    • Toolbar
    • AlertDialog
    • PopupWindow
  • android基础--布局
    • LinearLayOut
    • RelativeLayout
    • FrameLayout
    • TableLayout
    • GridLayout
  • 以上为android开发基础,接下来从0基础开始入门开发
    • 创建一个empty activity
    • manifests
    • java
    • res
    • 关于如何设置在线模拟器
    • viewgroup
    • 使用XML布局文件控制UI界面
    • 在java代码中控制UI界面
    • 使用XML和java代码混合控制UI界面
    • 关于设置一个跟随手指移动的自定义组件

前言

构建首个应用

在英文目录下创建project项目~~“字符数字下划线”

  1. 安装最新版Android Studio
  2. 在welcome to Android Studio窗口中,点击Create New Project

Android Studio学习开发笔记_第1张图片
4. 如果您已打开一个项目,请依次选择 File > New > New ProjectAndroid Studio学习开发笔记_第2张图片
5. 在 Select a Project Template 窗口中,选择 Empty Activity,然后点击 Next。
6. 在 Configure your project 窗口中,完成以下操作:
在 Name 字段中输入“My First App”。
在 Package name 字段中输入“com.example.myfirstapp”。
如果您想将项目放在其他文件夹中,请更改其 Save 位置。
从 Language 下拉菜单中选择 Java 或 Kotlin。
在 Minimum SDK 字段中选择您希望应用支持的最低 Android 版本。
7. 点击Finish

kotlin是基于Java的一种语言

第一次进入,需要下载依赖库,需等待一段时间。

确保打开Project窗口(依次选择 View > Tool Windows > Project),并从该窗口顶部的下拉列表中选择 Android 视图。

运行

基于手机运行
使用一根 USB 线将设备连接到开发机器。如果您是在 Windows 上开发的,则可能需要为设备安装合适的 USB 驱动程序。
执行以下步骤,在开发者选项窗口中启用 USB 调试:
打开设置应用。
如果您的设备使用 Android v8.0 或更高版本,请选择系统。否则,请继续执行下一步。
滚动到底部,然后选择关于手机。
滚动到底部,然后点按版本号七次。
返回上一屏幕,滚动到底部,然后点按开发者选项。
在开发者选项窗口中,向下滚动以查找并启用 USB 调试。
Android Studio学习开发笔记_第3张图片
点击 Run 。
基于模拟器运行

在 Android Studio 中创建一个 Android 虚拟设备 (AVD),模拟器可以使用该设备安装和运行您的应用。
在工具栏中,从运行/调试配置下拉菜单中选择您的应用。
从目标设备下拉菜单中,选择要用来运行应用的 AVD。
Android Studio学习开发笔记_第4张图片
在这里插入图片描述
Android Studio学习开发笔记_第5张图片
Android Studio学习开发笔记_第6张图片
Android Studio学习开发笔记_第7张图片

第一次可能会出现的问题

1.点击Project的Android时,loading时间太长

解决方法Android Studio学习开发笔记_第8张图片

buildscript {
    repositories {
        maven{ url = "http://maven.aliyun.com/nexus/content/groups/public/" }
        google()
        jcenter()
    }
    dependencies {
    	// 然后把这里的7.1.2 版本改成你原来内容的版本号
        classpath 'com.android.tools.build:gradle:7.1.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven{ url = "http://maven.aliyun.com/nexus/content/groups/public/" }
        google()
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

代码替换之前内容,保存即可。但新手会产生一系列问题,不建议修改此文件。
如果修改了,想要重新下载安装Android Studio。

解决方法
1.卸载android studio
2.点击本地磁盘(C:) 点击查看 勾选隐藏的项目
3.进入C;\Users\Username(用户名)删除 .android和.gradle文件
4.进入C:\Users\Username\AppData\Local 删除 Android 文件
5.进入C:\Users\Username\AppData\Roaming\Google 文件

文件在哪里编辑

操作在Project 窗口中,依次打开 app > res > layout > activity_main.xml。(可以理解为文件主页面,类似于HTML的主页面)
app > res >values > coloes.xml strings.xml等文件,类似于HTML的css文件,规定了文本样式等
如果要引用这些文件:android:label="@string/app_name"

//colors.xml

<resources>
	<color name="black">#FF000000</color>
</resources>
//activity_main.xml
android:textColor="@color/black"

android基础–控件

基础属性

1.layout_width: 组件的宽度
2.layout_hegiht: 组件的高度
3.id: 为TextView设置一个组件id
4.text: 设置显示的文本内容
5.textColor: 设置字体颜色
6.textStyle: 设置字体风格,三个可选值:normal,bold,italic
7.textSize:字体大小,单位一般是sp
8.background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
9.gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等(一般使用center_vertical垂直居中,center_horizontal水平居中)

带阴影的TextView

1.android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用
2.android:shadowRadius:设置阴影的模糊程度,设置为0.1就变成字体颜色,建议使用3.0
3.android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横向坐标位置
4.android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵向坐标位置

//activity_main.xml

android:shadowRadius="3.0"//模糊度
android:shadowDx="10.0"
android:shadowDy="10.0"

实现跑马灯效果的TextView

1.android:singleLine: 内容单行显示
2.android:focusable:是否可以获取焦点
3.android:focusablelnTouchMode:用于控制视图在触摸模式下是否可以聚焦
4.android:ellipsize:在哪里省略文本
5.android:marqueeRrpeatLimit:字母动画重复的次数

//实现自动跑马灯
//1.点击
android:clickable="true"


//2.自定义TextView
//MyTextView继承自TextView
public class MyTextView extends TextView{

}
	@Override
	public boolean isFocused(){
		return true;
	}

//activity_main.xml

<TextView>  -->  <com.enjoy.mytextview.MyTextView>


//3.加requestFocus,请求焦点
<TextView>  --->   <TextView> <requestFocus/> </TextView>

button

StateListDrawable
1.drawable:引用的Drawable位图
2.state_focused:是否获得焦点
3.state_pressed:控件是否被按下
4.state_selected:控件是否被选择,针对有滚轮的情况
5.state_enabled:控件是否可用
6.state_checked:控件是否被勾选
7.state_checkable:控件可否勾选,eg:checkbox

//btn_selector.xml

<item android:drawable="@drawable/ic_baselline_account_balance_24" android:state_pressed="true"/>

android:foreground 前景色

button事件处理
1.点击事件
2.触摸事件
3.长按事件

private static final String TAG="leo";

Button btn=findViewById(R.id.btn);

//点击事件
btn.setOnClicklistener(new.View.OnClicklistener(){
	@Override
	public void onClick(view v){
		Log.e(TAG,msg:"onClick:"); 
	}
});

//长按事件
btn.setOnLongClickListener()

//触摸事件
btn.setOnTouchListener({
	@Override
	public boolean onTouch(View v,MotionEvent event){
		Log.e(TAG,msg:"onTouch:"+event.getAction());
		return false;
	}
});

EditText

1.android:hint 输入提示
2.android:textColorHint 输入提示文字的颜色
3.android:inputType 输入类型
4.android:drawable… 在输入框的指定方位添加图片
5.android:drawablePadding 设置图片与输入内容的间距
6.android:padding… 设置内容与边距的间距
7.android:background 背景色
Android Studio学习开发笔记_第9张图片
Android Studio学习开发笔记_第10张图片

Android Studio学习开发笔记_第11张图片

ImageView

1.android:src 设置图片资源
2.android:scaleType 设置图片缩放类型
3.android:maxHeight最大高度
4.android:maxWidth 最大宽度
5.android:adjustViewBounds 调整View的界限
Android Studio学习开发笔记_第12张图片

ProgressBar

1.android:max 进度条的最大值
2.android:progress 进度条已完成进度值
3.android:indeterminate 如果设置成true,则进度条不精确显示进度
4.style="?android:attr/progressBarStyleHorizontal"水平进度条

Notification

Android Studio学习开发笔记_第13张图片
Android Studio学习开发笔记_第14张图片

manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);

//版本判断
if(Bulid.VERSION>SDK_INT>=Build.VERSION_CODES.o){
	Notification notification=new NotificationChannel(id:"",name:"测试通知",NotificationManager.IMPORTANCE_HIGH);
	manager.creatNotificationChannel(channel);
}

Notification notification=new NotificationCompat.Bulider(context:this,channeld:"").build();

Android Studio学习开发笔记_第15张图片

Toolbar

Android Studio学习开发笔记_第16张图片

AlertDialog

Android Studio学习开发笔记_第17张图片
Android Studio学习开发笔记_第18张图片

PopupWindow

Android Studio学习开发笔记_第19张图片

android基础–布局

LinearLayOut

Android Studio学习开发笔记_第20张图片
Android Studio学习开发笔记_第21张图片

RelativeLayout

Android Studio学习开发笔记_第22张图片
Android Studio学习开发笔记_第23张图片

FrameLayout

android:foreground 设置前景
android:foregroundGravity 设置前景位置
Android Studio学习开发笔记_第24张图片

TableLayout

Android Studio学习开发笔记_第25张图片

GridLayout

Android Studio学习开发笔记_第26张图片
Android Studio学习开发笔记_第27张图片

以上为android开发基础,接下来从0基础开始入门开发

创建一个empty activity

Android Studio学习开发笔记_第28张图片
在这里Activity表示窗口的意思
Android Studio学习开发笔记_第29张图片
创建完成后,点击运行,你会看到如下界面
Android Studio学习开发笔记_第30张图片
为什么会出现Hello World!
Android Studio学习开发笔记_第31张图片

manifests

安卓的
安卓的全局描述文件
在这里插入图片描述
资源文件
Android Studio学习开发笔记_第32张图片

java

程序入口地址,可以理解为程序运行时进入的主界面
Android Studio学习开发笔记_第33张图片
activity所显示的布局文件
Android Studio学习开发笔记_第34张图片
清理项目

res

layout 布局文件
mipmap 应用启动文件,包括不同分辨率
Android Studio学习开发笔记_第35张图片

关于如何设置在线模拟器

我在基于模拟器运行搞过了,往上翻一翻就好啦!

viewgroup

Android Studio学习开发笔记_第36张图片
Android Studio学习开发笔记_第37张图片

使用XML布局文件控制UI界面

Android Studio学习开发笔记_第38张图片

在java代码中控制UI界面

Android Studio学习开发笔记_第39张图片

使用XML和java代码混合控制UI界面

关于设置一个跟随手指移动的自定义组件

//MainActivity.java
package com.example.rabbit;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FrameLayout frameLayout=(FrameLayout) findViewById(R.id.mylayout);
        rabbitview rabbit=new rabbitview(this);
        rabbit.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                rabbit.bitmapX=event.getX();
                rabbit.bitmapY=event.getY();
                rabbit.invalidate();
                return true;
            }
        });
        frameLayout.addView(rabbit);
    }
}
//activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/wakk"
    android:id="@+id/mylayout"
    tools:context=".MainActivity">

</FrameLayout>
//自定义组件
package com.example.rabbit;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;

public class rabbitview extends View {
    public float bitmapX;
    public float bitmapY;
    public rabbitview(Context context) {
        super(context);
        bitmapX=290;
        bitmapY=120;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint=new Paint();
        Bitmap bitmap=BitmapFactory.decodeResource(this.getResources(),R.mipmap.aa);
        canvas.drawBitmap(bitmap,bitmapX,bitmapY,paint);
        if(bitmap.isRecycled()){
            bitmap.recycle();
        }
    }
}

你可能感兴趣的:(客户端研发,android,android,studio,java,android,studio,android)