自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

@CJZ啊的博客

思考,行动,坚持,自律。

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android小项目——新闻APP

前言:在公司学习了一段时间Android知识,决定做一个小项目,目的是学会运用所学的基础知识,在这里记录一下开发历程,大家可以把它看成一款入门级练手的 Demo 应用吧~项目介绍:类型:新闻APP(低仿今日头条)基本功能:欢迎页面加载(3s,点击可跳过)——Activity相关用户注册/登录 ——SQLite运用横向滑动列表显示新闻类别——TabLayout...

2019-02-26 19:25:42 91158 2219

原创 Android O Settings源码流程分析(静态界面篇)

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇Settings路径: packages/apps/Settings主界面和子界面从清单文件AndroidManifest.xml中入手:setting的主界面的Activity为 Settings...

2018-10-19 19:07:09 4678 4

原创 2021年9月大厂Android面试真题

引言记得自己在20年最后一天发表过一篇博客,在里面曾经立下进大厂的豪言。为了实现这个“小目标”,除了每天给自己充电外,还赶在金九银十前认真系统地复习了一个半月,终于有信心在九月正式开始大厂面试,其中包括百度,爱奇艺,网易,京东,小米,搜狐,作业帮等,最终我也是如愿入职其中一家公司。每次面试后我都会及时复盘总结面试题,查缺补漏,我将会把这些面试题都分享给大家,主要是给2年左右Android工作经验的同学一个参考。面试中难免会问到项目相关的问题,因为每个人参与的项目以及技术栈各不相同,我觉得参考意义不是

2021-10-14 23:06:49 1367

原创 再见,2020(文末有小福利)

今天是2020年的最后一天,回顾这一整年,有很多话想说,却又不知从何说起。 看了一下我的博客记录,最后更新的时间定格在了19年7月18号,后知后觉2020年一整年竟然一篇博客都没有产出,平时虽有做过技术知识整理,但最终因为各种原因没有将它们发布到博客上(实际上就是懒)可能是因为有些强迫症的原因吧,觉得今年要是连一篇博客都没有的话,非常的不完整,内心会产生一种焦虑感(我瞎编的,实际就是因为强迫症,每年都要有博客产出,即使数量很少,即使质量很差)。我其实并不是一个喜欢回顾过去做自我总结的一个人,但是..

2020-12-31 18:04:00 966

原创 error: resource style/Theme.AppCompat.Light.NoActionBar

今天更新完公司最新项目代码后编译突然报错:error: resource style/Theme.AppCompat.Light.NoActionBar网上苦苦找寻良策,答案大多是把v4包替换成v7包,对我无效。我感觉还是和AS本身环境有关。最终凭借着不懈努力+不断猜测终于找到一个对我有用的方法,参考链接:https://www.jianshu.com/p/f0f2af9ec568...

2019-07-18 08:52:07 7168

原创 Android Studio关于minSdk version,targetSdk version报错

自己的电脑上AS导入公司项目后报如下错:The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file.The targetSdk...

2019-04-10 22:53:32 1446

转载 Windows 7下Git SSH 创建Key的步骤

本文转载自:https://blog.csdn.net/lsyz0021/article/details/52064829当我们使用github或者bitbucket等仓库时我们有可能需要ssh认证,所以需要生成他的ssh key。1、首先你要安装git工具下载地址:https://git-scm.com/downloads2、右键鼠标,选中 “Git Bash here”,当然你...

2019-04-10 22:47:32 542 2

原创 Git diff ^M与无效修改的消除

前言: 在git提交代码时,执行git diff 命令发现在每一行修改后多出“^M”,并且还多出了几行无效修改(本地未作任何修改,但是git diff时显示有修改并且看不出修改了何处),这样的代码是肯定不能提交的,那么如何解决这种问题呢?“^M”产生的原因:这是由于换行符在不同的操作系统上定义的区别造成的。Windows用CR LF来定义换行,Linux用LF。CR全称是Ca...

2018-12-26 19:36:00 4143

原创 解决程序启动及Activity之间切换黑屏问题

问题:在程序启动或者Activity切换时会出现短暂黑屏问题原因: 默认情况下 activity 启动的时候先把屏幕刷成白色或黑色,再绘制界面。而绘制界面或多或少有点延迟,所以就导致了在此期间看到的是黑屏,这显然是非常影响体验的。解决:在 Activity theme 属性中设置style 即可步骤:1、自定义Style<sty...

2018-12-13 11:37:55 1588

原创 解决Android P编译apk问题

问题:        最近拿到一个9.0的android平台,编译一个应用无法安装,并且跟以前android版本有个区别,编译出来会多一个odex的文件来。原因:        用mm编译apk时,会在out目录下生成.apk和.odex两个文件,是为了加快运行速度,把dex分出来做的预处理。但是一般开发时需要mm编译出一个完整的apk,直接用adb进行安装就可以进行调试。...

2018-12-07 10:10:15 1550 4

原创 解决adb devices : no permissions

Ubuntu 系统下连接usb设备后使用adb devices命令有如下提示:List of devices attached???????????? no permissions  原因:Ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持; 这种问题的解决办法就是 设置usb的权限;方法如下:1.使用  lsusb 命令查看us...

