首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓基础干货(七):安卓广播的学习

    为什么需要广播接受者 广播: 1、电台:发送一定频道的广播消息,50mhz; 2、收音机:调整到一定频道,接收广播消息; android应用程序里面的电台:系统内置的一个服务,会把事件(电量不足、电量充满...、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...,系统会自动启动广播接收者的进程,调用onReceive方法,接收消息。...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...就能接收到的广播; //发送一个广播消息(无序广播) sendBroadcast(intent); 有序广播: 当广播把消息发送出去后,消息会根据广播接收者的优先级从高到低一级一级地下发消息。

    9K10

    安卓基础干货(八):安卓进程的学习

    windows下的服务:没有界面、长期运行在后台的应用程序; android下的服务:应用程序的一个组件,没有界面activity,长期运行在后台; 进程:是应用程序运行的载体。...进程与应用程序之间的关系: linux操作系统创建一个进程,这个进程负责运行dalvik虚拟机,Android的应用程序都是运行在dalvik虚拟机上的。...,它会按照进程的优先级,从低到高一级一级的杀死进程,直到内存空间被清理的差不多。...(重点) 本地服务:写在自己的应用程序的工程里的服务 ,使用自己应用程序的进程运行这个服务; 远程服务:写在别的应用程序的工程里的服务,使用别的应用程序的进程运行这个服务(安装在同一个手机上的应用程序)...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl

    8.9K10

    安卓基础干货(六):安卓Activity的学习

    标签的值就它的界面的标题 4、activity的label标签的值就它的桌面快捷图标的名称 5、application中的label标签和activity中的label标签不是一个概念,application...中的label表示应用程序的名称,activity中的label标签表示的是它的界面的名称。...uri = intent.getData(); 意图设计的目的 意图设计的目的:解耦,实现应用程序的高内聚、低耦合。...onStart:当界面可见的时候调用 onResume 按钮可以被点击的时候 onPause 按钮失去焦点的时候: onStop 界面不可见的时候调用: onDestroy 销毁activity...android:launchMode="singleTop" 如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。

    6K10

    跟肉丝姐学 Frida 之 快速搭建 Frida 安卓逆向环境

    快速搭建 Frida 安卓逆向环境 这段时间空闲的时间一直在跟着肉丝姐补课,手残把手机搞崩了,借着这个机会写一篇文章记录下如何从零完成 Frida 安卓逆向环境的搭建。...按照肉丝姐的教程,非常顺利的完成了pixel+ andriod 8.1.0 + twrp3.3 + Magisk + Frida 这套环境的搭建,这个过程中需要的工具有: 一台 pixel 手机 一台电脑...3、这个时候手机会自动重启,并进入twrp的安装界面。 ? 4、滑动下方的滑块,进入安装界面 ? 5、点击install会进入到类似文件管理器的界面,在这里可以看到1中push的zip包,点击它 ?...得到上面的回显代表成功 如果出现明明启动了手机上的server但是电脑连不上可以杀死手机上的server的进程 ps | grep frida kill -9 fridapid ....继续说我遇到的坑: 1、虚拟机软件不要使用 VM 的 15.0 这个版本,使用更高的版本或者低一点的版本,15.0 这个版本在第一节刷机的时候会出现 VM 卡死的情况 同时可以参考其他大佬的笔记 https

    3.2K30

    安卓的组件

    Activity是用户和应用的直接交互窗口,它负责管理和处理应用的UI部分。 核心功能 管理UI: Activity 负责加载和管理应用的界面布局。...处理用户交互: Activity 通过监听用户的触摸、点击等操作来响应用户的输入。...它允许一个应用程序通过 ContentProvider 的接口访问另一个应用程序的数据,比如联系人、媒体文件等。ContentProvider 提供了标准的API来查询、插入、更新和删除数据。...理解和掌握这些组件的工作原理是成为一名合格的Android开发者的关键。 在《第一行代码——Android》中,这些组件都有详细的讲解和实战示例,帮助你更好地理解和应用这些核心概念。...希望这份指南能为你的Android开发之旅提供帮助!如果你有更多问题或需要更深入的讨论,欢迎在评论区分享你的想法!

    1.9K10

    安卓基础干货(十):安卓多媒体编程的学习

    多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...每个像素点的颜色是一个RGB,使用6个十六进制的数值来表示。 文件头信息占用的数据大小。 体积比较大。 2、jpg 以良好的质量保存图片,用于计算机、电子邮件或网络。...加载大图片的OOM异常 java.lang.OutOfMemoryError : 堆内存空间:给类实例、数组分配内存空间的。...RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中

    2.9K10

    安卓基础干货(三):安卓数据库的学习

    ---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...] android下数据库的创建(重点) 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和...BLOB(二进制对象)数据类型,也接受varchar(n)、char(n)、decimal(p,s) 等数据类型, SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么...helper = new DBHelper(this, "account.db", null, 1); onCreate是在数据库创建的时候调用的,主要用来初始化数据表结构和插入数据初始化的记录...listview控件 lv = (ListView) findViewById(R.id.lv); 3、自定义数据适配器,继承了BaseAdapter,重写4个方法,其中getCount、getView是我们关系的

    5.3K20

    【安卓】在安卓中使用HTTP协议的最佳实践

    在安卓中使用HTTP协议的最佳实践 在开发安卓应用时,网络通信是一个不可或缺的方面。HTTP协议是许多应用程序数据交换的基础,因此了解如何正确地使用它对于确保应用的性能和安全性至关重要。...选择合适的HTTP客户端 安卓提供了多种HTTP客户端,包括HttpURLConnection、OkHttp和Retrofit等。每个客户端都有其优势和特点。...例如,HttpURLConnection是一个基本的Java API,提供了连接、设置请求头、发送请求体和获取响应数据的功能。...这样可以更容易地管理不同部分应用程序中的网络请求。 结论 在安卓应用开发中,正确使用HTTP协议对于提供良好的用户体验和保护用户数据至关重要。...希望这篇文章能够帮助您理解在安卓中使用HTTP协议的重要性以及如何实现最佳实践。

    3.6K10

    安卓常用的控件

    android:textSize: 设置文本的大小。 android:textColor: 设置文本的颜色。 android:gravity: 设置文本的对齐方式(如居中、左对齐、右对齐等)。...Button Button 是一个点击按钮控件,用于触发特定的操作或事件。 属性 android:text: 设置按钮上的文本。 android:onClick: 设置按钮点击时触发的事件处理方法。...它支持加载和显示各种格式的图片资源。 属性 android:src: 设置显示的图片资源。 android:scaleType: 设置图片的缩放类型(如适应、裁剪、填充等)。...属性 android:textOn: 设置开状态时的文本。 android:textOff: 设置关状态时的文本。 android:checked: 设置开关的初始状态。...ListView ListView 是一个用于显示滚动列表的控件,每个列表项可以是一个自定义的视图。 使用步骤 定义布局: 创建一个包含 ListView 的布局。

    5.8K10

    安卓踩的坑

    /distributions/ 比如下载2.4版本的就要找2.4版本的all 2.改变gradle的环境变量配置 先在我的电脑右键 注意是在系统变量里改 改gradle的文件夹存放名字,我都装在一个文件夹下了...(^-^)V 发现下all版本解压后换配置环境失败,但下bin版本解压后可以成功 得出结论:下bin版本 4.出现java.lang.NullPointerException (no error message...)错误 遇见bug A problem occurred configuring project ':app'. > java.lang.NullPointerException (no error...这里应该是引用这个目录下的debug.keystore文件而没有找到引起的 7.安卓模拟器怎么上网 方法一 PC机可以上网,PC机上面的Android模拟器不能上网。...其实只要使模拟器跟自己的PC在同一个网段内就行了: 首先,如果没有配置sdk的环境变量的,那么在CMD命令下进入sdk安装路径的platform-tools目录下(D:\Program Files\

    1.3K20

    【安卓安全】你的第一个安卓 APP

    HexTree.io HexTree 与 谷歌合作推出的安卓 APP 安全课程,希望让更多安全研究者来挖安卓 APP 的漏洞,拿来学一学安卓吧。...安装完成 Android Studio 后打开,选择新建项目 新建一个 Empty Views Activity 项目 名字随意起,创建好项目后找到右侧的 Device Manager 添加一个安卓虚拟机...,用来跑我们的程序,点击加号按钮可以添加虚拟机 可以选择不同的安卓版本,随便选一个直接下一步即可 你的所有安卓虚拟机都在 Device Manager 中,点击启动按钮可以运行虚拟机,在上面的下拉菜单中可以选择使用哪个虚拟机运行...用来标识可以接收哪些意图,此处我们为 Security 这个 Activity 添加了一个 intent-filter,使其能够接收 SEND 类型的 Intent,当在安卓系统中使用“发送到”这个功能时就可以看到我们的...,比如打开 Security 这个 activity 可以看到没有经过混淆/加壳的 APP 跟看源码没啥区别 调试安卓 APP 在 Android Studio 中也可以给某一行下断点,然后点击菜单栏的

    1.1K10

    详解安卓的ClassLoader

    众所周知,Java程序运行过程是这样的。首先,Java源码编译器将java文件编译成二进制的字节码class文件。然后,Java虚拟机再运行class文件。class文件是怎么加载到JVM里面的呢?...答案是通过 ClassLoader 的加载机制。安卓虚拟机也有类似这样的机制,为了能编写出更高效的代码,我们有必要了解下ClassLoader 的加载机制。...本文先会分别详解安卓的 ClassLoader。 01 Java 的 ClassLoader 大多数安卓应用程序是由Java语言开发的。所以有必要先了解Java 的 ClassLoader。...Java有虚拟机,Android系统中也是有两种虚拟机的。Android系统在5.0以前的虚拟机是采用Dalvik虚拟机。...安卓虚拟机运行加载的不是class文件,而是dex文件。dex文件是编译工具把所有的class文件进行合并,优化,然后生成的。

    1K10

    安卓基础干货(九):安卓内容提供者的学习

    是这样的,如果采用文件操作模式对外共享数据,数据的访问方式会因数据存储的方式而不同,导致数据的访问方式无法统一,如:采用xml文件对外共享数据,需要进行xml解析才能读取数据;采用sharedpreferences...使用ContentProvider对外共享数据的好处是统一了数据的访问方式。...路径(path)可以用来表示我们要操作的数据,路径的构建应根据业务而定,如下: 要操作person表中id为10的记录,可以构建这样的路径:/person/10 要操作person表中id...为10的记录的name字段, person/10/name 要操作person表中的所有记录,可以构建这样的路径:/person 要操作xxx表中的记录,可以构建这样的路径:/xxx 当然要操作的数据不一定来自数据库...Android系统提供了两个用于操作Uri的工具类,分别为UriMatcher 和ContentUris 。掌握它们的使用,会便于我们的开发工作。

    2.3K10

    安卓基础干货(一):了解一下安卓的发展历史

    11.Android工程的目录结构 src/ java源代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。...这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。...正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。...另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。...assets资源目录 Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径

    2.1K10

    安卓-碎片的使用入门

    你甚至可以将碎片理解成一个迷你型的活动,虽然这个迷你型的活动有可能和普通的活动是一样大的。  那么究竟要如何使用碎片才能充分地利用平板屏幕的空间呢?...而我们在此布局文件中添加了两个fragment控件,而实际上其通过:android:name="com.example.fragmenttest.LeftFragment"指向了类文件:LeftFragment.java...,(我们不是通过android:id="@+id/left_fragment"知道这个碎片控件实现类是谁,而是android:name来控制的),而类文件LeftFragment.java则重写了方法onCreateView...图 4.6 动态添加碎片的效果  如果想要得到一种效果:按BUTTON一下就会使右边的两个布局切换,只要将MainActivity.java的onCreate()方法改成以下逻辑即可: @Override...4.2.4 碎片和活动之间进行通信  虽然碎片都是嵌入在活动中显示的,可是实际上它们的关系并没有那么亲密。

    2.7K20
    领券