前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少。今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题。...问题: 每次run(运行)项目在android Emulator一直显示黑屏问题,如下如所示: ? 可能是没有检测到匹配的虚拟设备(unknown devices): ?...解决方案: 重新创建一个新的虚拟设备(Create virtural devices),下载,安装:点击Android Virtual Device Manager(虚拟设备管理)按钮>Create...最后选择刚安装的虚拟设备运行android项目: ? 黑屏问题成功解决,项目界面正常展示: ? ?
绑定类名称生成规则 VII . 绑定类对应的布局中的组件字段生成规则 VIII . 视图绑定类获取 IX . 设置视图绑定后的布局 X . 获取视图绑定类组件 XI ....Android Studio 升级流程 : 尽量使用 Android Studio 自带的升级功能 , 这样能尽量少的降低对之前应用的影响 ; ① 选择 Android Studio 自带升级选项 :...生成的绑定类字段 : 只要在布局文件中定义了 id 属性的组件 , 绑定类中就会为该组件生成相应的字段 ; ① 绑定类字段对应布局 ID : activity_main.xml 布局文件中 , 第一个和第二个...获取视图绑定类组件 ---- 可以直接通过 视图绑定类 ActivityMainBinding 对象 binding 获取对应的组件 , 组件名称就是布局文件中定义的组件 id ; //binding...不生成字段 : 第三个 TextView 没有定义 id 属性 , ActivityMainBinding 中不会生成该组件对应的字段 * * * 不生成绑定类的情况 : 在布局根标签中配置
大家好,又见面了,我是你们的朋友全栈君。 在.gradle目录中,修改init.gradle文件,修改其中的maven地址。...在.m2目录中,修改settings.xml文件,修改其中的maven地址。
不过后来我反应过来之后想到,在Fragment中不是也可以获取到Activity的实例吗?那么getActivity()之后再传给PermissionX不就可以了嘛。...根据stackoverflow上的解答(解决Android问题的神网站),当我们在Fragment中再去添加另一个子Fragment时,应该使用ChildFragmentManager而不是FragmentManager...而RationaleDialog实际上继承的也是系统的Dialog类,因此在自定义对话框的用法上面,和你平时编写的代码并没有什么两样。...因此,RationaleDialog类中定义了三个抽象方法,这三个抽象方法是你在自定义对话框的时候必须要实现的,如下所示: public abstract class RationaleDialog extends...上述代码中的permissionMap以及buildPermissionsLayout()方法其实就是在处理这个逻辑,根据传入的权限来获取其相应的权限组,然后动态添加到对话框当中。
2.然后安装Andorid Studio,都是一键安装的即可。...然后打开android studio(简称AS)新建一个flutter项目,然后AS会选择gradle构建项目,下载一些必要的package,这时候就开始有很多坑了。...* In an app project, this is ../.. since the app's build.gradle is under android/app. */...dependencies { /* When bumping, also update ndkVersion above. */ classpath 'com.android.tools.build...:gradle:4.1.0' } } 这个是默认的原配置文件的内容 那么我们要在第31行的下面新增一些地址: maven { url 'https://maven.aliyun.com/repository
有的时候我们把一个表的id以逗号(,)分隔的字符串形式放在另一个表里表示一种包含关系,当我们要查询出我们所需要的全部内容时,会在resultMap标签中使用collection标签来获取这样的一个集合。...这是一个门店表,service_ids是一家门店包含的所有的服务id Java实体类为 /** * 服务商门店 */ @NoArgsConstructor @Data public class Store...服务的数据表 Java实体类如下 /** * 商家服务 */ @NoArgsConstructor @AllArgsConstructor @Data public class Service {...id in (#{service_ids})是取不出我们所希望的集合的,因为#{service_ids}只是一个字符串,翻译过来的语句例为id in ('1,2,3')之类的语句,所以需要将它解析成id...最终在controller中查出来的结果如下 { "code": 200, "data": [ { "address": { "distance":
这些测试在硬件设备或模拟器上运行。这些测试有权访问 Instrumentation API,让您可以获取某些信息(例如您要测试的应用的 Context), 并且允许您通过测试代码来控制受测应用。...您可以在project窗口中看到他们,如图1-1所示: 添加一个新测试 在写单元测试之前,务必确定gradle中做好相应的配置。...在 Choose Destination Directory 对话框中,点击与您想创建的测试类型对应的源集:androidTest 对应于仪器测试,test 对应于本地单元测试。然后点击 OK。...在EditText中输入任意字符串,点击Button在TextView中显示出来,如图6、7所示: 为了照顾到更多小伙伴,这里尽量写的细点,对应的Activity/xml文件如下所示: import...最后会在Android Studio输出通过和失败的测试结果。 最后恭喜你,你也入门了。
对话框包括:1、圆角 2、app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1、对话框边框圆角显示 2、考虑到提示文本字数不确定,在不影响美观的情况下,需要在一行内显示提示的文字信息...android:layout_centerInParent="true" /> TextView android:id="@+id/dialog_btn_comfirm...经过我1个多小时的折腾,发现这些方法都不可靠,其实很简单,以上方法用的是AlertDialog , 但是我们这里用的Dialog类,一个shape 足矣。 ...p = dialog.getWindow().getAttributes(); //获取对话框当前的参数值 p.width = (int) (displayWidth * 0.55)...p = dialog.getWindow().getAttributes(); //获取对话框当前的参数值 p.width = (int) (displayWidth * 0.55)
新建项目 进入 Create Android Project 对话框。在创建 Android 项目对话框中配置应用基本信息,注意勾选 Kotlin 支持选项,点击 Next。如下图所示 ?...这样我们可以在自定义的 Activity 类中添加 android.support.v7.app.ActionBar( API level 7 +)。...Kotlin Android Extensions 插件将会为我们生成一些额外的代码,使得我们可以在布局XML中直接通过 id 获取到其 View 对象。...使用该类创建的对话框可以很好地替换由 Activity 类中的方法创建的对话框,因为您可以像管理其他 Fragment 一样管理 DialogFragment——它们都被压入由宿主 Activity 管理的...DummyContent 这个类中构造了我们在 ListActivity 中展示的测试数据。
例如:新闻应用可以使用一个片段在左侧显示文章列表,使用另一个片段在右侧显示文章—两个片段并排显示在一个 Activity 中,每个片段都具有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。...Fragment中的UI控件 TextView tv = (TextView) findViewById(R.id.textview); tv.setText("我在Act...Fragment是UI模块,自然在一个Activity中可以不只有一个模块,所以Android提供了FragmentManage类来管理Fragment,FragmentTransaction类来管理事务..., * 所以在fragment中获取Activity的组件最早只能在onActivityCreate()中获取, * 而Activity最早只能在onStart()中获取...中获取Activity的组件 TextView textView = (TextView) getActivity().findViewById(R.id.id_tv_actUI);
;import android.util.Log;import android.view.Display;import android.view.KeyEvent;import android.view.MotionEvent...;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.TextView;import...android.widget.Toast;import android.location.LocationManager;import android.net.Uri;import android.net.wifi.WifiManager...;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message...catch block e.printStackTrace(); } } return ""; }} 获取
如何使用 Android Studio 创建 Android 应用程序 在 Studio 中创建 Android 应用程序 启动 Android development studio 在上面的屏幕上,...="bold" android:id="@+id/textView" /> <Button android:text="Click Me" android:layout_width="wrap_content..." android:layout_height="wrap_content" android:layout_below="@+id/textView" android:layout_centerHorizontal...文件 在 java 文件夹中,转到包中的 MainActivity.java 文件并编写以下代码。...因此,将您的 android 设备连接到您的电脑,然后单击工具栏上的运行选项。 您将找到以下对话框。 选择您已连接的设备,然后单击“确定”按钮。 现在,让 Gradle 构建完成。
《金刚经》 概述 ViewBinding 是和 Android Studio 3.6 一起发布的,Gradle 要求 3.6.0+,ViewBinding 可以轻松编写可与视图交互的代码,在模块中启用...绑定类中会为所有具有 ID 视图生成对应的引用。 使用 视图绑定功能可以按模块启用。在模块的 build.gradle 文件中添加如下配置。...例如,布局名称假设为 result_profile.xml: TextView android:id="@+id/name" /> android...该类具有两个字段:一个是名为name的 TextView,另一个是名为 button 的 Button。该布局中的 ImageView 没有 ID,因此绑定类中不存在对它的引用。...在 Activity 中使用视图绑定 在 Activity使用,需要在 onCreate() 方法中执行如下步骤: 1. 调用绑定类的 inflate() 方法。该方法会生成该绑定类的实例。 2.
在项目文件 gen/R.java 中,每个资源都有一个与之对应的资源对象。你可以使用 R 类中的对象名称代指资源(如:在指定 android:hint 属性时需要的字符串)。...在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return) 3 在sendMessage()方法里用findViewById()方法得到...在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return) 5 把EditText的文本内容关联到一个本地 message 变量,并使用...在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return). 4 调用 getStringExtra()提取从 MyActivity 传递过来的消息...在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return).
splash界面的细节 ctrl + O 搜索 在去标题的时候,对话框主题被去掉了,有点丑,现在既要有新版本的对话框又不显示标题 把清单文件中activity节点的主题去掉 进入到application...节点的样式设置文件里面,添加一句 android:windowNoTitle">true 设置点返回和空白地方对话框不消失 调用AlertDialog.Builer...对话框是Activity的一部分 对话框是挂载在Activity上的,Activity是Context的子类 父亲类有的子类一定有 子类有的父类不一定有 XxxActivity.this生命周期短一点...是两兄弟,设置三列 , android:numColumns=”3” 设置内部条目垂直的距离,android.verticalSpacing=”10dp” 获取GridView对象 调用GridView...length属性 重写getView()方法, 定义一个布局文件,列表中的每一项,上面是图片,下面是文字 调用View.inflate(),参数:上下文,资源,null 调用View对象的findViewById
这个类,我们继承这个类,实现ViewSwitcher.ViewFactory提供的创建TextView的方法即可; 第二步:为了实现轮播,当然是每隔一个时间段就播放一次的效果,我们可以使用Timer定时器...3.Android TextView字体设置 ?...4.设置TextView文字内容大小颜色 (1)第一种方法在activity_main.xml李设置,Java文件不用改: android:text="文字" android:textSize="字体大小...),并在app的build.gradle中的android中添加; 第五步,在AndroidManifest.xml文件中声明权限,并在application标签中添加内容; 第六步,测试代码,获取定位信息...7.Android设置EditText默认取消焦点 在EditText的父控件中,添加两个属性即可, 如下, android:focusable="true" android:focusableInTouchMode
大家好,在写安卓的时候我这边只写前端的简单页面,在写跳转的时候就开始报错了,本人看了好几天也没定位到错误,希望各位大神遇到的多多指点。...主要类 public class MainActivity extends AppCompatActivity implements View.OnClickListener{ Button...此问题月已解决 在这里犯了一个比较初级的错误 代码的位置放错拉 Button button = (Button) findViewById(R.id.button1); button.setOnClickListener...import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle...; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity
Dialog 实际开发中,AlertDialog往往还是无法满足个性化的要求,比如布局不够灵活、按钮的样式无法定制等等,所以常常得自己自定义对话框。...下面是Dialog的常用方法: Dialog构造函数 : 可定义对话框的主题样式(样式在styles.xml中定义)。如是否有标题、是否为半透明、对话框的背景等等。...默认会自动关闭 getWindow : 获取对话框的界面对象。 其中getWindow方法是自定义对话框的关键,首先获取到对话框所在的界面对象,才能往这个界面上添加定制视图。...Window类的相关用法。...findViewById : 根据资源ID获取该视图的对象。
一开始我们需要在 Android Studio 中创建一个 Basic Activity。这一步我在 上一篇文章 中都介绍过,您可以查阅并获取更多详细信息。这里我们将直接跳到下一步。...为了创建这个目的地,首先我们创建所需要的对话框类。 首先,我们在 UI 中创建一个带文本占位符的布局。在布局资源文件夹下创建一个名为 my_dialog.xml 的文件。...然后在这个布局中,添加一个 TextView 并且限制它的四边边距使其保持在容器的正中间。结果应该看起来像下图: ?...” android:label=”MyDialog” /> 复制代码 另外,我已经就这个问题咨询了 Android Studio 团队。...) } 我们只需使用适当的 id 将导航目的地改变为对话框,这里的 id 正是在导航图中创建目的地时所生成的。
Dialog弹窗 前言 在日常开发中用到弹窗是比较多的,常用于提示作用,比如错误操作提示,余额不足提示,退出登录提示等,还有用于数据展示的弹窗,上拉弹窗等等,主要为了简化在日常开发中的使用。...,在使用的时候可以传递弹窗视图Id也可以直接传View进来,这是获取弹窗的视图,还有获取弹窗视图中的子控件的视图,通过获取子控件的视图就可以对子控件如TextView、ImageView、View等控件进行属性及点击事件的设置...二、弹窗控制类 上面写好了弹窗帮助类,下面写控制类,会用到上面的帮助类,我们来看看是怎么用的,在dialog下创建EasyDialog类,先写一个空的类就好了,代码如下: public class...,一部分是用来设置弹窗帮助类的属性,一部分是定义弹窗的参数,DialogController中的方法直接调用DialogViewHelper的方法。...四、样式 为了增加用户体验,我们可以为弹窗增加出现和消失的动画效果,下面在themes.xml中增加如下代码: <!
领取专属 10元无门槛券
手把手带您无忧上云