首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搭建安卓开发环境(Android Studio)

了解安卓程序 还记得之前我们在AndroidManifest.xml中注册的主Activity吗?...安卓的系统四大组件分别是 Activity(活动,是程序的门面),Service(服务,在后台默默运行的),Broadcast Receiver(广播接收器,接收来自各处的广播消息,包括别的应用程序),...其中调用了setContentView(R.layout.activity_hello_world);方法,这个就是给当前活动设置布局。...至此,我们已经搭建完安卓的开发环境,并且基本了解了一个安卓程序的结构。 重要的东西:Log Log,Log,Log重要的东西说三遍,现在来看看如何在安卓程序中添加Log。...总结 Android程序不推荐在程序中对字符串进行硬编码,而是把字符串定义在一个XML文件中。 在XML中可以通过@string/hello_world获得这个字符串的引用。

2.1K70

安卓第五夜 维纳斯的诞生

之前各讲中,分别讲解了安卓的开发环境、架构和基本概念。从这一讲开始,我将制作一个简单的应用,并通过逐步升级它的功能,连带出安卓开发的多个情境。 《维纳斯的诞生》是文艺复兴早期名画。...相传美神维纳斯从海的泡沫中诞生,波提切利用大胆的笔触描绘这一古典神话。画面洋溢着对人体和美的热爱。如果在中世纪或者西班牙宗教审判时期,这幅画足够波提切利上火刑架了。  ?...当应用启动时,安卓将调用onCreate()方法。该方法有一个Bundle类型的参数,记录Activity的状态,我将在以后讲解。...setContentView()方法为Activity增加了视图树。这里引用了activity_main.xml中的视图树。可以注意到,安卓中用R来代表资源。 监听按钮的点击事件。...View元素可以使用setOnClickListner()方法,为点击事件增加OnClickListener类型的监听对象。 用户点击按钮后,安卓将执行监听对象的onClick()方法。

