使用通知会使一个称为状态栏的区域出现在屏幕上,你可以在其中显示图标和消息。...但是,不正确地使用通知,会导致私人信息(只应向最终用户自己显示)可能会被第三方看到。 出于这个原因,必须谨慎地注意隐私和安全性来实现此功能。 下表中总结了可见性选项的可能值和通知的相应行为。...,应该遵循下列规则: 4.10.2.1 无论可见性设置如何,通知都不得包含敏感信息(尽管私有信息是例外情况)(必需) 在使用 Android 4.3(API 级别 18)或更高版本的终端上,用户可以使用...在使用 Android 4.3(API 级别 18)或更高版本的终端上,用户可以使用“设置”窗口,授予应用读取通知的权限,授予此权限的应用将能够读取通知中的所有信息;因此,除私有用户信息以外的敏感信息不得包含在通知中...4.10.2.4 使用可见性为私有的通知,创建可见性为公共的额外通知用于展示(推荐) 当传递可见性为私有的信息时,最好同时创建一个额外的通知,用于公开展示,它的可见性为公开;这是为了限制锁定屏幕上显示的信息
图 4.3 平板的双页设计 4.2 碎片的使用方式 介绍了这么多抽象的东西,也是时候学习一下碎片的具体用法了。你已经知道,碎片通常都是在平板开发中使用的,因此我们首先要做的就是创建一个平板模拟器。...比如说在Fragment中嵌套使用Fragment,这个功能是在Android 4.2系统中才开始支持的,如果你使用的是系统内置的Fragment,那么很遗憾,4.2系统之前的设备运行你的程序就会崩溃。...而使用support-v4库中的Fragment就不会出现这个问题,只要你保证使用的是最新的support-v4库就可以了。...,一般传入null 即可。...另外当碎片中需要使用Context 对象时,也可以使用getActivity() 方法,因为获取到的活动本身就是一个Context 对象。
root命令 adb root adb disable-verity adb reboot #重启手机 adb root adb remount adb shell 至此进入安卓命令窗口...用户为root 2.上传、拉取文件 //上传文件到安卓里面 adb push platform.xml /system/etc/permissions/platform.xml // 安卓拉取文件到本地...将应用安装到保护目录 /mnt/asec -r 允许覆盖安装 -t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用...-s 将应用安装到 sdcard -d 允许降级覆盖安装 -g 授予所有运行时权限 4.模拟按键/输入 1.模拟按键 # 该命令主要是向系统发送一个按键指令,实现模拟用户在键盘上的按键动作: adb...apk的包名 adb shell pm list packages 启动app 首先需要获取app的包名,然后是活动名 adb shell am start 包名/活动名
在安卓中使用HTTP协议的最佳实践 在开发安卓应用时,网络通信是一个不可或缺的方面。HTTP协议是许多应用程序数据交换的基础,因此了解如何正确地使用它对于确保应用的性能和安全性至关重要。...选择合适的HTTP客户端 安卓提供了多种HTTP客户端,包括HttpURLConnection、OkHttp和Retrofit等。每个客户端都有其优势和特点。...= null) { System.out.println(line); } reader.close(); // 关闭连接...结论 在安卓应用开发中,正确使用HTTP协议对于提供良好的用户体验和保护用户数据至关重要。通过遵循上述最佳实践,开发者可以确保其应用程序在网络通信方面运行高效且安全。...希望这篇文章能够帮助您理解在安卓中使用HTTP协议的重要性以及如何实现最佳实践。
Bitmap 的使用 高效加载大位图 解码大的 bitmap,然后加载一个较小的图片到内存中去,从而避免超出程序的内存限制。...通道 ARGB_4444 这个从API 13开始不建议使用,因为质量太差 Drawable 的使用 BitmapDrawable 表示一张图片。...ColorDrawable Drawable 资源是 Android 应用中使用最广泛的资源,它不仅可以使用各种格式的图片资源,也可以使用多种 xml 文件资源。...当然直接使用图片资源没什么好说的,我们主要是要研究下 Drawable 的子类。...Android 把可绘制的对象抽象成 Drawable,并且提供了 draw 方法,可以在需要的时候直接绘制到画布上,我们看下官方的API 使用 java 代码则是: ColorDrawable colorDrawable
痛点 我们都知道对于Web开发者来说 Chrome是个十分方便的调试神器,但是对于Android来说,可能之前的网络调试大多我们都用PostMan或者类似的工具进行调试,Get的请求还好,但是当设计到有大量请求头的请求的时候...还有当我们看手机APP数据库存储的时候,更多的是连上手机把手机root,然后通过Android Device Monitor找到db文件,然后导出到PC上,再通过PC上的数据库工具来打开查看。.../stetho 使用 Stetho的集成 项目集成 compile ‘com.facebook.stetho:stetho:1.5.0‘ implementation 'com.facebook.stetho...Local Storage中保存了本地缓存数据也就是sharedpreference中的数据,点击对应的应用也可以清楚看到存储的数据。...至此Stetho常用的功能介绍完了,还有其他功能待我们去发掘补充。 最后 合理的工具的利用,可以让我们的开发事半功倍,寻找好的开发工具,可以让我们的开发效率大大提升!
image.png image.png 这也是要关注一下系统盘的压力 image.png image.png image.png image.png image.png...image.png 新建第一个,所以我就使用默认的了,自己在F盘新建一个项目地址。...2.配置项目信息 Name 你的项目名 Package name 包名,默认即可 Save location 项目地址,自己设置项目存放地址 Language 选择项目语言,当前有Java、Kotlin...语言(Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言),默认java 执行 Finish image.png image.png 打开作为一个 image.png image.png
日期计算肯定使用joda-time了,天数、月份、年份计算都非常简单,有一点,这个库每周是周一开始的,周日历要注意一下。...:https://github.com/yannecer/NCalendar 点击事件 点击操作使用了GestureDetector,这个类里面已经定义好了单级,双击,长按等操作,只需要我们重写相应的方法就可以...= null) { onClickMonthCalendarListener.onClickMonthCalendar(dateTime); } } 在...=null,就会绘制选中的圆环了。...中使用的,只需在布局文件中设置MonthCalendar的layout_width和layout_height即可: <com.necer.ncalendar.calendar.MonthCalendar
一、安卓常用控件的使用方式 1.1 TextView TextView可以说是Android中最简单的一个控件了,你在前面其实已经和它打过一些交道了。...如果你不喜欢使用匿名类的方式来注册监听器,也可以使用实现接口的方式来进行注册,代码如下所示: public class MainActivity extends AppCompatActivity implements...EditText的应用场景非常普遍,在进行发短信、发微博、聊QQ等操作时,你不得不使用EditText。...目前我们的项目中有一个空的drawable目录,不过由于这个目录没有指定具体的分辨率,所以一般不使用它来放置图片。...好了,关于Android常用控件的使用,我要讲的就只有这么多。一节内容就想覆盖Android控件所有的相关知识不太现实,同样一口气就想学会所有Android控件的使用方法也不太现实。
{ return null // 如果是绑定服务,需要返回IBinder对象 } override fun onStartCommand(intent: Intent?...广播消息是一种全局的消息传递机制,用于通知应用程序发生了某些事件,比如设备电量低、网络连接改变等。 核心功能 接收广播: BroadcastReceiver 可以注册来接收系统或应用发出的广播消息。...核心功能 数据共享: ContentProvider 提供了一种标准的方式来跨应用程序访问数据。 URI 访问: 使用统一资源标识符(URI)来指定要访问的数据。...{ // 查询数据 return null } override fun insert(uri: Uri, values: ContentValues?): Uri?...{ // 返回数据的MIME类型 return null } } 学习资源 《第一行代码——Android》第12章 官方文档:Content providers 总结 Android的四大组件(Activity
= null){ r.stop(); r.release(); r = null;...; 3、在MyBinder类中写一个方法用于调用服务的业务逻辑方法: public class MyBinder extends Binder{ //使用中间人调用服务里的方法...implements IService{ //(实现服务接口中的方法)使用中间人调用服务里的方法 public void callMethodInService(){...(重点) 本地服务:写在自己的应用程序的工程里的服务 ,使用自己应用程序的进程运行这个服务; 远程服务:写在别的应用程序的工程里的服务,使用别的应用程序的进程运行这个服务(安装在同一个手机上的应用程序)...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl
为什么需要广播接受者 广播: 1、电台:发送一定频道的广播消息,50mhz; 2、收音机:调整到一定频道,接收广播消息; android应用程序里面的电台:系统内置的一个服务,会把事件(电量不足、电量充满...、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...System.out.println("srcPhone========"+srcPhone); } } } 广播接受者案例_sd卡状态监听(重点) 测试的时使用...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...//initialExtras 指定额外的参数 sendOrderedBroadcast(intent, null, null, null, 1, "国务院开始发放2014年农田补贴:900元", null
, 10 10月 2022 作者 847954981@qq.com 后端学习 Kotlin安卓开发学习–Intent的使用 Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作...之后我们就能使用startActivity方法来启动Activity,而这个方法正是接受一个Intent对象: val intent = Intent(this, SecondActivity::class.java...我们可以使用intent.data来传入值。...比如使用intent.data = Uri.parse("https://www.baidu.com")来传入将字符串转化为URI对象,并传入intent内。但这有什么用呢?...用于指定可以处理的数据类型,允许使用通配符的方式进行指定。 只有当标签中指定的内容和Intent中携带的Data完全一致时,当前Activity才能够响应该Intent。
action:动作 可以自定义,可以使用系统定义 category:类型 android.intent.category.LAUNCHER 启动器,DEFAULT 默认类型,一般都是使用这个默认类型,..."); //使用目标activity在配置文件配置的data的scheme intent.setData(Uri.parse("itheima://sdfdslkjk")); //使用目标activity...保证自己写代码能够重复使用。 架构师:保证项目 多快好省的把项目做完。...//目标activity在配置文件配置的action的值 intent.setAction("android.intent.action.SECONDSHOW"); //使用目标activity在配置文件配置的...(重点) 使用requestCode,resultCode来判断是哪个业务逻辑界面返回的数据.
): 前提知识: 所有使用UI界面的操作系统,后台都运行着一个死循环,在不停的监听和接收用户发出的指令,一旦接收指令就立即执行。...网图片查看器(重点) 1、发送请求:GET 2、接收服务器端返回的响应数据 使用代码实现的步骤: 1、创建URL,打开一个HTTP的连接; 2、设置请求头信息:GET(GET、POST) 3、接收服务器端返回的响应数据...; if(convertView == null){ //加载item的布局文件 view = View.inflate(MainActivity.this..., R.layout.item, null); }else{ //重复利用item的视图 view = convertView;...listview填充数据 lv.setAdapter(new MyAdapter()); } 使用smartImageView显示新闻图片 1、把smartImageView的源代码/src/com
方案有: ButterKnife findViewById() View Binding 下面看下View Binding在下面的场景怎么使用 Activities Fragments: Inflate...Bind RecyclerView Adapter 一、Enabling View Binding android { // module级别的build.gradle文件中添加下名的配置...= null // 构造方法中传入了,resId,默认的onCreateView中会inflate内容,此时只需要bind即可 override fun onViewCreated(view: View...>) : RecyclerView.Adapter() { // 第一步,使用binding class作为root layout class ItemViewHolder...ItemRowBinding.inflate(LayoutInflater.from(parent.context), parent, false) return ItemViewHolder(binding) } // 第三步,直接使用了
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android..., new Object[]{1}); Toast.makeText(this, "删除数据成功", 0).show(); } 数据库的另外一种增删改查方法(重点) 使用google提供的另外一种方式操作数据库表...; 使用cd切换到数据库文件所在的目录; 使用sqlite3 数据库文件的名称打开数据; 使用增删改查语句操作数据库。...//使用适配器为listview填充数据 //new ArrayAdapter:context 上下文,resourceId 条目布局文件的资源ID,object[] 要显示的数据 lv.setAdapter...//使用适配器为listview填充数据 //new SimpleAdapter:context 上下文,resourceId 条目布局文件的资源ID,String[] 要显示的列名,int[] 指定列显示在
计算机使用像素点表示图形,每个像素点都是一个颜色,24位深度(24bit)。 每个像素点的颜色是一个RGB,使用6个十六进制的数值来表示。 文件头信息占用的数据大小。...2、jpg 以良好的质量保存图片,用于计算机、电子邮件或网络。 jpg 工业图形的压缩算法,类似rar的算法。人眼识别精度有限,把相邻空间内类似的颜色使用同一个颜色来表示。...,如果不为null ,就会返回null BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/lp.jpg...,等待数据资源准备完成后才开始播放,用于播放本地的音视频文件 //mediaPlay.prepare(); //使用异步式准备方法...,使用子线程等待数据资源准备完成后才开始播放,用于播放网络上的音视频文件 mediaPlay.prepareAsync();
RadioButton 和 RadioGroup RadioButton 是单选按钮,通常与 RadioGroup 一起使用,形成一组选项,用户只能选择其中一个。...ListView ListView 是一个用于显示滚动列表的控件,每个列表项可以是一个自定义的视图。 使用步骤 定义布局: 创建一个包含 ListView 的布局。...创建适配器: 使用适配器将数据绑定到 ListView。 设置适配器: 将适配器设置到 ListView 上。...使用步骤 定义布局: 创建一个包含 RecyclerView 的布局。 创建适配器: 实现 RecyclerView.Adapter,定义数据和视图的绑定逻辑。...通过合理地使用这些控件,可以开发出功能强大且用户体验良好的应用程序。希望这篇博客能够帮助你更好地理解和使用Android的控件,如果有任何问题或想法,欢迎在评论区讨论!
web中的url跳转机制非常值得借鉴。 消息&处理 程序设计中,有一种模式:命令模式,将操作和具体的执行分开。安卓系统中的输入事件的处理,Handler+Message机制等,都是类似的。...这里的思路借鉴了安卓中Handler的机制——Handler+Message这样的设计。 此外,源码ViewRootImpl、InputStage对输入事件的处理也可以借鉴。...通知以类似Intent的方式携带了之后的路由消息数据。 弹出通知 安卓中发送通知到通知栏是很简单的操作,需要注意的是: 使用NotificationCompat.Builder 来避免兼容问题。...建议使用String tag来区分不同的通知。...使用tag,因为是一个可以组合的字符串,那么格式就比较灵活了,例如可以使用uri这种格式,或者其它任意你能够轻松用来区分不同业务模块不同通知的格式来产生tag作为通知的标识。
领取专属 10元无门槛券
手把手带您无忧上云