- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 2021-01-17
使用WindowManager添加View——悬浮窗口的基本原理Android系统中的“窗口”类型虽然很多,但只有两大类是经常使用的:一是由系统进程管理的,称之为“系统窗口”;第二个就是由应用程序产生的,用于显示UI界面的“应用窗口”。如果大家熟悉WindowManagerService(窗口管理机制WMS)的话,那么一切都很简单。它是一个负责统筹管理所有窗口的一个服务,从始到终一直在运作。之所以扯上WMS,因为它才是大Boss,所有的窗口变化都要通知到它。而WindowManager虽然与它没有之间的
2021-01-17 12:02:44
200
原创 android studio将lib生成jar包和aar,以及他们的使用
一:新建一个项目Baselib二:新建一个module--选择创建类型为android Lib点击完成三:在lib 的module里面写上自己的lib代码。四:在lib-build.gradle-android下加入如下代码:注意from的路径,一般都用release路径五:在terminal下输入gradlew makeJar稍微等待一会,第一次编译事件有点长,因为需要下...
2018-11-27 22:07:45
851
原创 初始github
以前使用github都是直接android studio来操作,导致很多git的命令不熟,在一次面试中,有一个面试官问了我一个问题,说git的rebase和pull的区别,当时一脸蒙蔽,以前都没听说过有这样的命令,所以在得空的时候,来整理一下关于git的一些使用命令,刚开始写,首先来一个建立一点的实例:从本地通过git上传一份代码到github上传。操作如下:上面只说了git的本地上传...
2018-08-01 23:58:11
218
转载 android 秘钥密码找回
昨天准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了。蛋碎了一地,我把我所能想到的密码都试了一遍(注:我平常在各个门户网站注册基本上用的都是那几个字母和数字组合做密码),无果。折腾到凌晨一点半,死的心都有了。Google和百度搜个底朝天,也没找到解决办法,Stackoverflow上的大牛们说,只有两个办法:1.想出密码 ;2.重新修改包名,重新生成keyst...
2018-03-27 17:58:10
2174
原创 android 知识点归纳
从事android开发也三个年头了,一直都是ctrl+c 、ctrl+v。感觉这样不行,想要提高技术必须要多动手,多总结,归纳,多记。这样才能把技术提升起来。从今年起,开始选择在csdn上写归纳博客,保证每一天都能学到一个知识点,要相信,只要你每天都能学习一点点,一个月以后,一年以后,你的知识就会比别人多很多。 保证每一天有一篇博客,虽然前期可能是一些简单的知识,不会...
2018-02-25 16:59:17
200
原创 server的启动模式
service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service 被开启的service通过其他组件调用startService()被创建。 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopService()方法来停止它。 当service被停止时,系统会销毁它。A bound ser...
2018-02-25 16:58:21
897
转载 制作自己的android studio依赖项目
Android Studio如何制作依赖库上传至github,让别人依赖使用。在Android项目中经常需要依赖使用别人开发的第三方依赖库,使开发更加方便。比如我下面用到的几个依赖库:0.png那么这些依赖库是怎么制作的呢,在这篇文章中介绍其中一种比较常见的方法。首先,需要制作一个自己的依赖库,即新建一个空白项目,选址new module或者import module,这个相信大部分人都懂。接下来
2018-01-18 17:57:05
405
原创 ubuntu配置jdk环境
1:首先通过(java -version)来检查ubuntu虚拟机是否安装jdk环境,如果有安装,和window类似,那么恭喜你,你不用往下面看了,下面来说说下面的步骤2:ubuntu到jdk的官网下载好jdk包,然后解压,把解压的包放到一个你认为很方便的目录下,例如我的(liuyongyi/java)下3:然后通过gedit ~/.bashrc 来修改jdk的环境变量,在bash
2017-11-25 22:58:19
265
原创 欢迎使用优快云-markdown编辑器
服务器端代码服务端代码很简单: 1:创建一个线程,在线程里面 创建一个ServerSocket对象和创建一个阻塞式Socket; 代码如下: public void run() { try { //创建一个serverSocket对象 ServerSocket serverSocket = new ServerSocket(Main.port);
2017-11-14 18:02:50
197
原创 欢迎使用优快云-markdown编辑器
1:下载Android源码。 地址为:http://pan.baidu.com/s/1gfAEEgb 密码为:hebs,根据自己要的版本下载解压2:下载source insight3.5 下载地址:http://pan.baidu.com/s/1gfBuBwZ,安装,一直按确定。知道完成3:打开source insight ——project——-new project ——-输入文件名,点击确定
2017-07-25 21:52:41
186
原创 聊聊Android优秀的图片加载缓存的开源框架?UIL、Glide、Picasso
今天总结下有关Android的图片开源框架UIL、Glide、Picasso、当然不止这些还有okhttp、xutlis、afinal、andbase、volley等等,今天主要是对于Glide使用进行总结。android stduio导入Gliderepositories { mavenCentral() // jcenter() wo
2016-11-19 13:16:04
518
转载 蓝牙开发
关于WIFI就不多介绍啦,直接来个段子吧。问:“WiFi对人体有伤害么?”答:“不清楚,反正没有WiFi我就浑身不舒服。比较重要的一点就是WifiManager wm=(WifiManager)Android_Wifi.this.getSystemService(Context.WIFI_SERVICE);关闭打开搜索都可以通过调用wm的相关方法实现。可能要开发w
2016-11-11 15:48:17
1204
转载 android 解决输入法键盘遮盖布局问题
/** * @param root 最外层布局,需要调整的布局 * @param scrollToView 被键盘遮挡的scrollToView,滚动root,使scrollToView在root可视区域的底部 */ private void controlKeyboardLayout(final View root, final View scrol
2016-11-01 14:26:54
288
原创 doc打包命令
E:\uu>jarsigner -verbose -keystore UUShowKeyStore(key的位置) -digestalg SHA1 -sigalg MD5withRSA(在jdk1.6以后一定要加,要不然签名的文件不能执行) -signedjar app.apk(生成的报名) app-threezhushou-release_1.5.1_r201609261035.encryp
2016-09-26 17:35:00
506
原创 android 解决输入法键盘遮盖布局问题(不适合带listview的布局)
android 解决输入法键盘遮盖布局问题 /** * @param root 最外层布局,需要调整的布局 * @param scrollToView 被键盘遮挡的scrollToView,滚动root,使scrollToView在root可视区域的底部 */ private void controlKeyboardLa
2016-09-20 18:42:43
680
转载 Gson解析
Gson解析复杂的json数据 最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的json解析方法即JsonObject和JsonArray的配合使用,这对于解析小数据的json数据还是比较实用,但是当解析json数据比较复杂的时候这种方法就显得比较吃力也比较麻烦了,如果大家感
2016-07-18 15:25:55
333
原创 设置页面透明
xml文件:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc
2016-06-30 11:37:40
431
原创 Timer 异常
1 异常日志: java.lang.IllegalStateException: Timer was canceled 2 所做操作: 调用cancel()取消后不能再执行 schedule语句,否则提示出现以上异常。3 解决方案: 正确的中止Timer方法:
2016-06-25 13:35:10
308
原创 规范的填写版本号
1:当用eclipse开发时,之间在mainfest文件中设置版本号,VersionName版本号,VersionCode 表示app修改的次数。然后再代码中读取版本号2:当用Android studio开发时,系统会自动的在gradle文件中设置版本号,可以直接在gradle文件中修改,如果用不习惯的话,可以把gradle文件中的版本号删除,然后在mainfest文件中进行控制,详细看1.。
2016-06-20 15:46:25
1098
原创 xutils3的详细使用方法
1:进入github官网,搜索“xutils3”2:先在gradle添加导包,添加权限,初始化xutils33:加载布局:@ContentView(R.layout.activity_main)在类前定义4:find:@ViewInject(R.id.text)private TextView tv;不需要再去findViewByid了5:点击事件:@Event(valu
2016-06-17 15:00:21
572
socket实现简单聊天室功能 服务端和客户端代码
2017-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人