![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 95
csdn春哥
talk is cheap ,show me the code
展开
-
Android Framework系列(系统架构篇)
目录一、引言二、Android架构2.1 Linux内核层2.2 硬件抽象层 (HAL)2.3 Android Runtime & 系统库2.4 Framework层2.5 App层2.6 Syscall && JNI三、通信方式3.1 Binder3.2 Socket3.3 Handler四、核心提纲4.1 系统启动系列4.2 系统稳定性系列4.3 Android进程系列4.4 四大组件系列4.5 图形系统系列4.6 系统服务篇4.7 内存&转载 2021-07-02 13:41:39 · 8270 阅读 · 4 评论 -
Android Framework系列(从系统开机到应用启动篇)
前言:Android手机从系统开机到应用启动,里面程涉及到的Framework层、内核层知识还是挺多的,作为一名开发者,熟悉常见的通信方式(Socket、Binder、Handler等)、了解Android系统的整体架构势在必行。本篇文章带领大家一起来领略Android系统从开机到应用启动的前世今生。原创 2021-07-02 00:36:42 · 510 阅读 · 0 评论 -
设计模式总结
无论是产品设计还是项目架构都离不开设计模式,码农前辈们通过总结整理出的23种设计模式、七大原则十分值得我们学习,带着这个思想有效地coding…转载 2021-06-07 00:01:14 · 139 阅读 · 1 评论 -
Android 混淆:proguard实践
前言 网上关于使用proguard进行混淆的文章很多,但大部分是从讲解proguard知识点这个角度去写的,为什么要混淆,如何去混淆,混淆的注意点等重要的问题反而都没有写。 所以想通过这篇文章来记录我学习proguard的过程,一来是整理android混淆相关的知识点,二来是总结此...转载 2021-02-19 15:29:49 · 608 阅读 · 0 评论 -
Android多线程系列二(线程安全和锁机制)
1、volatile起源概念:在Java内存模型中,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存(共享内存)中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。因此就需要把变量声明为volatile。原创 2021-01-13 16:43:46 · 581 阅读 · 1 评论 -
Android多线程系列一(基础篇)
前言:在日常Android开发过程中,“线程”用处十分广泛,本篇文章将从如下几个角度进行分析总结。一、 线程的属性: 1. 线程的非静态方法方法 start()、run()、join()、interrupt、isInterruped() 和 静态方法 Thread.currentThread()、Thread.sleep、Tread.yield()、Thread.interrupted...原创 2020-05-11 00:34:29 · 465 阅读 · 1 评论 -
Git版本控制总结(第二篇:常用指令速查)
git指令大全git reset --soft HEAD^:仅仅是撤回commit操作,您写的代码仍然保留.git reset --soft HEAD3:如果你进行了2次commit,想都撤回,可以使用HEAD2git stash:切换到其他分支的时候,放在暂存区。切回来的时候,可以执行git stash pop可以恢复修改的内容git log 分支名 -number:表示......原创 2020-02-29 21:22:28 · 434 阅读 · 0 评论 -
Git版本控制总结(第一篇:分支管理)
Learning_Gitgit的相关学习subject1:合并分支场景一:现在有dev本地分支与远程分支,master本地分支与远程分支现在将dev的分支代码合并到master主干上:思路步骤 :1.切换到本地分支dev上,并且pull拉取一下远程dev分支上的改动地方(git pull origin dev)2.将所有本地修改进行commit并且push到远程dev分支上,保证没有...原创 2019-11-25 01:08:29 · 648 阅读 · 0 评论 -
重写View的onTouchEvent后,设置点击事件onClick()方法无效问题解决
自定义的view重写了onTouchEvent方法后,还想要响应onClick方法的话,最好在up事件里调用一下performClick()方法。参考:https://www.jianshu.com/p/7d1e773d9955原创 2019-10-23 09:38:27 · 2870 阅读 · 0 评论 -
APP在未启动的情况下无法收到静态广播
Android Application和静态广播1、启动静态广播时,系统先执行Application中的oncreate方法,然后执行BroadcastReceiver中的onReceiver方法。原创 2019-10-17 11:06:24 · 2431 阅读 · 0 评论 -
如何 在AndroidStudio中将项目打包成jar包:
以下内容是根据网上的方法进行验证后的总结。在AndroidStudio中将项目打包成jar包的方法:在build.gradle文件中,修改下面两个地方:(1)apply plugin:‘com.android.application’ 改为 apply plugin: ‘com.android.library’(2) 将defaultConfig中的applicationID这行注释掉完...原创 2019-09-29 10:37:04 · 917 阅读 · 0 评论 -
Androidstudio导入(或创建)新项目时,项目构建时间过长问题
很多时候,当我们导入新项目时,我们不希望每次都从网上下载gradle文件,所有我们可以考虑本地配置,通过修改gradle-wrapper.properties文件和classpath ‘com.android.tools.build:gradle:3.0.0’ 文件来实现本地化配置。例如:distributionUrl=file:///E:/AndroidStudio/gradle/grad...原创 2019-06-16 03:17:01 · 2131 阅读 · 0 评论 -
校园社交类app“校园微生活”
该app是本着以“爱生活,爱分享,爱旅游”为主题,方便大家记录大学生活点点滴滴的一款校园社交类软件。该款app的主要功能模块包括:发动态模块:发表动态,包括图片、视频、文字。旅行计划模块:制定DIY旅行计划,邀请好友一起旅行。添加好友:二维码扫描加好友,也可以通过搜索添加。第三方聊天功能:融云聊天。地理定位:百度地图定位,POI检索,搜索附近。模块UI相关展示:主界面 校园日记列表原创 2017-05-31 17:58:50 · 3993 阅读 · 0 评论 -
Android5.0以上版本对比
Android5.0新特性(2014年10月发布):代号为Lollipop(棒棒糖),采用了Google最新推行的Material Design设计语言,用户切换activity时,有无缝的过度位移动画.运行机制改为更新的ART。相比Dalvik,ART的处理机制完全不同,它会在应用程序第一次安装时就把程序代码转换成机器语言,而不是像Dalvik在第一次运行时才转换成机器码,让程序成为真正的本地原创 2017-08-28 11:18:37 · 1093 阅读 · 0 评论 -
Retrofit2+RXJava1(初识篇)
一:观察者模式基本实现1.创建观察者Subscriber Subscriber<String> subscriber = new Subscriber<String>() { @Override public void onNext(String s) { Log.d(tag, "Item: " + s); } @Override pub原创 2017-03-03 22:43:42 · 426 阅读 · 0 评论 -
Android中的Socket通信(UDP方式和TCP方式)
Android通过广播的方式来发送和接收数据,从而进行手机间的通信。发送方:public class SendToAIUIUtils { private static InetAddress mAddress; private static DatagramSocket socket = null; private static String ip = "255.255.25原创 2017-10-31 17:10:13 · 10549 阅读 · 1 评论 -
Retrofit2+RXJava1(操作符篇)
一:rxjava和retrofit版本gradle声明 //引入rxjava compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2.1' //引入retrofit compile 'com.squareup.retrofit2:retrofit:2.0.2' com原创 2017-12-03 21:31:48 · 523 阅读 · 0 评论 -
ADB指令大全
adb指令快捷键玩转adb命令,可以让我们电脑端操作手机变得游刃有余。 - **adb的断开与连接** ```java adb devices :显示已连接的设备 adb disconnect :端口号 :adb断开某设备 adb connect :端口号:adb连接某设备(通常针对offline设备) adb kill-server:杀死adb adb start-server:重启adb adb reboot:重启机器 adb...原创 2019-05-06 08:48:07 · 18040 阅读 · 0 评论 -
AndroidStudio快捷键大全
Androidstudio相关快捷键功能型快捷键 这些功能型快捷键,可以帮助我们快速提升开发速度。Alt+F1: 快速显示代码提示框,可进入代码结构等Esc:聚焦到编辑区域Ctrl+Shift +上/下: 当前代码(可以是多行)向上/下移动一行Ctrl+Alt+左/右 :当前代码光标的位置F4 :快速定位到类、方法定义的地方,相当有ctrl+鼠标左键Ctrl+shift+A: 通往全世原创 2017-07-25 10:36:51 · 591 阅读 · 0 评论 -
关于zxing二维码扫描的总结
众所周知,google的开源zxing二维码扫面,实现了我们基本的项目需求,然而里面还有很多问题需要解决,github上有许多大牛对zxing进行了封装,这边参考了“一片枫叶”的zxing项目。talk is cheap ,show me the code!1.主activity实现下面几种功能 //普通扫描 mScanBtn.setOnClickListener(n原创 2017-03-05 00:09:24 · 1241 阅读 · 0 评论