![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 开发总结
文章平均质量分 93
默默9518
我是菜鸟
展开
-
如何实现出厂时,输入法默认是勾选的 & 如何修改默认输入法
[如何实现出厂时,输入法默认是勾选的]-----------------------------------------------------------------------------------------------因为默认enable的输入法都被保存在Settings.Secure.ENABLED_INPUT_METHODS所以只用修改他的默认值即可.以默认勾选lat原创 2013-10-31 19:17:28 · 1364 阅读 · 0 评论 -
system_server运行机制
启动流程 & 与Zygote的关系system_server启动流程可以参考zygote执行流程中怎么将system_server拉起来与zygote的关系:1. system_server进程是Zygote进程fork出来的第一个子进程 String args[] = { "--setuid=1000", "--setgid=1000",原创 2015-04-03 16:20:39 · 2543 阅读 · 0 评论 -
init.rc介绍
init.rc介绍init.rc(system/core/rootdir/init.rc)是由Android Init Language编写(init语言说明)Android init语言关键字定义在system/core/init/keywords.h文件中init.rc编译到手机中,位于手机系统的根目录下。adb shell ll 可以看到init.rcThe A原创 2015-04-03 16:05:53 · 1164 阅读 · 0 评论 -
安卓5.0新加辅助功能(高对比性文字/色彩校正/颜色反转)学习
摘要在安卓L版本中,辅助设置中新加了3个功能,分别是高对比性文字,颜色反转,色彩校正高对比性文字先来看看google是怎么说这个功能的This information applies only to devices running Android 5.0 and higher.High contrast makes text easier to read o原创 2015-04-04 09:01:01 · 15458 阅读 · 0 评论 -
浅析应用助手省流量升级原理
背景我们知道,现在市面上有很多应用助手,比如豌豆荚,360手机助手,应用宝等,这些应用基本上都具有省流量下载功能。由于现在的安卓应用多而大,并且更新频率快,即使现在随处都有wifi覆盖,但总有时候会使用数据流量,这时如果相更新应用就比较老火啦。而省流量升级的出现正好可以解决这个问题。省流量升级介绍介绍省流量升级又名增量升级,官方称为Smart App Update原创 2015-04-04 08:52:50 · 2836 阅读 · 0 评论 -
应用获取Power Key/Home Key按键事件(framework层)
背景有时候我们在开发的时候需要在应用中获取Power Key,Home Key等按键事件,但是我们知道这些按键属于特殊的按键,应用中并不能获取到。这些按键在framework层已经被处理掉了,因此我们需要通过一些方法来让应用能获取到。原理对于Home Key, Power key这些特殊的按键,应用是不应该获取到的,因为这些按键需要处理一些特殊的事情。应用获取到后可能会造成原创 2016-03-23 10:49:15 · 6122 阅读 · 2 评论 -
Android Settings模块架构浅析<1>
概述Android Settings模块说简单也简单,说难也难,里面涉及到的知识点也挺多的。我们知道Settings主要是用于配置一些系统选项或属性值,通过修改设置项就能达到修改系统配置的作用。那么问题来了,Settings是如何实现修改后能改变系统配置的呢?Settings又是采用怎样的架构实现的呢?里面又涉及到哪些知识点呢?让我们一起来揭开她的神秘面纱吧!原理分析原创 2016-03-30 10:51:12 · 4879 阅读 · 1 评论 -
在android framework中添加自定义系统服务
添加系统服务需要添加aidl,service,manager文件,需要修改SystemServer,Context,ContextImpl下面举例进行说明,主要添加一个服务,用于获取系统时间和版本号1.在frameworks/base/core/java/android/app/下添加aidl文件frameworks/base/core/java/android/a原创 2017-01-11 16:20:32 · 8777 阅读 · 5 评论 -
Android开发常用框架汇总(转)
*****响应式编程*****RxJavahttps://github.com/ReactiveX/RxJavaRxAndroidhttps://github.com/ReactiveX/RxAndroid*****消息通信*****EventBus -- 组件间的消息通信https://github.com/greenrobot/EventBus*****注解框架*****b...原创 2018-09-28 15:32:19 · 248 阅读 · 0 评论 -
Android 常用框架大全
转自:https://segmentfault.com/a/1190000005073746 1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的库Fr...转载 2018-09-28 15:45:59 · 649 阅读 · 0 评论 -
Android高精战争(MVC、MVP、MVVM)
和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:我的App需要应用这些设计架构吗?MVC,MVP等架构讲的是什么?区别是什么?本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题。1.架构设计的目的通过设计使程序模块...转载 2018-09-28 15:57:14 · 245 阅读 · 0 评论 -
Zygote进程详解
Zygote进程是怎么启动的?Android系统是基于Linux内核的,而在Linux系统中,所有的进程都是init进程的子孙进程,也就是说,所有的进程都是直接或者间接地由init进程fork出来的。Zygote进程也不例外,它是在系统启动的过程,由init进程创建的。在system\core\rootdir\init.rc文件中可以看到zygote的如下信息;service zygo原创 2015-04-03 16:16:49 · 5279 阅读 · 0 评论 -
Android init language
Android init language readme.txt在system/core/init/readme.txtAndroid Init Language---------------------The Android Init Language consists of four broad classes of statements,which原创 2015-04-03 16:12:29 · 564 阅读 · 0 评论 -
系统默认值设定
一.Settings默认值介绍为什么要设置默认值呢?主要用于工厂出厂时,或恢复出厂设置时,设置中的数据恢复到原有的设定。默认值保存在什么地方呢?Settings中数据都会保存在SettingsProvider数据库中,因此修改默认值,主要修改SettingsProvider代码位置:frameworks/base/packages/SettingsProvider原创 2015-04-03 18:07:12 · 928 阅读 · 0 评论 -
如何修改(反编译,修改,重新打包,替换资源)GMS套件中的内容
有时候,项目需要预置GMS套件(俗称谷歌套件)到系统,预置后发现套件中的设置向导(SetupWizard.apk)中的提示信息(如提示拔出电池,插入SIM提示,可能你的手机不能拔电池)可能时机器设计不符合,这时候就需要修改其中的提示。修改思路大致为:反编译apk,修改资源文件,重新打包,替换原来包中的资源。选择替换的方式就可以保证签名不变。下面就简单介绍下,如何实现GMS套件提示内容的修改。原创 2013-10-29 21:32:57 · 4109 阅读 · 0 评论 -
如何获得第三方应用Widget的包名和类名,并将其放置到桌面
1.找到Launcher下的/Launcher/res/xml/default_workspace.xml文件,加入如下代码://以下是添加金山清理大师widget到第三屏launcher:packageName="com.cleanmaster.mguard" //金山清理大师widget包名launcher:className="com.cleanmaster.appwi原创 2013-09-24 08:58:51 · 1851 阅读 · 0 评论 -
文本编辑框显示光标,屏蔽软键盘和上下文对话框
EditText Password = (EditText) findViewById(R.id.login_psd_input); 有时候在做一个应用时,自己绘制了一个键盘输入界面,用于输入密码,这时你就希望不弹出软键盘和上下文对话框,但是又想文本输入框有光标。如果你使用:Password.setFocusable(false);Password.setEnabled(f原创 2013-09-23 09:20:17 · 1304 阅读 · 0 评论 -
App install location(决定App安装位置因素)
决定app安装位置的因素有两个:1、app内部的AndroidManifest.xml文件中定义android:installLocation的属性2、设置->存储中首选安装位置android:installLocation属性设置分为4中情况:1、android:installLocation="auto" //如果定义为auto,那么该app会被安装到手机内存,也就是d原创 2013-12-18 16:19:12 · 2012 阅读 · 0 评论 -
.keep_list和.restore_list作用
.keep_list1.保存在/data/app下(/data/app/.keep_list)2.作用:恢复出厂设置后,/data/app下的apk不会被删除;但是用户可以卸载,卸载后再进行恢复出厂设置,所卸载的apk就不会被恢复了3.原始文件:vendor/mediatek/ckt89_we_jb2/artifacts/out/target/product/ckt89_we_jb2/da原创 2015-04-03 16:29:36 · 1454 阅读 · 0 评论 -
使用PackageInstaller安装app流程学习小结
前言首先本文不是做PackageManagerService学习总结,PackageManagerService这货有1万2千多行代码,学习起来颇费劲,并且这货功能强大,本文只会总结其中一个小小的功能为何要做这个总结呢?说来话长,鄙人菜鸟一枚,接到一个安装应用过程中重启的问题,原因找到,但不知如何解决,无奈,只有硬着头皮学习了下这部分内容OK,废话不多说,接下来直接上干货,如果文中有问题或原创 2015-04-03 16:45:09 · 13075 阅读 · 0 评论 -
Android Init进程详解
init进程init是一个由内核启动的用户级进程init是Linux系统中用户空间的第一个进程。由于Android是基于Linux内核的,所以init也是Android系统中用户空间的第一个进程。adb shell ps中init的PID为1,PPID为0init进程主要作用:1.解析脚本init.rc2.根据init.rc配置信息,触发Action及启动Servi原创 2015-04-03 15:56:11 · 1056 阅读 · 0 评论 -
SD异常拔出流程浅析
前言在Android手机上SD卡异常拔出有时候会导致一些很奇怪的问题,比如重启/闪屏/Crash问题鉴于这种情况,就很有必要来了解下SD卡异常拔出流程了。背景知识先了解下SD卡挂载吧SD卡挂载到手机中,会挂载到多个分区,如下图所示:adb shell df从上面的图中可以看出,SD卡会挂载到/mnt/secure/asec ,/storage/sdca原创 2015-04-03 17:50:08 · 3278 阅读 · 2 评论 -
android updater-scrip
ui_print("*********************************************");ui_print(" Google Apps for X HIKe ");ui_print("*********************************************");ui_print原创 2015-04-03 16:36:15 · 873 阅读 · 0 评论 -
GMS卡刷包制作
1.下载对应版本的GMS套件地址:http://wiki.rootzwiki.com/GappsGMS套件目录结构如下:|-- gapps| |-- META-INF| `-- system |-- addon.d |-- app |-- etc |-- framework |-- lib |--原创 2015-04-03 16:37:44 · 2476 阅读 · 0 评论 -
详解MVC,MVP,MVVM
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010321471/article/details/51176120 mvc结构: 视图(View):用户界面。 控制器(Controller):业务逻辑 模型(Model):数据保存mvc各部分的通信方式mvc互动模式通过 View 接受指令,传递给 Contro...转载 2018-09-28 16:04:28 · 296 阅读 · 0 评论