2018-12-06 14:54:12 1294

原创 使用adb命令取出手机中的apk

前言:在公司经常遇到push或者install新的安装包到手机中测试,如果不对原apk进行备份,测试完只能通过还原或者刷机恢复,比较麻烦。但是通过几行简单命令就可以做到对原apk进行备份,mark一下,方便以后查阅使用~第一步:查询所有安装的apkadb shell pm list packages……--->找到自己要备份出来的apk的包名。第二...

2018-11-14 13:37:19 1283 1

原创 Settings 添加一级菜单

Settings添加一级菜单:1、一级菜单项的实现是Activity     例如MySettings.java,此类文件直接继承的是Activity,添加比较简单(1)在清单文件中添加如下内容    &lt;activity android:name="MySettings" android:label="@string/my_settings_...

2018-10-27 10:58:55 1260

原创 Android O Settings源码流程分析(搜索栏篇(下))

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇Settings 搜索栏上篇——界面 中篇——实现原理 下篇——搜索及页面跳转下篇——搜索及页面跳转在搜索过程中,会从数据库中查找匹配,点击筛选结果,根据ClassName启动对应的界面,代码实现回到SearchFra...

2018-10-26 14:22:48 1898 1

原创 Android O Settings源码流程分析(搜索栏篇(中))

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇Settings 搜索栏上篇——界面 中篇——实现原理 下篇——搜索及页面跳转中篇——实现原理初始化候选项:相关类:/packages/apps/Settings/src/com/android/settin...

2018-10-25 13:31:00 5447 2

原创 Android O Settings源码流程分析(搜索栏篇(上))

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇Settings 搜索栏上篇——界面 中篇——实现原理 下篇——搜索及页面跳转上篇——界面首先看一下搜索框的布局实现;位于Settings主界面布局文件settings_main_dashboard.xml中:...

2018-10-24 11:32:13 3176

原创 Android O Settings源码流程分析(数据加载之获取及修改默认设置属性值)

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇加载默认设置值及修改:(涉及SettingsProvider)示例:(设备自动亮度设置)——在Display菜单下:其对应的Fragment是:DisplaySettings.java;加载布局:display_se...

2018-10-23 15:36:39 2229 1

原创 Android O Settings源码流程分析(数据加载之二级菜单)

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇数据加载之二级菜单二级菜单是动态加载和静态xml布局文件相结合的方式。以“系统”这一项为例进行分析:首先是清单文件AndroidManifest.xml所对应的Fragment是SystemDashboardFr...

2018-10-22 21:15:09 4415 4

原创 Android O Settings源码流程分析(数据加载之一级菜单)

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇数据加载之一级菜单DashboardSummary是顶级菜单的容器,那么数据的获取和它也就有关系。DashboardCategory的获取是在DashboardSummary中的updateCategoryAndSugges...

2018-10-21 10:36:36 5494 2

原创 Android O Settings源码流程分析(界面渲染篇)

Android O Settings静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇Settings 渲染fragment(菜单之间的跳转)在Activity中填充fragment的方法主要为SettingActivity中的SwitchToFragment()给mFragmentClass赋值为And...

2018-10-20 11:16:07 3135

原创 Android 进阶之使用Intent传递对象

