1.build.gradle compile过时

改为implementation

2.getDrawable过时
改为

3.Error:Your project path contains non-ASCII characters.
错误原因:引用项目的路径中包含中文
解决1:换英文路径
解决2:项目中的gradle.properties中添加
android.build.gradle.overridePathCheck=true,
重新编译。
4.INVISIBLE和GONE的主要区别是:当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,界面则不保留view控件所占有的空间。

5.菜单项onCreateOptionsMenu()和onOptionsItemSelected()的区别:
(1)函数onCreateOptionsMenu()为创建Menu菜单的项目。
(2)函数onOptionsItemSelected()为处理菜单被选中运行后的事件处理。
(3)onPrepareOptionsMenu
  onPrepareOptionsMenu是每次在display menu之前,都会去呼叫,
  只要按一次menu按键,就会呼叫一次。
  所以你会发现每次只要按一次menu按键,
  menu菜单就会多两个(因为预设是两个)
  你可以利用onPrepareOptionsMenu来做update menu状态的动作

6.List遍历删除数据三种方法
(1).增强的for循环

public void listRemove() {List<Student> students = this.getStudents();for (Student stu : students) {if (stu.getId() == 2) students.remove(stu);}}

(2).迭代器遍历删除(推荐)

public void iteratorRemove() {List<Student> students = this.getStudents();System.out.println(students);Iterator<Student> stuIter = students.iterator();while (stuIter.hasNext()) {Student student = stuIter.next();if (student.getId() % 2 == 0)//删符合此条件的数据stuIter.remove();}System.out.println(students);}

(3).不使用增强的for循环,每次重新获取list的size遍历的情况运行时不会报错,但是可能删除的结果是错的。

public void listRemove2() {List<Student> students = this.getStudents();for (int i=0; i<students.size(); i++) {if (students.get(i).getId()%2 == 0)students.remove(i);}}

7.Java中的return有两方面的用途:
使用的两种形式:
(1)方法有返回值类型:
return 返回值;//返回方法指定类型的值(前提是方法的返回值类型不是void)
(2)方法没返回值类型:
return;//方法的结束,它会导致当前的方法退出。

8.ViewHolder

ViewHolder就是一个很普通的类,类似一个Bean,用来将混存的View封装好,convertView中的SetTag将这些缓存打上对应的标签以供下次直接打包调用。

 public View getView(final int position, View convertView, ViewGroup parent) {final CommonAlbum commonAlbum = getItem(position);final Album album = commonAlbum.getAlbum();final ViewHolder holder;//将混存的View封装好if (convertView == null) {convertView =  LayoutInflater.from(mContext).inflate(R.layout.favorite_item, null);//在项目中使用adapter时,加载item布局使用holder = new ViewHolder();holder.mAlbumName = convertView.findViewById(R.id.tv_album_name);holder.mCbButton =  convertView.findViewById(R.id.cb_favorite);holder.mAlbumPost =  convertView.findViewById(R.id.iv_album_poster);holder.mContainer =  convertView.findViewById(R.id.favorite_container);convertView.setTag(holder);//convertView中的SetTag将这些缓存打上对应的标签以供下次直接打包调用}else {holder = (ViewHolder) convertView.getTag(); 如果ConvertView不为空,则表示在缓存中}class ViewHolder {//将混存的View封装好ImageView mAlbumPost;TextView mAlbumName;CheckBox mCbButton;RelativeLayout mContainer;}

9.Class.getName():以String的形式,返回Class对象的“实体”名称;
Class.getSimpleName():获取源代码中给出的“底层类”简称。
**10.**Gradle sync failed: Could not run JVM from the selected JDK.
Please ensure JDK installation is valid and compatible with the current OS (Windows 10 10.0, amd64).

问题原因:多半是JDK路径不对
解决:

看下这里的jdk 是不是路径写错了,或者没有设置。设置正确就行了。

11. Gradle sync started
Gradle sync failed: failed to find Build Tools revision 28.0.2
Consult IDE log for more details (Help | Show Log)

这通常是打开别人项目时会发生的问题。
解决:
查找SDK安装目录\build-tools 下查看自己的BuildTools 版本,然后修改项目为该版本

我们项目目录下一般有两个build.gradle,答应我都要改好吗

Android studio3.5 SDK29项目开发笔记相关推荐

  1. [Openwrt 项目开发笔记]:Samba服务vsFTP服务(四)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...

  2. 京东投票项目开发笔记

    京东投票项目开发笔记 打开项目 $yarn install / $ npm install: 跑环境(把项目依赖的插件进行安装) $node admin.js: 启服务(把自己的计算机作为服务器,创建 ...

  3. 京东抽奖项目开发笔记

    京东抽奖项目开发笔记 前言: 这是一个独立项目,这个项目会由我们四个人来一起完成,所以首先就要分工合作,我是写前端的,所以我会先把基本的页面写出来 1.注册页 这是注册页的代码 <!DOCTYP ...

  4. 尚硅谷前端项目开发笔记

    尚硅谷前端项目开发笔记 B站视频直达,这个项目亮点在于所有 API 请求都并非在组件内编写,而是在组件内使用this.$store.dispatch() 派发任务,再由 Vuex(actions.mu ...

  5. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  6. Vue PC商城项目开发笔记与问题汇总

    Vue PC商城项目开发笔记与问题汇总 负责PC端商城项目,这也是人生第一个真正的项目.刚做了一天,就遇到不少问题,在这里列出自己的问题与解决办法,与大家交流,提升自己,希望以后不会掉进同一个坑里. ...

  7. 天天生鲜项目开发笔记

    天天生鲜项目开发笔记 说在前面的话 大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是"生鲜配送系统",B站上找到了一个天天生鲜的项目开发教程,之后文章记录 ...

  8. 微社区项目开发笔记(后端篇)

    废话不说,先来张包结构的图片: 很明显,采用了经典MVC三层架构.除了架构所需的包以外,还添加了一个工具包tool,里面有MD5加密和生成验证码的类,具体代码如下: 1 package com.jiy ...

  9. android responsebody转json_SpringBoot 项目开发是如何返回 json 数据以及数据封装

    本文目录如下: 1. Spring Boot 默认对Json的处理 1.1 创建 User 实体类 1.2 创建Controller类 1.3 测试不同数据类型返回的json 1.4 jackson ...

最新文章

  1. mysql主从复制错误:Last_SQL_Error: Error #39;Duplicate entry #39;327#39; for key #39;PRIMARY#39;#39; ...
  2. android 2.0 软件,Apeaksoft Android Toolkit
  3. php对象编程遇到的BUG!
  4. SpringBoot中使用thymeleaf时点击按钮触发事件失败
  5. wpsa3版面怎么变成a4、排版不变_毕业论文排版攻略
  6. Bootstrap 折叠插件Collapse 事件
  7. php域名墙检测,php 网站域名被墙判断请求方法
  8. Eclipse运行程序报错: Errors running builder ‘Integrated External Tool Builder‘ on project
  9. 设计师学python还是processing_人人都能学会的processing创意编程能实现什么?
  10. 灰度世界 matlab,灰度世界算法(Gray World Algorithm)和White Patch Retinex算法
  11. 什么叫pin脚的pad_超详细的 摄像头PIN脚功能作用
  12. linux gbk 语言包安装,linux 安装gbk字符集
  13. Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)
  14. 1034 有理数四则运算
  15. iOS如何完成蓝牙打印机功能
  16. Matlab 火焰识别技术
  17. 鲁宾逊微积分与“知识共享”,携手相伴进入中国
  18. linux srs安装教程,SRS环境搭建
  19. 微信企业号手机端清理缓存
  20. C语言中void*详解及应用

热门文章

  1. 104_Power Query 数据库条件查询
  2. go语言web开发 排坑指南
  3. matlab的syntax简记
  4. Python使用pyexecjs代码案例解析
  5. 正则表达式---------常用字符及其功能
  6. SCI、EI、ISTP、ISR、SSCI、AHCI简介
  7. 【selenium 小练手 抓取某大厂TP】
  8. jsonarray转liast_fastjson List转JSONArray以及JSONArray转List
  9. 担心你的文章图片被盗?试试用python加水印
  10. 机器学习——贝叶斯分类器