1.android:hint="只能输入指定数字",文本框中显示提示信息 2.android:password="true"该文本框是一个密码框 3.android:phoneNumber="true"...该文本框是一个电话框 4.android:digits="abcdefghijk"指输入内容限制为指定内容 5.android:drawableLeft="@drawable/icon"设置文本左边绘制指定图像...6.android:drawablePadding设置文本框内文本与图形间的间距 7.android:selectAllOnFocus="true"获得焦点时自动选中所有文本 8.android:elipsize...="middle"设置文本超过TextView长度时如何处理文本内容,省略 9.android:cursorVisible="true"设置文本框光标是否可见 10.onClick事件中设置提交时未填写时提示
---- Android Studio中查看当前类的结构,快速查找方法 Ctrl + F12 ?...折叠/展开当前花括号中的代码 Ctrl(Command)+ ] / [ 跳转到代码块结束/开始处 F2 或 Shift+F2 高亮错误或警告快速定位 Ctrl(Command)+Shift+...Command)+E 最近打开的文件 Alt(Option)+F3 快速查找,效果和Ctrl(Command)+F相同 F4 跳转至定义变量的位置 Alt(Option)+F7 查询当前元素在工程中的引用...Ctrl(Command)+F7 查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ctrl(Command)+Alt(Option)+F7 选中查询当前元素在工程中的引用 Ctrl...计算变量值 ---- VCS |按键|说明| |Alt(Option)+ ~| |VCS 操作菜单| |Ctrl(Command)+K|提交更改| |Ctrl(Command)+T|更新项目
__android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) #define LOGI(...)...__android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) #define LOGW(...)...__android_log_print(ANDROID_LOG_WARN,LOG_TAG,__VA_ARGS__) #define LOGE(...)...__android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) #define LOGF(...)...#endif #endif 最后在c或c++文件中#include “log.h”就可以使用了
#Android Studio曲折更新之路 Android studio 3.0版本出来也好长时间了,自己的电脑每次有更新我就立马回更新成最新的,公司的电脑自从装上AS就没有更新过,主要是工作比较忙没有时间去更新...我自己的电脑每次更新都是自己下载安装完补丁之后自动安装并重启的,下载完再安装也是可以的,就是比较麻烦而已,而我不想使用这种方式去安装,最后搜了一下大概的意思就是Android Studio的版本太低了不支持使用更新补丁的方式升级到最新的版本...,我现在的版本是2.2.3想升级到最新的3.0.1版本,而Google不提供补丁包,可能是版本跨度太大了吧,我想着肯定是有办法的,最后在CSDN上找到一篇博客,和我的情况一样,使用手动更新Android...这样就可以下载对应的版本的补丁包,我第一次拼接时,没有自动下载,然后响应超时了,估计是版本太旧的缘故,刚才在https://dl.google.com/Android/studio/patches/updates.xml...,再更新到3.0.1,于是从上面的网页中找到2.3.3对应的版本串口,拼接出一个下载的url,复制到浏览器中,点击回车… WC!!!
问题描述 Gradle-Could not determine java version from '12' 可能是 Gradle 版本不兼容, 尝试着更新 Gradle 版本 使用 Android studio...gradle-4.6-all.zip #修改为 distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-all.zip 在...Android studio 的终端 Terminal 输入 gradlew build 执行命令,看到 BUILD SUCCESSFUL,说明更新成功。...如果你的项目是 React Native 的话, 直接 运行 react-native run-andriod 也会自动更新 手动下载更新 官网地址和 gradle 各版本下载地址: 官网:http:/...studio => Preferences=>Build,Execution,Deployment=>Gradle 选择 User local gralde distribution ,选择刚刚解压的目录
前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少。今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题。...问题: 每次run(运行)项目在android Emulator一直显示黑屏问题,如下如所示: ? 可能是没有检测到匹配的虚拟设备(unknown devices): ?...解决方案: 重新创建一个新的虚拟设备(Create virtural devices),下载,安装:点击Android Virtual Device Manager(虚拟设备管理)按钮>Create...最后选择刚安装的虚拟设备运行android项目: ? 黑屏问题成功解决,项目界面正常展示: ? ?
前言 重新安装了Android studio 之后, 启动android studio,打开原来的项目,界面一直停留在: ?...img 一直停留在此界面的原因是:Android studio 在下载新版 Gradle ,但是由网络原因, Gradle 下载不了,所以无法打开。...重启Android Studio(首次启动需要几分钟) 步骤截图 ? 1.png ? 2.png ? 3.png
概述 我们在使用Android Studio创建Activity、Fragment等等的时候,都会使用Android Studio提供的模板来简化我们创建的,使用模板时,我们只要做简单的配置,Android...介绍 Android Studio模板的安装路径: /plugins/android/lib/templates ? ?...模板文件结构 Android Studio中已有的 EmptyActivity模板: ?...自定义MVP模板 在Google给出的MVP Sample中,每创建一个页面,需要创建: XxActivity、 XxFragment、 XxContract、 XxPresenter四个文件,步骤繁琐.../lib/templates/{userName}/MVP目录下,然后重启Android Studio。
在.gradle目录中,修改init.gradle文件,修改其中的maven地址。 在.m2目录中,修改settings.xml文件,修改其中的maven地址。
curdate() SELECT curdate(); 解析:显示当前日期 CURRENT_DATE() SELECT CURRENT_DATE(); 解析:显示当前日期 CURRENT_TIME(...() SELECT curtime(); 解析:显示当前时间 date() SELECT DATE("2017-06-15"); 解析:从日期或日期时间表达式中提取日期值 DATEDIFF() SELECT...分钟到第一个参数日期上 SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 HOUR); 解析:加-3小时到第一个参数日期上 SELECT DATE_ADD...: t 中的小时值。...() 解析:输出当前日期和时间 LOCALTIMESTAMP() SELECT LOCALTIMESTAMP() 解析:返回当前日期和时间 makedate() SELECT makedate(
虽然不知道为什么Android Studio在我大概一个工程的时候自己就开始下载Gradle.zip包了,但是从之前那么多次更新的情况来看,Gradle应该会在如下几种情况提示更新: 1....Android Studio有组件更新的时候 2. 新建的工程用了之前没有用过的Android SDK的版本(比如我最近项目中用到的SDK 24版本) 3....显示包内容 然后我们关闭Android Studio,来到Android Studio安装的位置:显示包内容->Contents->gradle: ?...我发现更新Gradle后的工程会报错,提示我在build.gradle里面建立的依赖都出现了cannot resolve的问题,这时候重启一下Android Studio,工程就会恢复正常了。...当然重启后的工程会提示使用的gradle版本太低,毕竟现在使用的最新gradle都到了2.14版本了,不过更新意味着又费时,对于工程来说,能够将代码跑通就行,而且太新的gradle会导致团队成员在接手你的代码的时候要另外更新
有时候,一个列表中的Item会有EditText的出现,而由于View复用机制,如果不好好处理EditText,将会出现一些问题。...菜是原罪 EditText在RecyclerView中的问题 例子是这样的,每个Item包含一个title、一张图片以及一个评分,这个评分就是通过输入框来输入的。...原来是因为这里是addTextWatcher,而不是setTextWatcher,也就是在复用的时候,同一个EditText添加了多个TextWatcher,怪不得分数9还能出现在上面了。...首先我是试了一个,removeTextWatcher的方法,那就是在Adapter的detachViewHolderFromWindow方法中移除TextWatcher,如下: class PicAdapter...很简单,在updateView(),也就是bind过程中每次去更新PicItem就可以了。
最新的 Android Studio 4.1 版本 (目前已经在稳定版渠道发布) 为我们带来了一个新的“间距图标” (在编辑器和代码行号之间的图标,如下图所示),通过点击这个图标,我们可以轻松地在 Dagger...在 Android Studio 4.2 中加入了更多针对 Hilt 的支持,除了上述列出的 Dagger 功能之外,您还可以更便捷使用入口点 (entry points) 导航功能。...在 Android Studio 中新增的 Dagger 导航支持 正如您所看到的,在 Android 应用中 Dagger 关系的导航从未如此简单。...实践 在 Android Studio 4.1 Canary 7 之后,您可以在使用 Dagger 的项目中看到一个新的间距图标: Android Studio 中新的 Dagger 间距图标 它们的点击效果是...在入口点可以导航到依赖的来源 Find Usages 功能 在 Android Studio 中可以使用 Find usage 功能找到您 Dagger/ Hilt 代码之间的关系。
下面就来说一下怎么在EditText中屏蔽表情吧。 网上有很多这样的列子但是一不小心就会掉进坑里面,比如继承EditText,重写addTextChangedListener()方法。...); MyToast.showText("不支持输入表情"); return ""; } return null; } }; 然后给editText...设置filter,这里给editText设置了两个filter第一个是屏蔽表情,第二个是设置用户输入多少字数的限制 //给editText设置filter edit_name.setFilters(new
在Android Studio中,你可以很快速的使用Parcelable插件进行实体类的序列化的实现,使用该插件后,你的实体类可以快速的实现Parcelable接口而不用写额外的代码。...首先需要下载该插件: 在File- Setting- Plugins里的搜索框内输入内容:android parcelable code generator,然后自己下载好重启studio即可使用该插件了...重启studio: ? 点击右键弹出提示框,选择Parcelable生成即可: ? 序列化时选择需要的属性: ? 最后是自动生成的代码,也表示成功的实现了Parcelable接口: ? 怎么样?...以上这篇在Android Studio中Parcelable插件的简单使用教程就是小编分享给大家的全部内容了,希望能给大家一个参考。
1、平平常常中就这样开始 某一天,我准备做一个搜索功能,这个搜索功能呢大概是在主活动A中,用EditText接收输入,当EditText监听到输入框中内容有变化,跳转到活动B中,活动B中准备有搜索历史记录等等...,等在活动B中确定好搜索关键词后,跳回到活动A中,执行搜索,并显示搜索结果……一切顺顺利利,然后呢,懵逼了,我回不了活动A了。...中有输入时,跳到B,在B中确定好关键词后,点击搜索(你的搜索在哪里,让你们看下图吧) ?...关键点我已经标出来了,在7和11间,有了监听方法的执行,说明:EditText的setText方法会触发 文本变化的监听,这就是此次踩坑的根源。...4、 捕获凶手:setText()方法会触发EditText文本变化的监听 5、解决方案:将setText设置在设置监听之前,或者用setHint也可以。
之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的。那么如何实现service动态更新UI界面呢?...案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。...注册BroadcastReceiver 在主程序activity中注册一个BroadcastReceiver,用于接收Service发布的广播。...doJob();// 调用方法启动线程,自己来完成 8 return super.onStartCommand(intent, flags, startId); 9 } 实时发送 后台service在doJob...()方法中连接服务器并向主程序实时发送广播。
前言 在开发中,我们常常遇到这种情况 ? 我们往往需要的是下面这种效果 ?...但是如果把这些实现的代码写在Activity中会比较麻烦,影响代码美观 解决方法 于是就有了下面这个辅助类,禁用了按钮的点击事件和按钮的渐变色,可同时添加一个或者多个EditText /** *...mMainView.setEnabled(false); if (isAlpha) { //设置半透明 mMainView.setAlpha(0.5f); } } } } 在Activity...,当然也可以添加TextView mInputHelper.addViews(mEditText1, mEditText2, mEditText3); } 在Activity销毁时移除监听(避免内存泄露...,还可以添加TextView,因为EditText是TextView的子类,最后要是觉得好用记得点个赞。
目录 Android Studio的使用过程 从安装到试运行第一个小程序 导入别人的Android Studio 项目 运行时会出现的一些问题整理 Android Studio的使用过程 从安装到试运行第一个小程序...新建项目及AS内部工具使用 导入别人的Android Studio 项目 [如何成功运行和导入别人的android studio项目?]...运行时会出现的一些问题整理 如何使用模拟器或手机运行程序 ---- 问题:Android Studio磁盘空间不足:Emulator: emulator: ERROR: Not enough space...to create userdata partition 解决方案:在一个空间比较大的盘下新建一个android文件夹,把下面这个文件(Pixel_2_API_R.avd)剪切到新建的文件夹下。...---- 问题:Android中R.layout.xxx,有资源文件,调用不到。
在Android Studio中使用Kotlin 对Kotlin学习想要深入的可以看以下的文章,我也在学习中,多多交流沟通。...(二)数据类型 Kotlin学习日志(三)控制语句 Kotlin学习日志(四)函数 Kotlin学习日志(五)类与对象 首先要说明为什么要学习Kotlin,因为以后可能Java将会闭源,安卓团队在谷歌...而之后Android Studio版本的首先语言也都是Kotlin而不是Java,另一点也是亲身经历,就是现在出去面试Andorid开发,面试官都会问你知不知道Kotlin?多久能掌握?。...1.在Android Studio上面创建一个Kotlin语言为主的项目 如下图所示创建项目 ?...里面句尾可以不用加分号,这个在Java里面是不行的)现在我们打开activity_main.xml文件,在里面放一个TextView并且给一个ID 代码如下: <?
领取专属 10元无门槛券
手把手带您无忧上云