Android 进阶之使用Intent传递对象 ——整理自《第一行代码》方式一:Serializablepublic class Person implements Serializable{ ...

2018-10-16 10:52:46 8626

原创 AIDL

AIDLAIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。是的,首先我们知道的第一点就是:AIDL是一种语言。设计这门语言的目的是为了实现进程间通信,尤其是在涉及多进程并发情况下的进程间通信默认支持的数据类型包括:Java中的八种基本数据类型,包括 byte,short,int,long,flo...

2018-10-13 13:16:09 263

原创 Android adb 电池相关

1. 电池信息1.1 获取手机电池信息adb命令:adb shell dumpsys battery 得到信息如下:AC powered: falseUSB powered: trueWireless powered: falsestatus: 2 #电池状态:2:充电状态 ,其他数字为非充电状态health: 2present: truelevel: 95 ...

2018-10-12 19:48:46 501

原创 Android多线程

AsyncTaskAsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法。注意继承时需要设定三个泛型Params,Progress和Result的类型,如AsyncTask&lt;Void,Inetger,Void&gt;:Params是指调用execute()方法时传入的...

2018-10-12 13:41:51 166

原创 ListView实现上拉加载&下拉刷新

上拉加载&amp;下拉刷新思路详解:自定义的带有下拉刷新和上拉加载的ListView开始时,跟系统的ListView一样。不过多了个header和footer只不过这两个布局以不同的方式隐藏起来了而已。(header是在手机屏幕外的上面,footer是直接隐藏起来了。因为下拉和上拉加载不同,下拉加载有手势判断,要出现动画效果,根据下拉的各种手势,来设置具体的操作。如果直接跟footer一样...

2018-10-11 21:38:12 4946 6

原创 Android裁剪图片为圆形

/** * 转换图片成圆形 * * @param bitmap * 传入Bitmap对象 * @return */ public Bitmap toRoundBitmap(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); f...

2018-10-10 19:54:14 1642

原创 Android自定义控件

自定义控件1.首先写一个类,就是给控件起个名字2.要在res/values目录下建立attrs.xml文件,写下需要定义的属性3.在自定义类,包含AttributeSet参数的构造方法中,关联自定义属性4.将自定义的控件类放在布局文件中(全包名)5.在视图类中使用自定义View:自定义View就是三大流程:onMeasure、onLayout和onDraw。o...

2018-10-10 19:06:31 162

原创 Android-RecycleView

RecycleView使用: 实现横向滚动:LinearLayoutManager layoutManager = new LinearLayoutManager(this);//设置横向滚动layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);实现瀑布流布局:设置瀑布流布局//参数1:布局分为...

2018-10-06 10:25:51 179

原创 提高ListView运行效率

提高ListView的运行效率:                                                         ——整理自《第一行代码》1.getView()方法中还有一个 convertView 参数,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用View view;    if (convertView == null) {...

2018-10-05 21:18:22 399

原创 Android小知识get

Android运行时权限:(1)在清单文件中加入权限声明(2)借助ContextCompat.checkSelfPermission()方法,利用方法返回值与PackageManager.PERMINSSION_GRANTED 比较,相等表示已授权,不等未授权  ( 3 ) 若没有授权,调用ActivityCompat.requestPermission()方法申请授权 数...

2018-10-04 11:07:49 148

原创 Android对飞行模式下BT、WiFi开关控制

Android对飞行模式下Wifi和蓝牙的控制通过如下两个数据库中的值控制:airplane_mode_radios、airplane_mode_toggleable_radios,其值保存在Setting数据库Global表中./** * A comma separated list of radios that need to be disabled when airplane ...

2018-09-29 10:12:14 1856 1

原创 解决Linux下adb devices找不到设备

Ubuntu下USB连接Android手机后,使用adb devices 出现如下: List of devices attached 解决方法:1$lsusbBus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hu...

2018-09-20 10:52:43 3742 3

原创 Android网络技术

Android网络技术申请网络权限使用WebView控件显示网页使用Http协议访问网络HttpURLConnection1.首先需要获取到HttpURLConnection的实例,一般只需new出一个URL对象,并传入目标的网络地址,然后调用一下openConnection()方法即可,在得到了HttpURLConnection的实例之后,我们可以设置一...

2018-09-18 22:38:26 481

原创 Android-Animation

Animation 动画类型视图动画View Animation(补间动画Tween、帧动画Frame)属性动画Property Animation补间动画补间动画类型Android的补间动画由四种类型组成:XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 ...

2018-09-16 10:06:15 114

原创 Android8.0兼容性Notification

NotificationUtils:import android.app.Notification;import android.app.NotificationChannel;import android.app.NotificationManager;import android.content.Context;import android.content.ContextWrap...

2018-09-15 22:54:01 197

原创 Android-Notification

Notification使用示例:Intent intent = new Intent(this, NotificationActivity.class);/*** 参数1:Content* 参数2:一般不用,传入0* 参数3:Intent* 参数4:确定PendingIntent的行为,一般传入0*/PendingIntent pi = PendingInt...

2018-09-15 22:39:51 150

原创 Linux常用命令集——Ubuntu

Linux常用命令集1.打包及压缩 window: zip,rar linux: gz, bzip, zip1.打包及拆包命令tar -cxzjvf 打包后的文件 欲打包的目录-c : 创建一个归档文件(achive),即打包文件-x : 拆包-z : 以gzip格式压缩,默认压缩倍数6,(0-9)-j : 以bzip2格式压缩-v : 显示打包或拆包的文...

2018-09-14 20:02:58 208

原创 Android 常见存储目录

Android 常见存储目录一.getCacheDir、getCacheDirgetCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//files目录 二.getExternalFilesDir、getExternalCacheDir  应用程序在运行的过程中如果需要向手机上保存数据,一般...

2018-09-12 20:08:28 795

原创 Android-Fragment

fragment生命周期:可以看到Fragment比Activity多了几个额外的生命周期回调方法:onAttach(Activity)当Fragment与Activity发生关联时调用。onCreateView(LayoutInflater, ViewGroup,Bundle) 创建该Fragment的视图onActivityCreated(Bundle) ...

2018-09-09 17:23:21 173

原创 Android 多媒体

Android 多媒体注意读写权限问题!动态申请权限:调用摄像头:首先这里创建了一个File 对象,用于存储摄像头拍下的图片,这里我们把图片命名为output_image.jpg ,并将它存放在手机SD 卡的根目录下,调用Environment 的getExternalStorageDirectory()方法获取到的就是手机SD 卡的根目录。然后再调用...

2018-09-09 09:06:42 455

Android小项目——新闻APP(源码)

Android小项目——新闻APP(源码),一个很简单的可以练手的Android Demo Ps:下载之前可以先看一下这篇文章——https://blog.csdn.net/qq_34149526/article/details/80992341

2019-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除