- 博客(50)
- 收藏
- 关注
转载 Android 10、11分区存储适配踩坑总结
转载自:Android 10、11分区存储适配踩坑总结作者:乎如冯虚御风的博客地址:https://blog.csdn.net/sakura____/ 分区存储的背景和目的 /早期的Android开发,对文件操作缺少限制,只要申请个读写内存权限就可以对整个文件目录随便操作,绝大多数应用都会在根目录建一个自己的文件夹用来存储数据,甚至把应用数据库(SQLite)移到外部文件夹中以防止应用卸载后数据被删除。从文件角度来说,这样会造成用户内存文件特别多特别混乱,而且卸载...
2021-09-28 09:44:22 1028
原创 适配Android11
修改编译版本到30targetSdkVersion : 30,buildToolsVersion: "30.0.3",升级AndResGuard瘦身第三方到最新classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.21'library 中已经把BuildConfig.APPLICATION_ID字段废弃掉,因为很容易造成误导,因此使用 BuildConfig.LIBRARY_PACKAGE_NAME代替。而 app 中的B
2021-06-09 09:46:45 455
原创 springboot war包和jar包,部署服务器的区别和优缺点
对于Java后台开发,我算是个新手,也算是见识到了什么叫犯错是最好的成长方式。废话不多说,开启今天的内容1.部署war包 1.将war包解压,将里面的内容放到服务器项目的目录下 2.修改/usr/local/apach/conf/extra目录下的httpd-vhosts.conf文件,将部署服务器访问端口 3.重启apach: service httpd re...
2020-03-18 11:22:16 19490
原创 Android 10 录屏适配
Android 8.0以后android得权限有所更改,但是影响录屏得得权限目前只影响Android Q版本,具体原理请看下面这篇博客,是他人所写,很是详细。https://blog.csdn.net/sinat_20059415/article/details/80584487下面具体写适配流程:1.先在AndroidManifest.xml文件里面添加权限 <uses...
2020-03-16 11:57:53 2612 2
原创 java 服务器抓取数据内存溢出
这段时间在做一个项目,需求:每一分钟抓取2个网站得数据,隔断时间就会报内存溢出得Bug,下面记录一下解决方法:1.增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1g。 nohup java -XX:-UseGCOverheadLimit -Xms1g -Xmx1g -server -jar xx.jar > 01.log &...
2019-12-16 16:57:25 291 1
原创 Android性能优化2——减少CPU的工作量
CPU:计算画图的方法 计算图形的结果是矢量图信息GPU:怎么画到屏幕,位图信息VSYNC : vertical synchorinzed 垂直同步 android每隔16ms发送一次VSYNC信号,触发对UI进行渲染目的是减少CPU的工作量优化一.在项目的theme里,把项目背景设置为null.<item name="android:windowBackground"...
2019-06-20 18:01:31 712
原创 Java 死锁解决方法
连用几个groupby ,造成数据库死锁,用下面的方法解决了,特此记下1.查询是否锁表show OPEN TABLES where In_use > 0;2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)show processlist3.杀死进程id(就是上面命令的id列)kill id如果上述方法,并没有解决你们的问...
2019-06-20 16:10:23 441
原创 Android性能优化1——App解决启动白屏问题
命令行查看当前连接手机的栈中的activityAdb shell dumpsys activity activities<!--去掉系统默认的标题栏--> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item>...
2019-06-18 14:25:32 1513
原创 Invoke-customs are only supported starting with Android,Static interface methods are only supported
记一次恶心的Bug: 在百度上搜这个问题,几乎所有的解决办法都是:compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }可是我明明设置了,却仍然提示这样的错误。这里我说下我的解决办法: 我的项目出现这个问题的原因:Gradle version :...
2019-04-28 16:07:48 138
原创 ViewPager和自定义ScrollLayout遇到的各种坑
这几天一直在做批量水印功能,也就是点击水印添加到一张图片上,然后应用到所有图片。我刚开始立马想到用ViewPager和PagerAdapter来做,因为这个滑动冲突自身已经解决了,不需要我们再去伤脑筋,还挺好用,结果用的时候遇到了几个坑,但是幸好最后都解决了。 先说一下ViewPager用的时候遇到的坑吧。 1.遇到翻页的时候,也就是还没完全翻到第二页,第二页显示的是第一页的内容,这样...
2018-06-10 11:34:30 435
原创 android 每次点击桌面图标都会重新启动应用的Bug
根据activity的生命周期,当界面退出时,会执行onPause()->onStop(),如果长时间不回到该应用,则会执行onDestory()回收内存。所以当我遇到这个问题的时候,觉得很不可思议,系统不会短时间内去回收内存,当然也不排除因系统的其他原因造成的回收。 但是当我点击系统tab键的时候,却发现该界面好好的待在后台,并没有被回收,这是怎么回事,上网查了一下,才发现不只我一个人...
2018-04-25 15:48:07 4607
原创 android反编译
百度上可以搜到的反编译文章很多,能用的却寥寥无几,所以决定自己总结一篇,以免日后用到时,又去百度半天。其实很简单。需要用到的工具apktool,dex2jar,jd-gui查看资源文件1.打开命令行工具,cd命令将目录转换到apktool文件夹下2.使用命令行 Java -jar apktool.jar d name.apk -o 输出路径 解:有的文章上所说明的命令行不包括Java -jar...
2018-03-29 17:03:13 185
原创 android studio2.3.3双击exe文件打不开的问题
今天突然打不开Android Studio了,真的是气死宝宝了,重装了n次as2.3.3还是打不开,无奈又重启电脑,还是不管用,修改安装包下的配置文件也不管用,当时真的无语死了,网上说的环境变量配置问题,我记得之前如果是环境变量配置问题,会弹出提示框,况且我也打开命令行测试了,测试变量没有问题,所以排除。反正网上搜的各种解决方法都试了,还是没有解决。好了,不扯淡了,直接说我的解决方法。
2017-10-23 14:33:50 2690 1
原创 浅谈人工智能
最近大家都在谈论人工智能,我也蹭一波热度,谈谈自己对人工智能的看法。人工智能,现在所有人恐怕都知道科学家,工程师们都在朝这个领域研究,可是大家有没有考虑到人工智能会给我们带来什么,给这个世界带来什么,毋庸置疑,人工智能能给我们带来更为方便,更为舒适的生活,但随之带来的是更多的失业,社会暴力的产生。人类简史的作者尤瓦尔.赫拉利曾经在演讲中说过,人类是从动物起步,慢慢的我们变成了地球的上帝,但
2017-07-17 13:26:58 1081 1
原创 Android之单位转换
写这篇的初衷是项目中总是遇到单位转换的问题,所以就想总结成一篇博客,这样我自己还有看到这篇博客的人就可以很方便的复制粘贴了。不多说了,我直接贴代码了,大家根据各自的需要选择吧 /** * 将px值转换为dp值,保证尺寸不便。 * @param context * @param pxValue * @return */ publ
2017-06-28 14:59:33 989
原创 Android应用签名
我们可以使用Android Studio对Android应用签名,点击主菜单Build->Generate Signed APK菜单项,会出现一个对话框,按照对话框的提示一步步的操作就可以了,今天这个不是我总结的重点,我今天总结的重点是使用命令对APK包签名。 第一步,创建Key store库。JDK安装目录下的bin子目录下提供了keytool.exe工具来生成数字证书。在命令行窗口输
2017-05-18 16:01:13 345
原创 基础Android之最后总结
1.Intent以Parcelable方式传递对象 我在项目中传递类对象,一般用的是Serializable方式,这种方式简单易掌握,但是用Parcelable也可以传递类对象,只不过Serializable是将对象序列化,而Parcelable的方式的实现原理是将一个完整的对象进行分解来实现传递对象的功能。 public class Person implements
2017-05-12 17:05:37 267
原创 基础Android之Material Design
现在Android推出了一套全新的界面设计语言——Material Design。我总结一下目前常用的,但不具体的去写,喜欢的可以去搜一下具体的知识,研究一下 1.ToolBar 现在官方意见不再建议使用ActionBar,而更加推荐使用Toolbar,它不仅继承了ActionBar的所有功能,而且灵活性更高。实现出来的界面其实跟ActionBar一样。 se
2017-05-11 18:34:33 754
原创 基础Android之百度定位
现在市面上有好多定位的SDK,比如百度,高德,但是我用的最多的就是百度地图,大家上百度开发者网站就可以看到百度有很多的sdk,如果大家想研究百度地图的相关SDK可以直接上百度开发者网站上去看,地址百度地图。今天我主要总结一下常用的百度地图API. 1.实时更新用户位置,在去请求位置前设置。 LocationClientOption option = new Loc
2017-05-10 17:47:08 404
原创 Android四大组件之Service
Service,服务,是Android的四大组件之一,可以在Android的后台运行,用户看不到界面。我先讲一下Service的生命周期 当我们调用startService()方法的时候,相应的服务就会启动起来,如果这个服务之前未启动过,则onCreate()->onStartCommand(),如果这个服务之前启动过,则只会执行onStartCommand(),不会再执行onCrea
2017-05-09 18:59:36 309
原创 基础Android之多线程
线程没有什么可说的,大家都知道用Thread新建一个线程,然后调用start()就好了,我今天主要总结的是多线程的异步处理机制。 Android中的异步消息处理机制主要由4部分构成,Message,Handler,MessageQueue和Looper.那些面试官也最喜欢问这些相关的问题,下面我介绍一下这4个概念。 1 Message Message是在线程
2017-05-09 18:35:03 293
原创 基础Android之访问网络
使用HttpURLConnection 在过去,Android上发送HTTP请求一般有两种方式:HttpURLConnection和HttpClient,在Android6.0系统中,HttpClient的功能被完全移除了,官方更建议使用HttpURLConnection URL = new URL("http://www.baidu.com")HttpURLCo
2017-05-08 17:16:46 316
原创 基础Android之调用相机和相册
因为Android6.0之后,Android系统的安全级别升级,我们的项目都需要去适配Android6.0和Anroid7.0,Android6.0加入了运行时权限申请,Android主要对SD卡的读写做了更加严格的要求,所以本来简单的调用相机和从相册选择一张图片的逻辑便的稍微复杂了那么一点。 言归正传,我们先来谈谈如何调用相机吧。 调用相机 //调用g
2017-05-05 17:42:28 2452
原创 基础Android之通知栏Notification
Notification很简单,考虑到Android兼容问题,我们需要使用support库中提供的兼容API,NotificationCompat类。下面直接写代码 NotificationManager manager = (NotificationManager)getContext().getSystemService(Context.NOTIFICATION_
2017-05-05 16:35:34 407
原创 四大组件之一ContentProvider
ContentProvider主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序去访问另一个程序中的数据,同时还能保证被访数据的安全性。下面我们来总结一下。 内容提供器的用法一般有两种,一种是使用现有的内容提供器来读取和操作相应程序中的数据,另一种是创建自己的内容提供器给我们的程序的数据提供外部访问接口。 我们先来总结第一种,我们知道Andr
2017-05-04 18:33:27 286
原创 Android6.0运行时权限
Android为保护用户安全和隐私,在Android6.0系统中引入了运行时权限这个功能,用户不需要在安装软件时一次性授权所有申请的权限,而是可以在软件使用过程中再对某一项权限申请进行授权。 Android在6.0系统中把所有权限分为3类,一类是普通权限,一类是危险权限,还有一类是特殊权限,特殊权限使用的很少,不再总结。普通权限指的是不会直接威胁到用户的安全和隐私的权限,对于这部分权限
2017-05-04 17:11:51 393
原创 Android之数据存储
做项目肯定要考虑数据的存储,目前Android提供了3种方式用于简单的实现数据存储功能,即文件存储,SharePreference存储以及数据库存储。 文件存储 文件存储是Android中最基本的一种数据存储方式,所有的数据都会原封不动的保存到文件当中,比较适合存储一些简单的文本数据或二进制数据,如果你想存储较为复杂的文本数据,就需要定义一套自己的格式规范,方便以后
2017-05-03 18:23:45 330
原创 版本控制工具——git
Git是一个开源式的分布式版本控制工具,它的开发者是Linux操作系统的作者Linus Torvalids。现在很多公司都用git作为版本控制工具,很多人都说用了git,就不想再用svn了,哈哈。今天我就总结一下git的基本用法。 安装git 如果你们公司很牛逼,使用的是Ubuntu系统,那么只需要打开shell界面,输入 sudo a
2017-05-02 17:57:56 446
原创 四大组件之一广播——Broadcast Receiver
1. Android中的广播分为两种类型标准广播和有序广播。 1.1 标准广播: 是一种完全异步执行的广播,广播发出后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此 他们之间没有任何先后顺序可言。而且这种广播效率较高,但是无法被截断。 1.1.1 我们使用静态注册的方式注册一个我们自己的标准广播
2017-05-02 17:19:31 463 1
原创 Fragment和Activity之间的通信
在Activity中调用Fragment中的方法: LeftFragment leftFragment = (LeftFragment)getSupportFragmentManager().findFragmentById(R.id.left_fragment) 我们调用FragmentManager的findFragmentById()方法,就可以在我
2017-04-28 15:08:19 365
原创 Android之兼容平板
我们都知道手机屏幕的大小一般在3英寸-5英寸之间,平板电脑的大小在7英寸-10英寸之间,所以在进行Android开发的时候我们需要写2个布局文件,一个是适用于手机的,一个是适用于平板的,有些公司会开发2个版本,这样很浪费人力和成本,如果出现一个Bug,2个版本都需要改。 下面我总结一下如何同时兼顾手机和平板。 使用最小宽度限定符,我们在res目录下新建layout-sw
2017-04-28 14:39:11 3631 3
原创 浅谈ListView和RecyclerView
Listview想必大家都知道,用法更是熟的不能再熟了,但是ListView有它的局限性,扩展性也不太好,比如它只能纵向滚动,无法实现横向滚动。为此android提供了一个更强大的滚动控件——RecyclerView,它是一个增强版的ListView,优化了ListView中存在的各种不足,目前Android官方更加推荐使用RecyclerView. 如何使用? 我们在用
2017-04-27 18:57:52 460
原创 Android 四大布局总结
1.LinearLayout 这个线性布局大家都不陌生,只是这里面会有一些误区。 如果LinearLayout的排列方向是horizontal,内部的控件就绝对不能将宽度指定为match_parent,因为这样,一个控件就会将水平方向占满,其他的控件就没法放了,vertical亦如此。 android:layout_gravity属性和android:gravi
2017-04-27 18:20:57 1923
原创 四大组件之一Activity
1.显式Intent和隐式Intent 1.1 显式Intent很简单,稍微懂点android的都知道,我只举一个例子,大家就明白了。 Intent intent = new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent) 1.2重点讲解隐式Intent
2017-04-26 17:43:40 266
原创 视频处理问题
Android上全景视频渲染的库:MD360Player4AndroidGitHub库网址:http://www.open-open.com/lib/view/open1453977830730.html这个库制作了视频的全景,也就是说,根据手机方向感应,可以看到视频不同方向的内容,但是有一个缺点:只能在Activity组件中去使用,播放视频,不能自定义view或者在f
2017-01-19 13:28:59 292
转载 Android OkHttp完全解析
转载自: http://blog.csdn.net/lmj623565791/article/details/47911083; 本文出自:【张鸿洋的博客】一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下ok
2016-04-11 14:34:44 363
原创 浅谈Android Support Library 23.2新增夜间模式主题
前几天刚刚发布的Android Support Library23.2,增加了夜间主题,实在是太令人兴奋了,有了这个主题再做夜间模式功能实在是太简单了。下面我就来介绍一下。 该夜间主题是Theme,AppCompat.DayNight,与它相关的还有DayNight.NoActionBar,DayNight.DarkActionBar,DayNight.Dialog.而且其主题向下兼容到了API14。这个 主题可以让应
2016-03-02 16:43:41 4098 1
原创 android studio 和eclipse 获取sha1或MD5方法
android studio: 1.打开Terminal窗口,如果找不到,请到tools->open Terminal 2.输入命令:keytool -v list -keystore 你编译的keystore文件地址Eclipse: 1.Window->Preferences->Android->Build 2.就可以看到SHA1 fingerprint和MD5 finger
2015-11-12 14:50:30 989
原创 ViewPager循环滑动图片集合,以及删除图片功能
最近在做一个项目,需要的功能,用viewPager展示图片,可左右循环滑动,且可删除。遇到了很多阻碍,现将自己的一些经验总结如下。1. 左右循环滑动:按照ViewPager的特性:可以从第一张滑到最后一张,但是无法循环滑动。怎么解决?思路:在图片集合中,多出两个位置。第一张放置最后一张图片,最后一个位置放置第一张图片。中间放你的图片集合。代码:void pageSelected
2015-11-10 15:05:09 2237 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人