本文仅讨论在Android平台应用开发中的使用,其它平台也相似但可能存在些许差别。 简介 在搭建MVVM项目之前我们先来简单了解下MVVM模式,以及和MVP的区别。...值得庆幸的是,DataBinding框架Google已经帮我们做好了。在Android中我们可以通过一个简单的配置集成DataBinding,使我们构建Android MVVM 应用程序成为可能。...不要慌,这个类是自动编译生成的,根据layout.xml文件的名字,把下横线去掉,然后首字母大写,最后在加上一个Binding。...这么看ViewModel也不复杂,还有一些在这个简单的例子没有体现,比如点击事件,MVVM的点击事件是在layout.xml中定义: ?...这里就不贴FriendViewModel的代码了,聪明的你一定知道该怎么写了。我们一起看下运行效果图: ?
简单看几个图就知道网上的博客写的大概是什么样的(我并没有针对谁,只是说我们写博客给别人看一定要注意一目了然): 有这样的:标题是链接,介绍就一句话,没有具体用法,图片看不到。 ?...有这样的 有这样的:全部是文字,没图片,杂乱,类型不知道,哪个好用也不知道,还要自己一个一个的去下载试试看。 ?...有这样的 我是一个 追(自)求(娱)极(自)致(乐) 的技术宅,那些博客看的我想砸了电脑,为啥不讲清楚一些,让人可以知道是干嘛用的?这也是我整理这篇博客的原因。...layout format 使用 使用中可能会遇到的问题,在导入插件时,windows下可能会出现插件加载失败的情况。...]...后面还有一大串,在此省略这是使用的android studio 的运行时的jdk版本低于插件的jdk,换成最新的jre1.8就OK了( 查看android studio 的 java 版本是在:
出现原因:原来新的 Android SDK 在运行虚拟机的时候,需要安装 Intel HAXM:一个硬件加速器,为的是在x86平台上加快安卓虚拟机的运行。...原因:重复依赖导致的. 解决办法: 找到报错的那个提示,看上面报错的是哪个类,双击shift搜索一下,看这个报错的类在哪个依赖库里面用到了。...原因: 项目路径太长,导致有的资源文件整个路径长度超过了240个字符。这是Android Studio的一个坑。 解决办法: (1)重命名项目名,重新运行一下。...(3)在项目的build.gradle文件中添加multiDexEnabled true 搞定。 示例: 之前是在win7电脑的工程运行在mac电脑,打开就出了这样的错误。...我看报错那里说的是注解报的错,我怀疑是jdk不一致导致的。我是打开IDE报的错,我把as的配置导入到了IDE,打开项目就报错了,as用的是jdk1.8,不知道这个IDE是不是要用jdk1.7?
在Android开发中,合理的使用Android Studio插件不但可以提高开发效率,还能从整体上提高代码的质量。下面就Android开发中常见的一些插件做一个整理。...7,findBugs-IDEA 查找bug的插件,Android Studio也提供了代码审查的功能(Analyze-Inspect Code…) 8,adb wifi 使用wifi无线调试你的app,...10,JsonOnlineViewer 在Android Studio中请求、调试接口。 ?...16,Android Postfix Completion 可根据后缀快速完成代码,这个属于拓展吧,系统已经有这些功能,如sout、notnull等,这个插件在原有的基础上增添了一些新的功能,我更想做的是通过原作者的代码自己定制功能...26,gradle-retrolambda 在java 6 7中使用 lambda表达式插件需要修改编译的jdk为java8。 ?
有这样的 有这样的:全部是文字,没图片,杂乱,类型不知道,哪个好用也不知道,还要自己一个一个的去下载试试看。 ?...有这样的 我是一个 追(自)求(娱)极(自)致(乐) 的技术宅,那些博客看的我想砸了电脑,为啥不讲清楚一些,让人可以知道是干嘛用的?这也是我整理这篇博客的原因。...layout format 使用 使用中可能会遇到的问题,在导入插件时,windows下可能会出现插件加载失败的情况。...]...后面还有一大串,在此省略 解决方式:这是使用的android studio 的运行时的jdk版本低于插件的jdk,换成最新的jre1.8就OK了 ( 查看android studio 的...2)在Android Studio的设置界面,对在当前类中是否强制初始化提供了默认值设置,这样就可以让插件使用更符合自己的操作习惯。 ?
Google 早在2017年就官宣了 Android 与 Kotlin 的关系。我在这次写 SDK 的时候最大胆的决定就是全部使用 Kotlin,事实证明我是正确的。...好的是,从 Android Studio 2.3 开始,CMake 已经被很好地集成了进来,我们可以在项目里直接添加 C/C++ 的代码,然后编译期间动态生成 so 文件。...image.png 有没有一种办法,来让 library 开发者可以向 Android Studio 申明自己需要暴露哪些资源,而哪些不希望暴露呢? 当然是有的。...这个方法的详细介绍可以看官方文档: developer.android.com/studio/proj… 但是不知道为什么,这个方法我在15、16年的时候还是有效的。...但是升级到 Android Studio 3.3 + Gradle Plugin 3.1.3 之后我发现 IDE 不会再警告了,也可以通过编译,不知道这又是什么坑。
本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕 根据屏幕的配置来加载合适的UI布局 确保正确的布局应用在正确的设备屏幕上 提供可以根据屏幕大小自动伸缩的图片...下图是这个布局分别在竖屏和横屏时显示的结果,注意控件的宽和高是根据屏幕自适应的。 ?...在News Reader示例程序中,布局在不同屏幕尺寸和不同屏幕方向中是这样显示的: 小屏幕, 竖屏: 单面板, 显示logo 小屏幕, 横屏: 单面板, 显示logo 7寸平板, 竖屏: 单面板, 显示...例如,一个按钮的背景图片必须能够随着按钮大小的改变而改变。 如果你想使用普通的图片来实现上述功能,你很快就会发现结果是令人失望的,因为运行时会均匀地拉伸或压缩你的图片。...你也可以在图片的右边框和下边框绘制来标记内容需要放置在哪个区域。结果如下图所示: ? 注意图片边框上的黑色像素,在上边框和左边框的部分表示当图片需要拉伸时就拉伸黑点标记的位置。
fragment简介 Fragment是activity的界面中的一部分或一种行为。...Fragment具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。...你可以在layout.xml文件中声明Fragment,元素为:;也可以在代码中创建Fragment,然后把它加入到ViewGroup控件中。...把fragment添加到activity 方法一:在layout.xml文件中声明fragment 先写一个fragment文件,然后往main.xml文件里面添加fragment,会跳出页面让你选择,...运行效果:(由于是在AVD上演示的,所以横屏的效果没有),点击LinearLayout就有右边的效果 ? ?
配置依赖 安卓扩展是 IntelliJ IDEA 与 Android Studio 的 Kotlin 插件的组成之一,因此不需要再单独安装额外插件。....* 假设当前布局文件是 activity_main.xml,我们只需要引入 kotlinx.android.synthetic.main.activity_main.*。...导入完成后即可调用在xml文件中以视图控件命名属性的对应扩展!...---- 使用实例 1. lauout文件中布局TextView组件 <TextView android:id="@+id/hello" android:layout_width="...Activity中调用对象并重新赋值 hello.text = "Hello World!" 3. 运行结果 ? ---- 国际惯例 贴上完整源码 完整 Layout.xml <?
简单来说在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的。...Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程时,都会将这个Dalvik虚拟机实例复制到新的应用程序进程里面去,而一个应用程序进程被Zygote进程孵化出来的时候...我们等待Android Studio连接手机,连接好我们就可以看到在Logcat选项里面看到我们的手机运行的日志报告。 ?...有如图所示的日志打印之后我们就会发现我们就可以运行了,点击Run之后会提示我们的手机安装我们刚才刚写的Apk,不过我的手机提示安装时验证超时,不能直接安装,苦恼,以后选手机也要选个正常的。...结语 从上面的实战中我们可以发现Hook的基本原理以及步骤,重新看看我们之前说的四大步,Hook的关键其实我们需要知道针对哪个模块的哪个方法进行Hook 像我们这个例子很简单,没有特意的进行代码混淆以及程序入口改写等等
,指明了当前这个项目要使用哪个版本的 Gradle 来构建,我们在 Android Studio 的 File -> Project Structure -> Project 里配置的 Gradle Version...但在 task 方面,多个 task 之间只能有前后依赖关系,即某个 task 的运行是否需要哪个 task 先运行的基础上才允许,也就是说,在 Gradle 的构建工作过程中,多个 task 是构成一条直线的...Gradle 在根据 build.gradle 构建 Module 时,怎么知道要使用哪个插件呢,声明了这么多。...当别人问我你 Android Studio 使用的 Gradle 版本是多少时,我也傻乎乎的打开根目录下的 build.gradle 文件里,看到 com.android.tools.build:gradle...这也是为什么,我们有时候直接修改根目录下的 build.gradle 中的 Android Gradle 版本时,会报一些错误说需要 Gradle 版本在多少在可以使用的原因,至于这些对应关系,官网当然有给出来了
介绍 Mac安装adb,如果电脑上没有装android studio 那么最简单的办法是用homebrew 其中 homebrew是macOS的一个包管理工具 步骤 1、安装homebrew ruby...安装IDE (android studio) 安装后,确认自己的adb目录,一般目录在 ~/Library/Android/sdk/platform-tools,~代表当前用户的根目录,如果不知道当前用户的根目录在终端上输入...打开终端(应用程序——实用工具),运行: sudo vi .bash_profile 屏幕上会提示你输入密码(输入密码的时候不会有任何字符显示,输完之后按回车就是了) 打开文件之后按i键进入插入模式(可理解为编辑模式...),然后对该文件进行编辑 export PATH=${PATH}:你的platform-tools具体地址 我输入的是 export PATH=${PATH}:~/Library/Android/sdk...注意: 如果遇到关闭终端后再打开,又无法使用adb命令了,可以尝试以下办法 在~/.zshrc文件最后,增加一行: source ~/.bash_profile 如果没有这个文件,可自己创建,运行命令touch
/training/multiscreen/screensizes.html 本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕 根据屏幕的配置来加载合适的...下图是这个布局分别在竖屏和横屏时显示的结果,注意控件的宽和高是根据屏幕自适应的。...在News Reader示例程序中,布局在不同屏幕尺寸和不同屏幕方向中是这样显示的: 小屏幕, 竖屏: 单面板, 显示logo 小屏幕, 横屏: 单面板, 显示logo 7寸平板, 竖屏: 单面板, 显示...例如,一个按钮的背景图片必须能够随着按钮大小的改变而改变。 如果你想使用普通的图片来实现上述功能,你很快就会发现结果是令人失望的,因为运行时会均匀地拉伸或压缩你的图片。...你也可以在图片的右边框和下边框绘制来标记内容需要放置在哪个区域。结果如下图所示: 注意图片边框上的黑色像素,在上边框和左边框的部分表示当图片需要拉伸时就拉伸黑点标记的位置。
最近 Google 团队在 Medium 上发布了 Android Studio 4.0 上关于 Layout Inspector 的更新情况,原文地址如下: https://medium.com/androiddevelopers...使用 View -> Tool Window -> Layout Inspector 接着选择你要调试的进程就可以了。 这里要注意的是你选择的进程只能是 正在运行的进程 ,并且是 可调试的。...可调试就是你的 apk 中的清单文件中 debugable 的值为 true ,通过 AS 直接运行在手机或者模拟器上的应用都是可调试的。 我使用自己的应用 直达 也体验了一下。...最近比较火的 Doraemon,来自滴滴的开源开发工具就支持了这一功能,同样也支持 3D 展示。同样的,它也只支持集成进本应用查看当前布局层级。 那么,有没有办法在手机上实时查看任何应用的布局层级呢?...这里是秉心说,欢迎关注我的公众号,第一时间为你带来 Android 最新动态。
VS2019安装与使用教程 可能有很多小伙伴们,知道VS2019这个软件,但是不知道怎么安装与使用,下面我将具体介绍VS2019的安装方法与创建我们自己的C++项目以及如何运行自己编写的代码!...VS2019的分类 1.个人版:Visual Studio Community 该版本仅供个人使用免费、功能完备的可扩展工具,面向构建非企业应用程序的开发人员。...使用 Visual Studio 调试程序,通过代码的历史数据可跨语言快速查找并修复 bug,无论是在本地还是远程。 利用分析工具发现并诊断性能问题,无需离开调试工作流。...问:有多个项目我们应该如何运行该项目呢? 答:右键点击你要运行的项目,选择设为启动项目即可! 2. 如何知道我运行的是哪个项目呢? 答:看哪个项目的名字被加粗了,就运行的是哪个项目!...此时就是运行的是1.02这个项目 运行结果 以上就是我们使用VS2019创建一个C++项目的具体步骤!各位小伙伴们觉得我说清楚了吗?有疑问可以在评论区留言。
扯蛋就先扯到这里,我们来进入今天的正题。 什么是Instant Run? 我们都知道,Android Studio功能非常强大,在各个功能性方面都要优于Eclipse,唯独在速度方面被吐糟得比较惨。...可以看到,我改动了布局文件中的内容,重新运行后速度仍然很快,应用程序并没有重新安装或重启,只是Activity重启了一下,因为要将修改后的布局内容展示到界面上。...文件所引用的资源,比如string.xml中的app_name 改变桌面widget的UI相关元素 当程序变更不被Instant Run所支持时,就会执行完整的APK安装过程,同时Android Studio...由于这种情况重新运行时间比较长,就不给大家截图演示了,以前我们使用低于2.0版本的Android Studio开发时,每次都是执行的这种情况。...Android Studio无法得知改动的代码是不是在程序初始化的时候才执行的,而我们却可以知道,所以确保你理解了Rerun这个按钮的作用,并在恰当的时机使用它。
最近因为好多同学因为各种原因需要学会做一个安卓应用程序,而学会做一个安卓应用程序需要花费的时间和精力是很大的,同时传统的安卓开发还有很多不足,比如当软件进行更新迭代时需要漫长的编译过程。...有没有什么办法可以快速做出一个安卓应用程序呢?办法当然是有的,我们可以使用 React Native 来编写安卓应用程序。...最终产品是一个真正的移动应用,从使用感受上和用 Objective-C 或 Java 编写的应用相比几乎是无法区分的。React Native 所使用的基础UI组件和原生应用完全一致。...配置完成之后,先准备安卓设备,我就直接使用 Andriod Studio 里面的模拟器了,真机也可以用,但是我感觉有些麻烦。启动好模拟器或者连接上真机之后,切换到项目目录,如图所示。 ?...接着使用命令:yarn react-native run-android 来安装运行安卓应用程序,运行之后的结果如图所示。 ?
其他关于Gradle的更多介绍请参考Gradle使用指南 Android Studio入门 使用Android Studio新建一个工程之后,其目录结构是这样的: ├── app #Android App...文件名 在我们打包发版的时候,一次性打几十个包,这时候我们就想让生成的apk文件名有区分,比如一眼就能看出这个apk是哪个版本的,哪个渠道的,是哪天打的包等等,这就需要我们在生成apk文件的时候动态修改生成的...,这样这个meta-data的值就表示这个apk是哪个渠道,我们版本发布有几十个渠道,以前ant打包的时候是采用文字替换的办法,现在Gradle有更好的处理办法,那就是manifestPlaceholders...今天我们不谈这个,我想要的是在我们生成的APK包中已经包含了检测代码覆盖率的代码,这样当我们安装APK后运行进行一些测试的时候,这些检测代码覆盖率的代码就会被执行到,这样最后我们导出一份代码测试覆盖率的文件...javaexec命令执行java应用程序进程插装,插装模式使用的是overwrite,就是插装后覆盖源文件。
在MVVM模式中ViewModel和View是用绑定关系来实现的,所以有了DataBinding 使我们构建Android MVVM 应用程序成为可能。...Adapter的写法 粉丝列表:从网络获取数据,主要演示RxJava+Retrofit的基本使用方法 构建 理论讲了这么多,不废话了,下面就开始搭建MVVM的应用程序。...因为聊天界面左右type的layout对应的ViewModel 是一样的,然后在构建子类对象时,给mType赋值。 ?...方法的参数是需要加载数据的控件,和注解里申明的三个参数,然后在方法内部我们可以用自己喜欢的方式加载图片,我用的是Glide,你也可以用Picasso。...总结 好吧,啰啰嗦嗦讲了这么多,我自己回头读一遍都觉得很凌乱,其实还有很多细节没有讲到,有些太零碎的东西我实在不知道怎么讲。
你是否希望在 HarmonyOS 中为你的应用程序创建一个非常干净和圆润的配置文件图像,那么我们已经为你提供服务。...在本文中,我们将向你介绍在 HarmonyOS 中创建的 CircleImageView 库,并指导你基于它创建简单的应用程序是多么容易。让我们开始吧。...分步实施 第 1 步:这里我们将使用专门为运行 HarmonyOS 应用程序而设计的 DevEco studio IDE,如果你还没有安装,那么你可以从 SDK 的官方链接获取它。...第 5 步:接下来添加 CircleImageView 依赖项,为了在你的 HarmonyOS 移动应用程序中使用该库,你需要首先通过在entry/build.gradle 文件中添加以下依赖项来安装它...我们在运行时更改图像 在这里,我们在媒体文件夹中存储了两个不同的图像,单击按钮时,我们更改图像,如下所示。
领取专属 10元无门槛券
手把手带您无忧上云