android开发
文章平均质量分 59
肖旺银
你很痛苦地去思考,再从中走出来,那些问题,就不再困扰你,反而比一般人更豁达。
展开
-
Android Tint着色器
Tint能够实现图片变色,利用tint显示不同颜色的图片原本需要多张相同图片不同颜色的情况,能够减少apk的体积AndroidStudio使用<ImageView android:layout_width="200dp" android:layout_height="200dp" app:src="@drawable/new1" android:tint="@color/black" />这是把new1这张图原创 2022-04-15 19:07:39 · 2498 阅读 · 1 评论 -
Android使用svg矢量图
可缩放矢量图形,SVG不会像位图一样因为缩放而让图片质量下降。优点:节约空间与内存,常用于简单小图标SVG 使用 XML 格式定义图形,标准svg根节点为<svg>在Android中通过Vector实现对svg的支持,根节点为<vector>。获得一张svg需要先进行转换才能在android当中使用。首先我们需要弄一直svg图片。咱可以去iconfont网站里面去下载一个比如说我找了一张飞机的svg图片然后我们在AndroidStudio中新建一个vector As原创 2022-04-15 18:24:14 · 10751 阅读 · 0 评论 -
Android使用iconfont图标
1.从iconfont网站中选择自己的想要的图标(登录就不需要说了吧)例如搜索购物车图标,把想要的图标放入购物车添加置项目 , 没有就自己新建一个进入到项目把这个文件下载下来之后,解压将这个iconfont.ttf放入AndroidStudio项目中的main下面的assets文件夹里,没有就新建一个用法 val icon: Typeface = Typeface.createFromAsset(context.assets, "iconfont.ttf") textview.ty原创 2022-04-15 13:58:45 · 4118 阅读 · 0 评论 -
Android代码混淆后查看日志
Android中可以通过混淆减少apk的大小,提高apk反编译的难度。但是在混淆过后会遇到一个问题,就是日志,比如说错误日志的函数会变成abcd.怎么解决这个问题呢通过mapping文件mapping文件是混淆后的代码跟正常代码的一个映射文件通过这个文件可以把混淆后的代码转换成正常的代码展示mapping文件在minifyEnabled 为false的时候,是不会产生的。当我们设置了minifyEnabled 为true,也就是开启混淆之后,默认是会在app下的build/outpus/mapp原创 2022-04-13 14:14:05 · 2818 阅读 · 0 评论 -
AndroidStudio多渠道打包
Android分包打包Android多渠道打包原创 2022-03-16 10:34:01 · 3030 阅读 · 0 评论 -
安卓WebView相关设置
Android WebView 的settings设置相关 webView.settings.apply { //开启js javaScriptEnabled = true //弹出框的设置 //1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度 //2.NORMAL:正常显示不做任何渲染 //3.SINGLE_COLUMN:把所有内容放大.原创 2022-03-09 13:45:16 · 5956 阅读 · 0 评论 -
Android原生与h5js交互
为了方便原生开发和Html之间数据传递,在静态页面的情况下可以改变原生开发的页面;实现新建一个Activity,布局里面放一个WebView布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://原创 2022-03-08 19:10:00 · 3322 阅读 · 0 评论 -
Android Scheme跳转协议 (基础)
Android中的Scheme是一种页面跳转协议,和网站通过URL的形式访问一样,APP同样可以通过这种方式进行跳转,它可以很方便的满足我们在一些场景中的需求:假若遇到一个这个需求,h5想跳转到app的页面里面,有两种解决方案,一种就是原生app做一个JavascriptInterface的接口提供给js调用。另一种就可以通过Scheme协议跳转,不需要去调java的接口。具体用法:在清单文件当中设置scheme <activity android:name=".xx原创 2022-03-08 18:53:16 · 5825 阅读 · 0 评论 -
AndroidStudio 修改默认配置路径
AndroidStudio配置默认路径原创 2022-03-06 11:29:09 · 8776 阅读 · 0 评论 -
DrawerLayout实现侧滑菜单效果
众所周知,android里面我们很熟悉的一个功能,侧滑菜单效果在以前我们大部分都是用的slidingmenu这个开源框架,自从谷歌官方新出的一个DrawerLayout控件之后,越来越多的应用开始使用谷歌的官方的控件写这个效果了。话不多说,先来发图以表我滴诚意:开始写代码DrawerLayout 是v4包里面的,所以项目里面需要添加v4包,具体怎么添加就不多说了, NavigationView需原创 2017-10-25 13:21:51 · 554 阅读 · 0 评论 -
Android实现识别相册二维码
总所周知,二维码非常普及,android当中我们一般做二维码扫一扫功能大部分用的是zxing库,但是zxing的库demo中没有实现本地相册二维码功能,小编今天拿出来说一下哈哈。首先我们先导入zxing库,可在build的dependencies里添加 implementation ‘com.google.zxing:core:3.3.1’ // 通过激活系统图库,选择一原创 2017-12-01 16:44:25 · 11485 阅读 · 4 评论 -
Android NDK实现增量更新
增量跟新,这个词相信大家都听说过,有些人也会增量跟新理解为是热跟新,其实不是,增量跟新比热跟新还要重量级一点,需要用户安装,只是下载不是高版本app的资源包,而是下载高版本app跟现版本的app的差分包,一般大小在几百K到几M之间。增量跟新与全量跟新具有哪些优势?主要优势:减少用户的跟新下载流量,达到轻量级跟新效果,想一想如果王者荣耀没跟新一点点就下载一个这个大的包,得多浪费流量啊,用户体验也不好原创 2017-12-01 18:02:07 · 1084 阅读 · 0 评论 -
Android socket实现Tcp长连接
这个一个小功能,实现tcp链接,把手机当做服务器跟客户端的综合体,可以不需要外网服务器,只需要手机连接wifi即可首先贴出Activity的代码跟布局先上个图片 activity_main.xml&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="ht原创 2018-08-06 18:18:25 · 18131 阅读 · 9 评论 -
Android Ble 轻量级框架
今天给大家介绍一个小的框架,自己小小封装的一个jar包,用来做Android 4.0蓝牙通信的,不需要写繁杂的代码就能实现蓝牙通信,不包含Descriptor,目前只有service跟Characteristic通信使用方法超级简单: BleClient bleClient = new BleClient(); bleClient.init(this); ...原创 2018-11-20 15:07:02 · 777 阅读 · 0 评论 -
Android悬浮窗
今天给大家写一个这个Android悬浮窗的功能,这个功能一般在360,酷狗(桌面歌词),网易云音乐(桌面歌词)上面用到,一般开发是很少碰到这个功能的,但是这个悬浮窗功能可以帮助理解Android的绘制机制。这个功能大概是这样的,我们进一个Activity,在onCreate里面开启一个Service,在服务器里添加一个悬浮窗,然后退出Activity.Activity:package co...原创 2018-11-16 15:38:12 · 1160 阅读 · 0 评论 -
Android 9.0 http无法访问网络问题
最近用户报来一个投诉,说app登录不上去了,我用我8.0的手机测试了一下,明显可以登录,后面得知用户的系统是9.0系统原来9.0系统已经默认不支持http请求了,谷歌默认要求链接是加密链接了,要解决这个问题有几种方案,第一个是把http改成https,这个要让后台更改还有一个就是把targetSdkVersion 改成27或者以下。还有一个方案就是在res目录添加一个xml文件夹,新建一个...原创 2019-01-26 10:05:18 · 17907 阅读 · 11 评论 -
Android点击外部取消输入法,拦截界面事件
今天实现的功能是当我们的输入法弹出的时候,点击外部空间甚至是控件,不触发控件事件,只取消输入法 @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View v = ge...原创 2019-04-11 10:33:23 · 740 阅读 · 0 评论 -
Android蓝牙Socket通信
Android的蓝牙部分暂且分为2.0,4.0,虽然苹果已经出了5.0版本了,咱先不说这个。简单讲解一下,4.0是兼容2.0的功能的,今天讲的bluetoothSocket通信是在2.0上面就已经有了。Android手机蓝牙跟硬件蓝牙交互一般都是用的bluetoothGatt. Android手机跟手机蓝牙通信一般用的是bluetoothSocket.这里我暂且把要连接的设备叫客户端,扫描以及原创 2017-09-28 11:35:05 · 3893 阅读 · 2 评论 -
AppManager类,BaseActivity类
AppManager类跟BaseActivity相信大家都不陌生,直接上代码吧:AppManager:package com.app;import android.app.Activity;import android.app.ActivityManager;import android.content.Context;import java.util.Stack;/** * Created原创 2017-07-28 16:51:25 · 399 阅读 · 0 评论 -
csdn博客利用github打造自己的专属域名
此博客并不是代码类的文章,有很多博客其实不需要输入博客的域名也可以进入自己的博客,详细教程可以参照鸿洋的博客[这里写链接内容](http://blog.csdn.net/lmj623565791/article/details/51319147 "http://blog.csdn.net/lmj623565791/article/details/51319147")我这里也做一个简单的总结:第一进原创 2017-08-08 15:02:22 · 682 阅读 · 0 评论 -
Android使用adb命令修改密度
准备工作,配置adb环境,具体看http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html打开cmd窗口输入adb shell 如图: 确定设备成功连接后输入 wm density 密度 例如 wm density 160 如图 这样就成功了!原创 2017-01-14 15:50:23 · 4059 阅读 · 0 评论 -
Android恢复出厂设置
Android恢复出厂设置最近由于工作需要,小编需要实现一个恢复出厂设置的功能,在网上找了许多事例以及博客,发现很多功能都用不了,甚至连api都没有--原来是没有系统权限,只有系统级应用才有的,所有小编继续找,找到了一种我们平时开发的非系统级应用也能实现恢复出厂设置的代码,并且小编亲自试过可用。让我们开始吧.Android 2.2 SDK提供了一个可管理和操作设备的API叫DevicePolicy原创 2017-04-14 14:18:43 · 6990 阅读 · 3 评论 -
Android修改系统语言
android很多app的语言设置都是设置自己app的语言,并没有设置到系统的语言,今天小编小试牛刀,自己实现了一个可以设置androi系统语言的功能。如下:Locale locale = Locale.ENGLISH;//英文 Locale locale = Locale.CHINA;//中文 Class amnClass = null; try {原创 2017-05-16 13:40:27 · 4214 阅读 · 0 评论 -
Android静默安装(需root)
最近小编在做一个静默安装的功能,静默安装的解决方式有许多种,小编今天就讲解一下我所做的这种方式,前提:需要Root(比较适合android定制开发板)静默安装静默安装的意思就是不通过android系统的安装提示页面进行app的安装。如果我们的app在升级的时候,不想看到安卓系统自带的安装界面,我们可以使用静默安装。 那么:现在开始—至于安装过程中的断点下载,获取文件这里就不做一一讲解了,这个相信大原创 2017-05-26 17:08:10 · 694 阅读 · 0 评论 -
Android HttpURLConnection断点下载(单线程)
HttpCilent 跟 HttpURLConnection 是安卓原生的用来实现http请求的类: android 6.0之后取消了HttpClient,不支持跟新 ,今天小编使用的是HttpURLConnection :直接上代码: URL url = null; BufferedInputStream bin = null; HttpURLCo原创 2017-05-26 17:38:20 · 1163 阅读 · 0 评论 -
Android使用adb命令安装丶卸载应用
准备工作 配置adb坏境变量,具体看http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html在执行安装命令之前先确定是否已经连接设备: 如图 1.安装 adb install apk路径 如图 2.卸载 adb uninstall apk包名 如图原创 2017-01-14 15:39:07 · 660 阅读 · 0 评论 -
Android 自定义圆形进度条
今天小编来手写一个自定义圆形进度条:先看效果: 首先我们在attrs属性文件中增加几个自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="CustomProgressBar"> <!-- 圆形进度条进度显示的颜色 --> <attr name="rou原创 2017-05-26 20:54:40 · 570 阅读 · 0 评论 -
Android布局优化技巧--<include>/<merge>/<viewStub>
Android native给我们提供了3个布局优化的标签,今天来讲解一下这3个标签的不同的作用:include:include标签就是引用外部文件的的作用,可以很多个布局公用一个或者说共加载这个布局,就用include标签,这样可以尽量减少代码量;这个就不贴代码了,相信大家都很熟悉了。merge:这个标签只能作为root标签(跟标签)–不这样写会报错,<!-- 当你的跟标签使用的是merge,那个原创 2017-05-26 21:23:38 · 331 阅读 · 0 评论 -
Android获取系统储存以及内存信息(一)
众所周知,Android的手机上的信息大部分都是可以通过代码获取的,比如说爱奇艺的离线储存功能上有一个最大储存大小/剩余储存大小 的功能。获取SD卡上的储存信息: /** * 获得SD卡总大小 * * @return */ private String getSDTotalSize() { File path = Environm原创 2017-06-16 17:59:54 · 2479 阅读 · 0 评论 -
Android5.0 Button文字英文自动变成大写解决办法
小编写的项目Button里面的Text文本的英文在5.0系统上面自动变成大写了。解决办法:android:textAllCaps= false;原创 2017-06-07 16:48:49 · 388 阅读 · 0 评论 -
Android5.0去掉Button的默认点击音效
android5.0的新系统上放的Button点击的时候会有一个默认的点击声音,不喜欢的可以去掉。android:soundEffectsEnabled = false;//使用false来去掉android默认的音效原创 2017-06-07 16:52:57 · 2892 阅读 · 0 评论 -
Android开发:浅谈ToggleButton
ToggleButton(开关按钮)是Android系统中比较简单的一个组件,是一个具有选中和未选择状态双状态的按钮,并且需要为不同的状态设置不同的显示文本。跟checkBox有点像。ToggleButton常用的XML属性:android:disabledAlpha = 0~1; 设置按钮在禁用时透明度。 android:textOff = “”;按钮在未选中时的文字 android:t原创 2017-06-07 17:59:38 · 298 阅读 · 0 评论 -
Android获取系统储存以及内存信息(二)
Android获取储存信息以及内存信息可以用adb命令查看。adb查看系统内存信息以及储存信息:命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = "/proc/meminfo";/** * 获取手机内存总大小 * @return */ public sta原创 2017-06-29 18:15:12 · 1364 阅读 · 0 评论 -
Android之二维码(生成)
二维码,相信大家有不陌生,现在主流的app,例如微信支付宝等等,几乎都会有二维码的功能,所谓是非常之广泛。二维码分为2个部分,一个是生成,一个是识别,这里我们先来讲讲二维码是如何生成的。二维码的开发使用我们大多都是使用Google提供的zxing这个类库,使用这个类库我们需要先下载核心jar包,jar包下载地址,如果我们只想生成二维码那么这个就够了。下载之后添加: 看代码: // 二维码宽原创 2017-06-10 17:28:49 · 791 阅读 · 0 评论 -
Android java到Kotlin的基本语法
最新google官方对于新的语法进行了发布会,并说明此语言将成为android第一语言,成为首选,那就是Kotlin.小编初步看了一下Kotlin的基本语法,发现有点跟ES6.0语法相似。先来讲解一下从java到kotlin的基本语法的的区别: java kotlin原创 2017-06-12 17:49:30 · 640 阅读 · 0 评论 -
Android butterknife框架配置
butterKnife注解框架最近很火,小编就稍微讲解一下butterKnife的基本配置,几步就ok了。开始配置:1.首先在project目录下的build.gradle添加classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ 2. 3. 4. 5. 6.然后在module下的build.gradle中添加apply pl原创 2017-06-13 13:40:59 · 301 阅读 · 0 评论 -
修改android开机动画
最近由于公司需要修改android的开机动画,为了以后便于查看,今天小编拿出来跟大家分享一下。 动画就是一张一张的图片在以一秒放多少张(简称为帧)的速度播放,android动画也是如此。 以下是修改android开机动画的具体实现步骤: 1.我们先新建一个文件夹,例如: 2.我们已经新建了一个叫做port0的文件夹,然后我们往文件夹放入我们所需要播放的动画:3.我们已经往里面放入自己想要播放...原创 2016-08-24 15:53:09 · 1806 阅读 · 0 评论