首页
学习
活动
专区
工具
TVP
发布

7号代码

专栏作者
30
文章
52224
阅读量
12
订阅数
SharedPreferences 源码解析及应用(多进程解决方案)
每个 SharedPreferences 都对应了当前 package 的 data/data/package_name/share_prefs/ 目录下的一个 xml 文件。保存数据和读取数据其实就是写入和读取 xml 文件。
trampcr
2019-12-03
1.4K0
LayoutInflater 源码解析及应用(解决插件化中类型转换异常)
这里明显全路径相同,那就是加载这两个类的 ClassLoader 不同,验证一下:
trampcr
2019-11-27
1.3K0
动态代理原理及在 Android 中的应用
因为一个静态代理类只能服务一种类型的目标对象,在目标对象较多的情况下,会出现代理类较多、代码量较大的问题。
trampcr
2019-11-04
2K0
Android API与Android版本对应关系及各个版本分布比例
版本分布比例数据来自谷歌官网,以 7 天为周期收集的数据(截止于 2018 年 7 月 23 日)。
trampcr
2018-09-28
1.7K0
Android 读取已安装应用列表需要申请权限吗?
我要实现读取已安装应用列表功能,Google了一下,可以通过PackageManager.getInstalledPackages()方法获取,我手头有三台手机,分别是华为Nexus 5X、Meta9、Vivo X20,写了个Demo在这三个手机上进行测试,测试结果如下:
trampcr
2018-09-28
13.9K0
深入学习Activity的生命周期和启动模式
说到Activity的生命周期,相信很多人都熟悉,但是深入了解后,发现还是有很多需要注意的细节。这里将生命周期分为两种情况,一种是典型情况下的生命周期,一种是异常情况下的生命周期。
trampcr
2018-09-28
6890
Android应用性能优化——内存优化(内附一个内存泄露优化实例)
自动管理内存和回收机制,垃圾回收器负责回收程序中已经不使用,但是仍然被各种对象占用的内存,将程序员从繁重、危险的内存管理工中解放出来。
trampcr
2018-09-28
1.3K0
Android开发高级进阶——传感器
SensorManager提供的注册传感器的方法为registerListener(SensorEventListener listener, Sensor sensor, int rate),该方法的三个参数说明如下:
trampcr
2018-09-28
1.2K0
Android开发高级进阶——Service与Notification
Service是处理一些后台任务,在主线程中,并不能执行耗时操作。而Thread是开启一个子线程,在子线程中执行耗时操作,这样不会阻塞主线程。
trampcr
2018-09-28
1.5K0
Android开发高级进阶——多进程间通信
当一个应用在开始运行时,系统会为它创建一个进程,一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名。
trampcr
2018-09-28
1K0
十进制数字用A~Z表示成二十六进制(剑指Offer附加题及扩展)
思路: 这道题实际上考察的是把二十六进制表示成十进制数字,将输入的字符串先转换成字符数组,遍历数组中的每一个字符,用这个字符减去A再加1就是该位对应的十进制数,然后乘以26的相应次方,最后把这些数加起来就是结果了。 可能很多人会有疑惑为什么要加1,因为十进制是用0-9表示,那么二十六进制就应该用0-25表示,但是这里是A-Z,就相当于1-26,所以算出来的数需要加1。
trampcr
2018-09-28
1.2K0
Android开发高级进阶——多线程(实现简单下载器)
Android3.0以及以后的版本中,禁止在主线程执行网络请求,否则会抛出异常,可见在UI线程中执行耗时操作是不推荐的行为。所以,在进行与耗时操作同步进行的操作时(即并行)使用多线程。
trampcr
2018-09-28
8330
Android网络与数据存储——网络编程数据处理(网络请求,解析xml,解析Json)
在真正学习网络请求之前有必要了解一下什么是URL,URL的英文全拼是Uniform Resource Locator,翻译过来为统一资源定位器,大概意思就是URL是指向互联网资源的指针。
trampcr
2018-09-28
1.3K0
Android网络与数据存储——SQLite
Android提供了一个管理数据库的工具类SQLiteOpenHelper,用于管理数据库的创建和版本更新,创建SQLiteOpenHelper的子类,并实现它的onCreate()和onUpgrade()方法。通过该子类的getReadableDatabase()、getWriteableDatabase()方法打开数据库,获取对应的SQLiteDatabase对象。
trampcr
2018-09-28
1.6K0
Android网络与数据存储——ContentProvider
这时,其它应用就可以通过该Uri来访问该ContentProvider所暴露的数据了。那Uri究竟是什么呢?
trampcr
2018-09-28
1K0
Android网络与数据存储——File存储(实现SD卡文件浏览器)
AndroidManifest.xml中manifest标签下有一个属性android:installLocation,用于指定应用程序安装在什么地方,该属性有三个可选值:
trampcr
2018-09-28
1.7K0
Android网络与数据存储——SharedPreferences(实现是否开启引导界面)
SharedPreferences保存的数据主要是简单类型的key-value对。
trampcr
2018-09-28
8040
面向对象设计原则
面向对象设计的目标之一在于支持可维持性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有较好的灵活性。
trampcr
2018-09-28
7880
Android应用界面开发——Widget(实现液晶时钟)
桌面控件是通过BroadcastReceiver的形式进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver。开发桌面控件时,只需继承BroadcastReceiver的子类APPWidgetProvider,并重写APPWidgetProvider不同状态的生命周期方法即可。
trampcr
2018-09-28
2.3K0
Android应用界面开发——WebView
该实例包含两个界面,第一个界面包括输入网址和打开网址,第二个界面包含一个WebView,用于显示第一个界面输入的URL对应的界面。程序代码如下:
trampcr
2018-09-28
7980
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档