1.4K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓第五夜 维纳斯的诞生

    之前各讲中,分别讲解了安卓的开发环境、架构和基本概念。从这一讲开始,我将制作一个简单的应用,并通过逐步升级它的功能,连带出安卓开发的多个情境。 《维纳斯的诞生》是文艺复兴早期名画。...相传美神维纳斯从海的泡沫中诞生,波提切利用大胆的笔触描绘这一古典神话。画面洋溢着对人体和美的热爱。如果在中世纪或者西班牙宗教审判时期,这幅画足够波提切利上火刑架了。  ?...当应用启动时,安卓将调用onCreate()方法。该方法有一个Bundle类型的参数,记录Activity的状态,我将在以后讲解。...setContentView()方法为Activity增加了视图树。这里引用了activity_main.xml中的视图树。可以注意到,安卓中用R来代表资源。 监听按钮的点击事件。...View元素可以使用setOnClickListner()方法,为点击事件增加OnClickListener类型的监听对象。 用户点击按钮后,安卓将执行监听对象的onClick()方法。

    1.1K30

    Kotlin安卓开发学习(4)

    , 29 8月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin安卓开发学习(4) 前面我们学习了Kotlin 的基本语法,但我们最终的目的是作为安卓开发。...因此,我们需要学习安卓的页面开发知识。 Activity Activity是安卓开发的最重要组成之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。...此时除了最基础的样式外,通过勾选 Generate Layout File 来自动创建一个绑定的布局文件,勾选 Lancher Activity 表示将当前Activity当作项目主Activity。...在xml中@id/button1表示资源(id)引用,与之相对应的,如果我们需要定义一个id,则需要加上“+”,即上面@+id/button1 之后的 android:layout_width 和 android...Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。

    56630

    adb命令打开app & scrcpy 投屏 - wuuconixs blog

    am是activity manager的缩写,安卓的每个app都有一个MainActivity,类似于c语言中的main函数,当运行这个MainActivity之后,这个app就能被运行起来。...#打开主活动 以下为演示视频 发到qq空间炫耀一番后,无敌的Vaala向我推荐了scrcpy,名字意为screen copy。...之后我还听从vaala的建议,在平板上运行了frp,没错,是直接在平板的里,而不是套娃在termux或者其他的模拟环境中,frp能够直接在android中运行这让我大为震惊,不过android也可以算linux...,在大二下学期日益熟悉linux之后,安卓由于和linux极大的共同性,在命令方面几乎和linux一致,这也让我觉得安卓设备非常好上手。...但是安卓没有包管理器apt,不能随意下载东西 希望之后找到能够在安卓直接运行oh-my-zsh的方法 ( 那还要什么termux,安卓yyds!

    2.3K30

    Android Activity详解(一)

    Activity生命周期图 在此之前,我们新建一个项目,代码非常简单,两个活动之间相互跳转(本来想做GIF图的,不会~~~~(>_<)~~~~) 主活动代码如下: public class MainActivity...为什么MainActivity跳转到另一个页面仅仅只进入了onStop()状态却没有被onDestroy(),在这我们需要说明一个安卓的回退栈的问题。...图画的不好看,见谅 当然,活动生命周期的改变并不仅仅由跳转页面所决定,比如手机的配置比较低,高优先级的系统级应用需要内存就会把应用杀死,那毫无疑问 活动将由onResume——>onPause——>onStop...——>onDestroy 最后一个特殊情况再测试点击手机HOME键: 绝大多数的教程内均写的是点击HOME键任务进入后台,活动onStop()被保存,但是我在真机测试时并不是这样 I/MainActivity...--->: onPause I/MainActivity--->: onStop I/MainActivity--->: onDestroy 我的设备是魅族MX4,安卓5.1的系统,个人猜想可能是安卓版本不同所导致的

    92010

    《Monkey Android》第5课之剖析第一个App

    MainAcivity.java代码分析 顾名思义,Main的意思是主要的,Acivity的意思是活动;那么,MainAcivity.java源文件的作用肯定就是: 主要的活动窗口。...我给翻译一下就是: 所有在App中能看到的和做的都是在Activity上。...onCreate 当Activity运行的时候,首先会调用这个方法,在它里面,需要用setContentView()方法来设置UI布局。 另外,布局中的各种控件,都是在这里初始化的。...; 将android:text=”@string/hello_world”改为android:text=”Hello 安卓猴”,再次运行下App看下效果。...是四大组件之一,因此它毫不犹豫的出现在了这里; android:name表示activity的名字,例如MainActivity.java这个主Activity的name就是”.MainActivity

    47820

    手机卫士设备管理权限锁屏

    KK咯: 有在“安卓吧”的网友应该都听说过”薄荷大神“。(不知道的可以进去了解下e凉心薄荷吧_百度贴吧) 后来吧友求助与吾爱破解,然后有大神分析了整个过程。...2.该敲诈者病毒样本的包名为android.support.v8主活动类为android.support.v7.q448870015。 3....该敲诈者样本Apk被安装运行后,首先获取设备安全管理服务,判断当前主活动组件是否有系统管理员权限; 如果当前主活动组件有系统管理员权限,直接将用户的手机进行锁定。...4.如果当前主活动组件没有系统管理员权限,则创建新的Activity可视界面活动类android.app.action.ADD_DEVICE_ADMIN, 使用诱导性的提示语“请先激活设备管理器”,诱导用户激活设备管理器...5.对这个作者很无语,如果用户点击“激活”,激活了用户手机的设备管器,获取系统权限则该病毒apk程序会为用户的手机设置固定值的锁机密码, 经过解密后得到锁机密码为"4650";如果用户没有点击激活,则该样本

    1.3K20

    2018年的安卓开发环境搭建

    有代理的同学直接设置一下代理就完事了,如果没有代理,可以在AS安装目录中寻找bin/idea.properties文件,然后在最后添加下面一行,应该就可以直接打开了。...然后是选择界面样式,由于是示例项目,随便选一个就可以了,我选择了空活动。 最后是设置主活动类的名称,默认即可。 最后就是漫长的等待时间了。...如果你没有代理,这个时间可能永远无法结束。就算我有代理,第一次构建也花了很长时间。...很遗憾我用的AMD锐龙处理器,所以无法运行x86安卓模拟器,准确的说是无法在关闭HyperV的情况下运行,因为我同时还要运行其他虚拟机软件。所以只能使用另一种办法,那就是直接在手机上运行。...由于我手机小米8的安卓P稳定版尚未推送,所以还正好无法运行安卓P的应用,我还特地在gradle配置文件中将minSdkVersion修改为27,才能正好运行。

    1.7K20

    Java 基础巩固:内部类的字节码学习和实战使用场景

    文章出自:安卓进阶学习指南 主要贡献者: Cloud9527 Alex_赵 Struggle shixinzhang 背景介绍 大家好,这篇文章是 《安卓进阶技能树计划》 的第一部分 《...我们做这个活动,除了要保证知识点的全面、完整,还想要让每一篇文章都有自己的思考,尽可能的将知识点与实践结合,努力让读者读了有所收获。...比如安卓开发中常见的在一个 Activity 中有一个 ListView,我们需要创建一个特定业务的 adapter,在这个 adapter 中需要传入数据,你可以另建一个类,但如果只有当前类需要使用到...个人觉得在安卓开发中,有多个按钮需要设置点击事件时,让当前类实现 OnClickListener 接口然后在 onClick() 中根据 id 判断事件,比创建一大堆匿名内部类要好些,你觉得呢?...解决办法就是使用弱引用或者干脆将 Handler 设计为静态内部类。

    1.3K100

    用安卓 WebView 做一个“套壳”应用

    只需要开发一套 HTML5 业务逻辑,就可以同时运行在不同的平台上,相对比较灵活,内容可以快速更新,开发维护成本较低。最大的缺点就是性能远不及原生应用,交互上也做不到原生的那么自然。...本文主要讲解如何制作一个安卓原生的“壳”来加载我们的 H5 网页,最终实现一个简单的 Hybrid App(套壳应用)。...2.4 使用虚拟机运行应用 我们开发的时候可以随时使用模拟器来预览我们的应用,也可以将手机连接到电脑上进行调试(这里就不展开了)。...如果没有安装虚拟机的话,需要点击窗口顶部菜单栏的 [ Tools -> AVD Manager ] 进入 AVD 管理器安装安卓虚拟机(模拟器)。...android:usesCleartextTraffic="true"> 可以看到我本地的 Cocos Creator 项目已经成功在安卓的 WebView 上跑起来啦~ ? ?

    13.5K13

    安卓入门-熟悉Android Studio以及创建第一个安卓模块

    这段代码表示对HelloWorldActivity(MainActivity)这个活动进行注册。没有在AndroidManifest.xml里注册的活动是不能使用的。...这样就实现了更改应用程序图标的功能,所以可见修改一个图标只需在AndroidManifest.xml文件中修改简单的一局代码,可以见得Andrioid StudioIDE果然已经将安卓开发简化到“一步到位...jcenter的含义:它是一个代码托管仓库,很多Android开源项目都会选择将代码托管到jcenter上,声明了这行配置之后,我们就可以在项目中轻松引用任何jcenter上的开源项目了。  ...minSdkVersion 15//当前项目的最低兼容的安卓系统版本 targetSdkVersion 29//目标版本号,意味着此模块所有特性在此安卓版本上最好...比如说Android 6.0系统中引入了运行时权限这个功能,如果你将targetSdkVersion 指定成23或者更高,那么系统就会为你的程序启用运行时权限功能,而如果你将targetSdkVersion

    2K30

    android内存优化

    即使你没有占用全部内存的打算,你也应该尽量少的使用内存,以免别的应用在运行的时候关闭你的应用。Android能在内存中保持的应用越多,用户在切换应用的时候就越快。...(label);   }       这就意味着那个View有一个对整个活动(Activity)的引用并且对这个活动(Activity)中保持的所有对象有保持了引用;通常它们包括整个View的层次和它的所有资源...因此,如果你“泄露”了上下文(Context)(这里“泄露”的意思是你保持了一个引用并且组织GC收集它),你将造成大量的内存泄露。...最明显的一个就是避免在context的自身的范围外使用它。上面的例子展示了在类内部的一个静态的引用和它们对外部类的间接引用是非常危险的。第二个解决方案就是使用Application Context。...(context-application)代替活动上下文(context-activity) 如果你不能控制它们的生命周期,在活动(Activity)中避免使用不是静态的内部类,使用静态类并且使用弱引用到活动

    90070

    安卓第八夜 玛丽莲梦露

    OnClickListener接口有一个规定的方法onClick()。事件发生后,安卓将调用的该方法。...我需要把数据取出,并放入到CategoryActivity的视图中。 困难的地方在于,我无法预知数据库中有多少个Category,因此,我没法在设计布局的时候静态的说明所有的视图元素。...安卓提供了ArrayAdapter类,可以综合以上功能。它可以为每个数据元素赋予相同的视图格式。将ListView与ArrayAdapter绑定后,安卓就可以动态的调整条目了。 ?...在ArrayAdapter中,我还可以用setTag()的方式,保存条目中具体视图元素的引用,从而减少使用findViewId()方法的次数。这也能提高应用的运行效率。...在if(convertView == null)的结构中可以看出,如果条目被重复利用,粘附在条目上的Holder对象将借助getTag()方法取出。

    1.9K90

    安卓第八夜 玛丽莲梦露

    OnClickListener接口有一个规定的方法onClick()。事件发生后,安卓将调用的该方法。...我需要把数据取出,并放入到CategoryActivity的视图中。 困难的地方在于,我无法预知数据库中有多少个Category,因此,我没法在设计布局的时候静态的说明所有的视图元素。...安卓提供了ArrayAdapter类,可以综合以上功能。它可以为每个数据元素赋予相同的视图格式。将ListView与ArrayAdapter绑定后,安卓就可以动态的调整条目了。 ?...在ArrayAdapter中,我还可以用setTag()的方式,保存条目中具体视图元素的引用,从而减少使用findViewId()方法的次数。这也能提高应用的运行效率。...在if(convertView == null)的结构中可以看出,如果条目被重复利用,粘附在条目上的Holder对象将借助getTag()方法取出。

    61710

    苹果谷歌联手,最大「健康码」项目启动:利用全球30亿手机筛查新冠密切接触者

    「苹果和谷歌的所有人都认为,合作解决当今世界上最紧迫的问题,再没有比现在更重要的时刻了,」两家公司在一份联合声明中说道。...利用所有智能手机对抗新冠 具体来说,苹果和谷歌将于五月中旬在旗下的移动设备操作系统 iOS 和安卓上推出专用 API,以供卫生部门在其 APP 中使用他们提供的数据。...但在几个月后 API 开发完成之时,两家科技巨头的跟踪功能将内嵌在系统中,从而保证每台 iOS 与安卓系统的手机都被覆盖。 如果这一项目最终完成,它将有可能实现对于全球三分之一人口的密切追踪。...对于人们来说,苹果和谷歌抗击新冠的系统在实现上并没有硬件的障碍:自 2011 年 iPhone 4S 以来,iOS 就已经提供了对于 Bluetooth LE 的支持,而安卓平台的绝大多数手机也在 2012...在该系统推出后,苹果和安卓系统的手机都将允许与公共卫生部门运行的应用程序以无线方式交换匿名信息。与此同时,两家公司还将发布与公共卫生应用程序关联的框架来管理该功能。

    39620

    C#-Xamarin的Android项目开发(一)——创建项目

    创建项目 使用Xamarin开发安卓项目,首先需要安装VS2017以上版本。因为VS2017以上的版本,可以直接创建Xamarin项目。...另外用Xamarin开发安卓项目,还需要使用Intel的CPU,并且得是双核以上的CPU,因为调试时,需要使用电脑的虚拟化,奔腾4之类的CPU是不支持虚拟化的。...MainLauncher:是否是主窗体,该属性在项目只能给一个页面。...然后我们封装寻找资源的方法;在Android项目里是由活动调用视图,即先有活动后有视图,所以在活动里找页面的控件也是倒装的,那么这个寻找控件的方法就相对代码会比较多,所以我们简单封装一下。...从图中我们可以看到,我们的安装项目已经成功运行了,并且执行了点击事件。 到此,这个简单的安卓项目已经创建完成了,下一篇文章,将介绍Xamarin中如何使用安卓控件。

    3.1K10

    2019预备BAT大厂Android研发岗秋招必问30+道高级面试题(附详细答案解析)

    文末有免费福利哦 网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了如下安卓开发高级工程师面试题以及答案帮助大家顺利进阶为高级工程师,目前我就职于某大厂安卓高级工程师职位...短周期对象就无法及时释放。 静态集合类引起内存泄露 主要是hashmap,Vector等,如果是静态集合 这些集合没有及时setnull的话,就会一直持有这些对象。...cursor 内部类: java中的内部类(匿名内部类),会持有宿主类的强引用this。 所以如果是new Thread这种,后台线程的操作,当线程没有执行结束时,activity不会被回收。...Context的引用,当TextView 等等都会持有上下文的引用。如果有static drawable,就会导致该内存无法释放。...,并从当前用户正在运行的程序上抢夺焦点。

    1K31

    Android训练课程(Android Training) - 构建你的第一个应用

    如果你的应用的一些特性可能仅仅在较新的版本上,并且它不是在你的所有应用特性中起到决定性作用的话,你可以在它运行在它支持的版本上时才启用它。...如果你没有看到任何内容被列出,你需要使用安卓SDK manager去安装一些。...在真实设备上运行 如果你拥有一个安卓动力的设备,在这里展示了你如何安装和启动你的应用: 1.使用USB线将你的设备插入到你的开发机器(译者注:可能是电脑)上,如果你使用window是开发,你可能需要为你的设备安装适当的...2.在你的设备上启用USB debugging(USB调试)模式 在很多运行在安卓3.2或者更旧的版本上的设备,你可以在选项设置里找到: 设置>应用程序>开发者 在安卓4.0或者更新一些的版本,他存在于...注意: 如果你使用了一个其他的不是Eclipse的IDE,你的项目没有包含 在setContentView()中请求的 activity_display_message 布局。

    2.2K00

    Java 基础巩固:再谈抽象类和接口

    文章出自:安卓进阶学习指南 主要贡献者: Milo Struggle shixinzhang 背景介绍 大家好,这篇文章是 《安卓进阶技能树计划》 的第一部分 《Java 基础系列》 的第一篇。...距离上一篇预告 《Java 基础夯实系列上线预告》 过去了很久,之所以这么慢,是因为我们做这个活动,除了要保证知识点的全面、完整,还想要让每一篇文章都有自己的思考,尽可能的将知识点与实践结合,努力让读者读了有所收获...在进行选择时,可以参考以下几点: 若使用接口,我们可以同时获得抽象类以及接口的好处 所以假如想创建的基类没有任何方法定义或者成员变量,那么无论如何都愿意使用接口,而不要选择抽象类 如果事先知道某种东西会成为基础类...一般人都无法做到白头偕老,所以只有在清楚知道需要继承所有方法的前提下,才可考虑它。 有一种取代继承的方式是 “组合”。...组合就是通过持有一个类的引用来拥有他的一切,而不是继承,在需要调用他的方法时传入引用,然后调用,否则就清除引用。

    767100
    领券