前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Android第三阶段操作总览

Android第三阶段操作总览

作者头像
奶油话梅糖
发布2025-03-03 14:58:58
发布2025-03-03 14:58:58
2300
代码可运行
举报
运行总次数:0
代码可运行

2021年3月3日更新

Android入门学习路径(幕布、思维导图)

一、Android开始编程前置操作(导入jar包)

导入需要导入的资源

  1. 根据提供的库文件文件夹,找到**“第三阶段文件”**
  2. 找到**“安卓库文件”**文件夹,内含有assetslibs文件夹
    • 将这两个文件夹按照下面的要求复制到对应的文件夹:
    • assets:为Android Studio新增的资源文件夹。将需要的模块放置在app-src-main文件夹中,和javares为同级目录
    • libs:可放置离线jar包,应将文件夹创建\复制到工程目录app根目录下(如果已有libs目录,应将将提供lib文件夹得资源包复制到你的工程下的app\libs目录下)。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HvT4UAof-1615865297231)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302090149.png)]

导入方法 一

将提供的libs文件夹内的所有文件/文件夹复制到工程目录下的libs文件夹内

  1. 点击Android Studio界面右上角的**“Project Structure”**(如图) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0d6VEHkv-1615865297235)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201110204058.png)]
  2. 在弹出的窗口中选择**“File dependency”**(如图)
    • 选择Modules,点击侧栏中的加号
    • 在弹出的选择框中拉到最底下,选择Import JARxxxxxxxxx
    • 点击Next进入第5步

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnMx0d0S-1615865297236)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111190123.png)]

  3. 在选择Next后,在下一页点击文件夹,在弹出框中选择企想提供的jar包,然后选择Finish按钮。需要注意的是,企想提供了三个jar包,需要分别导入三次。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x0T9JpxZ-1615865297239)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111190323.png)]

左边libs文件夹内的jar包出现三角时,证明导入成功,可以使用了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKKFXOET-1615865297241)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111191722.png)]

需要在Adnroid Studio内引用.so文件,在工程app文件夹根目录中找到build.gradle,并在内添加如下字段:

代码语言:javascript
代码运行次数:0
复制
sourceSets {
   main {
     jniLibs.srcDirs = ['libs']
   }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-epG1PWHZ-1615865297242)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302091748.png)]

找到提供的assets文件夹,将其复制到工程目录的app\src\main目录下,如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2yf1Ucxn-1615865297243)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302092220.png)]


导入方法 二

将提供的libs文件夹内的所有文件/文件夹复制到工程目录下的libs文件夹内

jar包放入libs文件夹内后,在需要导入的jar包上右键,选择“Add As Library......”(如图)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pB5W1kt3-1615865297244)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302090516.png)]

看到左边libs文件夹内的jar包出现三角时,证明导入成功,可以使用了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQC3SiuF-1615865297244)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111191722.png)]

需要在Adnroid Studio内引用.so文件,在工程app文件夹根目录中找到build.gradle,并在内添加如下字段:

代码语言:javascript
代码运行次数:0
复制
sourceSets {
   main {
     jniLibs.srcDirs = ['libs']
   }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ew2uXFO4-1615865297245)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302091748.png)]

找到提供的assets文件夹,将其复制到工程目录的app\src\main目录下,如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2jm2ouv-1615865297246)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302092220.png)]


二、Android Studio编译器设置相关

1. Android SDK版本

创建工程时就可以选择版本。如果忘记选择的是什么版本,可按照本教程检查/更改。

硬件、版本限制为最低SDK版本不能低于15,即Android 4.0.3

按下Ctrl + Alt + Shift + S快捷键,打开APP配置(如图),检查Min SDK版本是不是15。设置完成后点击OK即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1Bv9wF5-1615865297247)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111192215.png)]

或者打开app目录下的build.gradle,修改配置内的"minSdkVersion",修改后要点击"Sync"同步配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VtRpLTjp-1615865297248)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302093125.png)]

因为企想提供的嵌入式Android开发套件最高版本是Android 4.0.3SDK 15

2.快捷键设置

依据个人习惯

按下Ctrl + Alt + S或点击左上角File菜单,选择Settings打开Android Studio设置(如图),在左上搜索栏输入KeyMap,设置按键风格,更改为Eclipse

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WlwbVeUZ-1615865297249)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111193058.png)]

3.自动填充相关设置

在左上角搜索Auto,在侧栏二级菜单找到Editor - General - Code Completion,设置代码自动提示补全。

需要注意的是:取消勾选Match case,代表关闭大小写区分,可以更方便。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9X9r8CSd-1615865297250)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20201111193708.png)]


三、使用Android Studio创建一个工程

