- 博客(43)
- 资源 (7)
- 收藏
- 关注
原创 Android Studio 生成so文件 及调用
由于项目要求有时候需要调用底层C代码,而我们使用的是Android 写的Java代码,这时候我们就需要使用JNI( Java Native interface),JNI 可以使Java程序调用本地程序或者库(一般是使用C、C++ 或者汇编语言编写)。so文件是C、C++的函数库,在Android中 调用这些库,使用的是JNI( Java Native interface),这篇文章 会介绍 使用Android Studio 如何生成so文件,及如何使用so。(1)NDK环境安装...
2020-12-31 18:05:21
1896
转载 使用Android Studio为系统级的app签名
我们在做系统级的app开发时,往往会在AndroidManifest.xml文件中添加:android:sharedUserId=”android.uid.system”以获取系统级的权限,如果你正在使用Android Studio进行开发,编译生成的apk会因为签名问题无法安装。此时有两个解决方案,1,是将编译好的apk放入源码中vender目录下,编写相应的android.mk文件,并在文件中加入: LOCAL_CERTIFICATE := platform1然后使用“mmm your
2020-12-30 11:15:35
850
原创 RecycleView 刷新显示错乱(刷新之后上一个界面的显示还在,出现部分错乱)
今天使用RecycleView 来实现来展示一个列表,突然发现刷新的时候上一个列表的显示还在,看了打印数据已经更新了,只是有一些项的显示还没有更新,还保存着上一个状态,于是就出现了数据错乱的现象,有一部分是更新之后的状态,一部分是更新之前的状态。有问题就是找度娘啊,经过一番百度解决了,下面是别人提供的几种方法。(1)在绑定adapter给RecycleView之前,设定adapter的stableIds为true。adapter.setHasStableIds(true);recycle...
2020-12-21 11:35:06
1401
原创 Retrofit + Rxjava 获取网页的Json数据
Retrofit 一推出就受到了广大人民的热爱,作为一个学习的人,也要跟上时代,学习新的技术,了解更多的知识,带着这样的目标,开始了我的学习之路,第一步肯定就是百度,看看别人的博客,从中挑取适合自己的进行学习,以下是我看到的一个不错的博客,推荐给大家,当然,也可以自己百度学习:这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)Retrofit详细讲解,个人认为很不错。Android:手把手带你入门神秘的 Rxjava RXjava详细讲解 在了解了这两个...
2020-09-28 18:20:16
614
原创 怎样使用Chrome浏览器获取网页页面的Json数据
1.选择一个需要获取Json数据的网页地址:例如:https://www.6tennis.com/schedule2.使用Chrome浏览器打开需要爬取数据的网址,按F12进入开发者调试模式3.然后刷新一下网页页面,就会显示这个网页嗅探到的一些文件,只需要单击小放大镜,然后输入你需要搜索的数据(可以是JSON里面的数据或者文件名)注意Network模式单击上图第三步骤,就会发现右手方框框里出现一系列的JSON数据。参考文章:https://blog.youkuaiyun.com/qq_37377
2020-09-22 16:08:58
21994
3
原创 Android 8.1悬浮窗错误android.view.WindowManager$BadTokenException: permission denied for this window type
在6.0以前的系统版本,悬浮窗权限是默认开启的,直接使用即可。 而面向于6.0以后,如果没有处理权限相关的操作,可能会导致IDE报错:android.view.WindowManager$BadTokenException: permission denied for this window type 2003 ,那么对于6.0以上的版本我们就得申请权限。申请权限(6.0以上版本)...
2020-05-08 14:28:00
839
原创 Android GridView 踩过的坑
虽说有了RecycleView之后,基本上都不会再使用GridView了,但是以前的还是使用的GridView,现在就来说一说GridView踩过的坑,在使用GridView的时候我们发现点击GridView的子视图会发现每个视图都有一个黄色的底色,这是我们不想看见的,那么如何解决呢,我们都想到要从属性这方面入手,那具体的属性是什么呢?就是android:listSelector...
2020-04-14 09:39:34
400
原创 Android 8.1 沉浸式状态栏
1.沉浸式全透明状态栏设置: Window window = activity.getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutPar...
2020-03-25 15:31:21
781
原创 Android Studio 导入系统jar包
前言 最近一段时间要写一个与系统设置的相关的项目,里面需要用到一些Android系统的隐藏方法,所以需要我们将打包好的jar包导入到Android studio,让Android项目能使用系统的方法,解决不必要的麻烦,中间踩了很多坑,现在记录一下,以系统的classes.jar为例。 具体步骤:1.将系统jar包放到module的libs文件夹下...
2019-11-20 15:37:55
728
原创 Android Studio 3.5.2 配置anko
1.登入github,搜索anko点击第一个,按照指示,配置1. gradle (modle app)配置如下implementation "org.jetbrains.anko:anko:$anko_version"2.gradle (project)ext.anko_version = '0.10.8'coroutines的引入很重要 这...
2019-11-15 15:14:01
907
原创 Android使用 CircleImageView 实现圆形头像的方法
在开发过程中,用到需要使用圆形图像的情况有很多,所以我们要做总结,像这种比较常用的知识,我们都要记录一下,以便以后复用。 在Android Studio 中使用CircleImageView 实现圆形头像大致可以分为以下几个步骤: (1)在Project的build.gradle中添加jar包依赖 ...
2019-09-17 16:38:46
1038
原创 将 Android Studio 的项目放入Android 源码编译修改
AndroidStudio是一款非常好用又强大的开发工具,现在大部分的人都采用的是这种工具。但这个工具也有一点缺陷就是不能直接放在Android的源码下编译,而Eclipse也可以的。所以要将Android Studio的项目放到源码下编译,需要转换。(1)将Android Studio 的项目转化成Eclipse的项目运行; (1)新建一个Eclips...
2019-08-22 16:21:49
2304
转载 android jar包下载地址
最近做项目用到很多jar包,去网上找了许多,最后发现这位楼楼归类了许多jar包在gitlub上,找到了自己想找的,引用一下https://github.com/beibeiMary/AndroidJarALL原文地址:https://blog.youkuaiyun.com/languobeibei/article/details/77572743上面的链接可以直接访问查看。...
2019-07-17 09:51:44
4395
原创 Android 打开设置中的某个Fragment
打开设置中的Activity是简单的,只需要得到启动该Activity的Intent过滤器即可,但是要启动该Activity中的一个Fragment就不能采取这种方式了。 通过实验,采取了这种方式:先启动Activity,然后在Activity可见的时候立马启动Fragment。以选择时区Fragment为例:首先启动Activity:case R.id.tim...
2019-05-15 11:25:52
2723
原创 Android 默认值修改
1.WiFi的默认值修改:目标文件:frameworks\base\packages\SettingsProvider\res\values\defaults.xml标识:def_wifi_on<bool name="def_wifi_on">true</bool> :true代表默认开,false代表默认关2.修改屏幕锁屏默认值:目标文件:frame...
2019-05-10 10:25:52
934
1
原创 Android 第一次启动时预安装apk
1.首先要添加权限,在AndroidManifest.xml添加如下权限:<uses-permission android:name="android.permission.INSTALL_PACKAGES" /><uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /&...
2019-05-07 16:35:45
1477
原创 Android 8.1拦截Activity
Google的Find My Devices 能够通过Google账号来锁定登录同一个账号的Android 设备。锁定之后只有通过指定的密码或者恢复出厂设置才能解锁该设备。恢复出厂设置会清空用户的数据,不行,而我们的系统是去掉锁屏的也就是不能通过密码来解锁设备了,最后想想看能不能通过拦截该锁屏的Activity来使它不锁屏。参考了https://blog.youkuaiyun.com/h55l...
2019-04-25 18:31:35
647
原创 Android走马灯效果demo
总体效果如下: 该程序总体分为二大部分,第一大部分主要是负责显示走马灯的效果;第二大部分主要是负责对走马灯的各种控制。比如自动旋转、以X为对称轴旋转,以Z为对称轴旋转等等。实现走马灯的效果我们需要自定义一个继承RelativeLayout的布局,自定义布局:public class CarrouselLayout extends RelativeLayout{ ...
2018-12-19 17:03:19
1851
原创 将自己的jar包打包进apk进行编译
(1)首先在项目的根目录下新建一个文件夹,并且命名为libs;(2)将自己准备好的jar包拷贝至libs目录下;(3)在项目的Android.mk下添加如下语句,红色部分标注:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call...
2018-11-29 18:26:54
3039
原创 adb shell下查看sqlite数据库
有时候我们查看本地数据库的值是否改变,一般我们可以使用sqlite3来查看数据库的表数据。现在我就来介绍在windows下怎样使用命令查看数据库。(1)安装sqlite应用;(2)使用adb shell 命令查看数据库,一般数据库的都是存在data/data目录下,如果我们需要查看那一个应用的数据库,我只需要进入data/data目录下相应的包名即可,ls即可查看该...
2018-11-03 11:08:04
629
原创 Android之限制安装apk的个数
了解apk安装流程的都知道apk的安装主要涉及的frameworks层下的PackageManagerService.java类的installPackageLI方法。找到,添加,本例以6个为例: try (PackageFreezer freezer = freezePackageForInstall(pkgName, installFlags, "ins...
2018-10-18 11:50:12
946
原创 Android 之调节系统的亮度和音量
主界面的布局非常简单,就是三个按钮,home按钮,返回主界面,volume按钮,弹出音量进度条,brightness按钮,弹出亮度进度条调节。主界面:brightness界面: 代码下载:https://download.youkuaiyun.com/download/qq_32390877/10721686 ...
2018-10-15 16:10:11
1445
原创 Andriod ubuntu 14.04 CTS 测试环境配置
(1)安装adb sudo apt-get install android-tools-adb 结果:Unable to locate package adb 那就还需要一些步骤: sudo add-apt-repository ppa:phablet-team/tools sudo add-apt-repository ppa:ubuntu-sdk-...
2018-10-08 14:58:50
669
原创 如何将Settings中的PreferenceActivity 修改成 Activity
我们都知道设置中的设置项界面都是使用PreferenceActivity 来实现的,它是一个非常好用又方便的组件,但是有时候总会有一些奇怪的要求,我的这个是要求将settings中的WifidisplayActivity转化成自己写的Activity,因为用PreferenceActivity的布局是固定的不能添加自己想要的布局,有需求就的实现,谁叫我们是码代码的。首先看界面:界面非常...
2018-09-22 17:54:34
426
原创 git cherry-pick遇到的问题
今天在使用git cherry-pick同步分支的时候遇到了一点问题,记录一下。1.git cherry-pick + log id 出现fatal: bad object 77c6905dcf7f946cff594a69a33d12e22bedfae4场景及出现错误的原因: 我的情况是在B分支的同步A分支的一个commit,出现了如标题的错误。我是直接在web上看到...
2018-09-10 12:17:57
5474
原创 Android 8.1 Settings 的热点源码分析
最近一段时间研究了一下Settings中的热点功能实现,以下是我的一点心得,有不对的地方欢迎指点。 它主要涉及的类有TetherSettings.java 、WifiApEnabler.java、WifiStateMachine.java以及它的布局文件tether_prefs.xml首先从布局文件tether_prefs.xml分析 ...
2018-09-05 10:01:01
2557
1
原创 Android 8.1自定义开机向导
在Android设备第一次上电的时候会进行一个国家和语言及搜台的选择,其具体的实现都是在Provision.apk 中实现的,对于Provision.apk 这个apk 应用大家可能比较陌生,它位于Android目录的packages\apps/下,它的主要作用是作为开机引导用户进行一些基本设置.在原生的 android 系统中,provision非常的简单,只有一个空白的 acti...
2018-07-31 15:27:43
7635
2
原创 Android 8.1 添加菜单项
由于工作的原因,许多时间我们需要定制自己的Settings,需要对Settings中的菜单项进行增加和删除。1.增加菜单项第一,首先在AndroidManifest.xml中添加activity 其具体属性的解析如下: 第二,在包com.android.settings下的Settings类中添加, public static class IRSelectAc...
2018-07-27 16:58:29
3579
2
原创 Android 7.1 预置GMS包
1.下载需要的Gms包;https://download.youkuaiyun.com/download/qq_32390877/104993292.在Android源码的device/产品名称/产品型号/device.mk末尾中,加入以下语句GMS_SUPPORT=yesifeq ($(strip $(GMS_SUPPORT)), yes)$(call inherit-product-if-ex...
2018-06-26 09:09:03
2669
原创 使用ADB命令替换系统的某个应用APP
在Android 开发过程中。使用ADB命令替换APK应用是常见的情况。具体该怎么做?步骤如下1.打开计算机的运行输入cmd;2.获取root权限;3.查看设备是否连接;4.挂载连接设备;5.使用adb shell命令进入设备;6.进入设备的apk存放的位置,一般堵在system 目录下的app目录或者priv-app目录下;7.删除该apk,rm -rf AMPVideos.apk;8.push...
2018-06-20 16:50:01
11305
1
原创 Android 版本号比较
Android版本升级的时候一般都会比较服务器上的版本和本地的版本,看是否需要升级。 public boolean compareVersions(String otaPackageVersion, String systemVersion) { //判断是否为空数据(otaPackageVersion为服务器上版本号,systemVersion为本地版本号) if ...
2018-06-20 09:05:08
1243
原创 adb remount 挂载失败
打开cmd ,输入adb remount 挂载设备的时候失败,提示如下:按照提示,输入adb root 再输入adb remount ,成功。
2018-06-06 15:15:09
3846
原创 adb命令
Android调试桥ADB,即Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。常用的ADB命令adb reboot:重启设备adb devices:查看连接的设备adb start-server:开启adb服务adb kill-server:关闭adb 服务adb inst...
2018-06-06 15:04:22
3231
原创 Rk3288差异包生成
1.make otapackage生成V1版本的完整包,保存。2.修改out/target/product/rkxxxx/obj/PACKAGING/target_files_intermediates/目录下的rk3188-target_files-eng.root.zip 为 rkxxxx-target_files-v1.zip,作为 v1 版本的基础素材包 。3.修改Android 代码4....
2018-06-05 16:39:03
839
原创 Android 之清除用户的数据
Android 中有两种保存数据库的方式,一种是通过SharedPreferences来保存数据,它用一个xml文档来保存数据;另一种是使用ContentProvider来保存,它使用的是创建数据库表的方式保存。如果要删除用户的数据就相当于删除数据库和xml文档中的数据。1.删除xml中的数据SharedPreferences sp=content.SharedPreferences(NAME, ...
2018-06-04 08:48:03
4463
原创 git 命令
git add :添加将文件内容添加到暂存区;git status: 查看状态;git commit -m +提交信息+ 文件:提交缓存区的文件到本地分支git checkout +分支名:切换到某分支;git checkout +文件名:恢复对某文件的修改;git pull:拉取远程的分支到本地分支;git push:将本地分支提交到远程分支;git fetch ...
2018-05-31 16:05:09
169
原创 Android 7.1 设置移除电池选项
Settings的源码位于packages\apps\Settings下,首先看AndroidManifest.xml文件,具体的情况请参照
2018-05-31 10:25:15
2906
原创 如何使用GitHub下载代码
GitHub是一个比较好的开源网站,作为一个初出茅庐的程序员,懂得使用它可以给我们带来很大的便利。如何直接在Android Studio下载gitHub上下载代码呢?准备工作:1.安装Android Studio;2.安装git;选择你需要下载的项目,点击Clone or download 按钮,在Android Studio工作区下方的Terminal中输入命令:git clone https:...
2018-05-31 09:00:15
4296
原创 Android 8.1预置APK
如何将一个没有源码的apk预置进系统。1) 在 package \app\下面以需要预置的 APK的 名字创建一个新文件夹,以预制一个名为Test的APK 为例;2) 将 Test APK的 拷贝到 Test 文件夹下;3) 在 Test 目录下创建一个名为 Android.mk的文件,内容如下:LOCAL_PATH:= $(call my-dir)#Test...
2018-05-28 10:50:30
4773
1
glide-3.7.0.jar picasso-2.5.2.jar android-gif-drawable-master.jar
2018-11-29
PreferenceActivity 修改成Activity
2018-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人