使用Idea搭建App开发环境,创建安卓工程

582 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

使用Idea开发安卓App,只需要安卓SDK插件既可;

最近的Idea版本都包含有安卓开发的相关环境:

安装安卓SDK:

首先选择File -> Project -> 创建工程, 在这里插入图片描述 点击Android,然后选择Install SDK按钮,开始安装SDK;

创建安卓工程

重复以上步骤,在创建工程页面,选择Android,选择IPhone和Tablet选项,输入工程名称和包名,创建一个新工程; 在这里插入图片描述 创建完成后的页面如下:

一个gradle工程、包含有一个app的模块,分别有自己的build.gradle文件; 在这里插入图片描述

按需修改配置(可选)

按需修改下app文件夹下的gradle文件。修改版本 在这里插入图片描述 修改material版本,解决后想的布局页面警告问题(Path.ok()问题) 在这里插入图片描述

给页面添加一个按钮

在activity_main.xml文件中添加按钮,可以选择拖拽的方式添加,或者通过代码直接添加 在这里插入图片描述 添加一个按钮的代码如下:

 <Button android:id="@+id/btn1"
            android:text="按住说话"
            android:onClick="say"
            android:longClickable="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
        />

界面如下: 在这里插入图片描述

给按钮添加点击事件

在MainActivity中添加按钮的点击事件和长按监听:

点击函数可以再xml中设置:

 android:onClick="say"

在这里插入图片描述

定义一个Button, 通过findViewById获取到页面的button 跟button添加一个长按监听事件

长按监听器实现

长按监听器需要实现View.OnTouchListener类; 然后实现其中的onTouch方法;

class MidOnTouchListener implements View.OnTouchListener {
    private int long_pressed = 0; // 长按标志符
  
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            Thread t = new Thread() {
                @Override
                public void run() {
                    super.run();
                    try {
                        Thread.sleep(250);                  } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    // 线程未被打断
                    if (long_pressed == 0) {
                        long_pressed = 1;   
                        hd.sendMessage()
                      } else {
                        long_pressed = 0;
                    }
                }
            };
            t.start();
        }
        if (event.getAction() == MotionEvent.ACTION_UP) {
            if (long_pressed == 0) { // 标识符未置位
                long_pressed = -1;
                // TODO: 执行点击对应的方法
            } else if (long_pressed == 1) {   // 标识符已置位,则为长按
                // TODO: 执行长按释放对应的方法
                long_pressed = 0;
            }
        }
        return false;
    }

定义一个处理器,实际处理业务逻辑

  private Handler hd = new Handler(Looper.myLooper()) {
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 111) {
                // TODO: 执行长按按下对应的方法
                Log.d("say", "长按操作");
            }
        }
    };
安装到手机模拟器测试

启动手机模拟器,在app窗口会出现模拟器选择,选择模拟器安装调试;

在这里插入图片描述

完成