注:各个版本界面不同,但操作大体相同

  1. 打开Android Studio。界面大体如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQJrujcR-1615865297250)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%9B%BE%E7%89%871.png)] 点击Start a new Android Studio project即可开始第一个 Android 程序的开发。
  2. 点击第一个创建工程(Start a new Android Studio project),来到如下图界面(各个版本界面不同),此界面主要用于给APP命名、APP的包名设置、工程文件存储目录。选择好后点击Next来到下一步。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QotzUmh5-1615865297251)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%9B%BE%E7%89%872.png)]
  3. 选择对应的Android SDK版本。因为嵌入式开发套件(箱子)的版本是4.0.3,所以选择4.0.3版本(图文不一致,按照4.0.3为准) Minimum SDK 版本为 4.0.3(注意如果此版本号大于手机版本号时是无法在手机上安装的)。点击Next进入下一步。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T0hxIzvr-1615865297252)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%9B%BE%E7%89%873.png)]
  4. 进入到选择模板界面,一般选择Empty Activity(空模板),点击Next [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iHQ21U3Z-1615865297253)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%9B%BE%E7%89%875.png)]
  5. 按自己喜好填写 Activity 和 Layout 名称。点击 Finish。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZLJYT2ZX-1615865297254)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%9B%BE%E7%89%876.png)]
  6. 点击finsh后,Android Studio会正式创建一个工程,主界面如下图: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2IL4VUSX-1615865297255)(https://yp.nyanon.online/data/User/admin/home/image/gallery/blog/20201110/QQ%E6%88%AA%E5%9B%BE20210302094650.png)] 软件界面主要分为四部分。
    • 第一部分(1):这里显示了当前打开的文件目录。
    • 第二部分(2):这里显示了当前工程所有的文件,可通过右上角切换为"Project"显示更多内容。
    • 第三部分(3):这里是打开的源代码文件,编写代码的工作就是在这里完成的。
    • 第四部分(4):这里是Android Studio的工作栏,从左到右依次是“编译工程”、“App model”、“选择可运行的设备”、“运行工程”。

四、智能家居jar包改动部分

使用新的服务器连接方式

方法:SocketClient.getInstance().CreatConnect();

简介:使用Socket进行服务器连接

参数:无

返回值:String类型,“0”为成功,“1”为失败

调用示例:

代码语言:javascript
代码运行次数:0
复制
//设置用户名、密码、IP地址
ControlUtils.setUser(bizi_user, bizi_pass, SocketClient.ip);
//创建链接
SocketClient.getInstance().creatConnect();
//获取链接状态
SocketClient.getInstance().login(new LoginCallback() {
      @Override
      public void onEvent(final String s) {
          //新建可操作UI的线程
          runOnUiThread(new Runnable() {
               @Override
               public void run() {
                   if (s.equals(ConstantUtil.Success)) {
                            //成功
                   } else if (s.equals(ConstantUtil.Failure)) {
                            //失败
                   } else {
                            //出现未知错误
                   }
                }
           });
       }
});
使用新的控制指令

方法:control(String SensorType,String BoardId,String CmdCode,String Channel,String Command)翻译:控制指令(传感器类型,传感器板号ID,指令,通道,指令)

简介:发送单控控制指令

参数:SensorType——设备类型BoardId——板号CmdCode——cmd指令Channel——通道Command——开关指令

返回值(如果需要使用):boolean类型 true为成功 false为失败;

调用示例:

代码语言:javascript
代码运行次数:0
复制
ControlUtils.control(ConstantUtil.RelayType, "10",
                     ConstantUtil.CmdCode_1,
                     ConstantUtil.Channel_ALL,
                     ConstantUtil.Open);
使用新的数据获取指令

方法:ControlUtils.getData();Controlutils.getFaceData();

简介:getData()//获取设备数据getFaceData()//获取打卡信息

参数:DeviceBeangetName()//打卡姓名getTime()//打卡时间getDevice()//获取设备列表信息getSensorType()//获取设备类型getValue()//获取值getBoardId//获取板号

返回值:onResult(final DeviceBean,Device bean)。返回一个方法,内部值需要使用上面的参数自取

调用示例:

代码语言:javascript
代码运行次数:0
复制
//获取数据
ControlUtils.getData();
//获取人脸数据
ControlUtils.getFaceData();
//创建链接(不知道能不能用)
SocketClient.getInstance().creatConnect();
//开始从服务器获取数据
SocketClient.getInstance().getData(new DataCallback<DeviceBean>() {
     @Override
     public void onResult(final DeviceBean getdata) {
           //新建可操作UI的线程
           activity.runOnUiThread(new Runnable() {
               @Override
               public void run() {
               //使用try防止报错闪退
               try {
                  //获取打卡ID
                  if (!TextUtils.isEmpty(getdata.getName())) {
                     AppConfig.card_name = getdata.getName();
                  }
                  //获取打卡时间
                  if (!TextUtils.isEmpty(getdata.getTime())) {
                     AppConfig.card_time = getdata.getTime();
                  }
                  if (getdata.getDevice().size() > 0) {
                     DiyToast.showToast(activity, "当前已装载:"+getdata.getDevice().size() + "个设备");
                     for (int i = 0; i < getdata.getDevice().size(); i++) {
                     /**
                     * 获取传感器状态
                     */
                     //获取温湿度
                     if (getdata.getDevice().get(i).getBoardId().equals(BORDID_TEMP_HUM)) {
                          if (getdata.getDevice().get(i).getSensorType().equals(ConstantUtil.Temperature)) {
                         //温度
                         temp = Float.valueOf(getdata.getDevice().get(i).getValue());
                         } else {
                         //湿度
                         hum = Float.valueOf(getdata.getDevice().get(i).getValue());
                         }
                     }
                     if (getdata.getDevice().get(i).getBoardId().equals(BORDID_ILL)) {//光照度
                     ill = Float.valueOf(getdata.getDevice().get(i).getValue());
                     }
                    if (getdata.getDevice().get(i).getBoardId().equals(BORDID_SMO)) {//烟雾
                    smo = Float.valueOf(getdata.getDevice().get(i).getValue());
                   }
 
                   } catch (Exception e) {
                    //输出异常信息
                    e.printStackTrace();
                   }
          }
      });
    }
});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Android开始编程前置操作(导入jar包)
    • 导入方法 一
    • 导入方法 二
  • 二、Android Studio编译器设置相关
    • 1. Android SDK版本
    • 2.快捷键设置
    • 3.自动填充相关设置
  • 三、使用Android Studio创建一个工程
  • 四、智能家居jar包改动部分
    • 使用新的服务器连接方式
    • 使用新的控制指令
    • 使用新的数据获取指令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档