![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android笔记
文章平均质量分 94
日常遇到Android问题总结
猿小二
程序员之所以犯错误,不是因为不懂,而是自认为什么都懂。
展开
-
Android笔记之SeekBar的使用及问题
常用方式在xml中直接添加,个人比较倾向于使用支持包中的AppCompatSeekBar控件: <android.support.v7.widget.AppCompatSeekBar android:id="@+id/seekBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="0dp" android:layout_height=原创 2020-05-21 10:28:07 · 1090 阅读 · 0 评论 -
Android笔记之获取文件MimeType
在Android中获取文件TimeType主要通过MimeTypeMap的getFileExtensionFromUrl、getMimeTypeFromExtension方法 private String getMimeType(String filePath) { String ext = MimeTypeMap.getFileExtensionFromUrl(filePat原创 2017-02-28 12:26:53 · 5071 阅读 · 1 评论 -
Android笔记之FastJson、GSon性能测试
测试环境:jar包gson2.7、fastjson1.2.15,系统win10_64 HashMap<String, String> hashMap = new HashMap<>(); for (int i = 0; i < 1000; i++) { hashMap.put("key" + i, "value" + i); }原创 2016-08-05 11:08:53 · 409 阅读 · 0 评论 -
Android笔记之圆角布局
有时候我们在android布局的时候需要这样一种布局,这个布局左上、右下是圆角的,左下、右上是直角,而且不管你内部如何放置view,它都能维持这样的整体效果。 如图: 图片中上面部分是ImageView,下面部分是TextView,可以看出左上、右下被自然的圆角化了,这其中并未对ImageView、TextView做任何处理,下面我们就来看看如何实现这一布局。我们需要选择需要的四大布局原创 2016-09-21 17:52:13 · 559 阅读 · 0 评论 -
Android笔记之利用TouchDelegate扩大View点击区域
有时候美工提供给我们的图标是很小的,但却要在如此小的图标上附加点击事件,如果不做处理,用户在使用的时候是很难点中的。当然,我们可以通过布局做调整处理,但是往往是布局变得更复杂。现在我们通过TouchDelegate来扩大View点击区域方式解决这个问题。 还不知道TouchDelegate的,可以先查下资料,大致说下它的作用:假设有两个View,分别是v1、v2,可以通过v1.setTouchDe原创 2016-09-06 10:58:47 · 1932 阅读 · 1 评论 -
Android笔记之获取IP、掩码、网关的有效方式
直接获取本机正在使用网络ip public static String getLocalIpAddress() { try { Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); while (en.hasMoreElements(原创 2016-09-01 17:28:25 · 2662 阅读 · 2 评论 -
Android笔记之ImageView设置图片以灰色显示
有时候我们需要将ImageView加载的图片去彩色,以黑白灰度显示,如qq的不在线头像。 第一种,我们可以通过将彩色bitmap图转换成黑白灰度bitmap图: /** * 图片去色,返回灰度图片 * @param bmpOriginal 传入的图片 * @return 去色后的图片 */ public static Bitmap toGray原创 2016-09-10 16:20:21 · 11134 阅读 · 7 评论 -
Android笔记之zxing官方demo支持竖屏
1.在DecodeHandler.java文件, 修改decode方法中 PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height); 为// 竖屏对应修改,条码解析默认是横向解析,所以交换像素点x,y方向发生交换// Planar原创 2016-04-14 11:58:38 · 2490 阅读 · 1 评论 -
android笔记之zxing生成二维码、条码
在这之前,zxing项目还不知道如何下载、如何运行官方demo的同学请跳到 http://blog.csdn.net/quwei3930921/article/details/51206245 现在我们就来说说如何利用zxing核心库生成二维码、条码。 1.首先我们在官方demo的QRCodeEncoder.java中发现了以下方法: Bitmap encodeAsBitmap() thro原创 2016-04-21 11:57:30 · 702 阅读 · 0 评论 -
Android笔记之签名相关
1.生成签名文件 利用java的keytool可以完成。安装jdk之后配置好环境变量,在控制台下输入keytool出现以下信息: 生成签名文件:keytool -genkey -v -keystore highball-key.keystore -alias highball-key -keyalg RSA -keysize 2048 -validity 10000-keystore 将生成原创 2017-02-28 17:01:14 · 361 阅读 · 0 评论 -
android笔记之安全开发之使用HTTPS
1、HTTPS简介阿里聚安全的应用漏洞扫描器中有证书弱校验、主机名弱校验、webview未校验证书的检测项,这些检测项是针对APP采用HTTPS通信时容易出现风险的地方而设。接下来介绍一下安全使用HTTPS的相关内容。1.1 为何需要HTTPSHTTP协议是没有加密的明文传输协议,如果APP采用HTTP传输数据,则会泄露传输内容,可能被中间人劫持,修改传输的内容。如下图所示就是典型的APP HTTP转载 2017-03-31 10:56:27 · 1742 阅读 · 0 评论 -
Android笔记之解决OkHttp解析dns超时时间无法设置的问题
## 问题使用OkHttp,设备切换路由后,访问网络出现长时间无响应,很久以后才抛出UnknownHostException. 这明显不是我们想要的,我们设置的connectTimeout属性似乎对dns的解析不起作用...原创 2018-12-29 12:07:16 · 6779 阅读 · 3 评论 -
Android笔记之分别使用Android、Java方式获取应用签名
一、通过Android方式获取应用签名使用Android的方式获取签名主要通PackageInfo类直接获取: /** * 获取指定应用的签名 * * @param packageName 包名 * @return 应用对应签名 */ private String getSign(String packageName) { ...原创 2018-03-26 14:44:10 · 1087 阅读 · 0 评论 -
Android笔记之使用CMake进行JNI开发(Android Studio)
不知道有多少朋友像我一样,被Android NDK开发的环境配置折腾到吐,然后放弃。从事Android工作几年了,也不太愿意接触NDK开发。不过福利终于来了,新的AS中开始使用CMake开发jni,开发c跟开发java一样简单,你只需单纯的执着于业务目标,跟折腾环境说拜拜。那我们现在就开始吧!环境需求要进行jni开发,AS需要以下环境: 方式一、在工程创建的时候添加首先使用AS(3.0)新建一个J原创 2017-12-16 18:26:45 · 25409 阅读 · 2 评论 -
Android笔记之快速简单的适配
大家都知道,做android开发适配屏幕是回避不了的问题,大量的xml布局、values文件、不同分辨率的图片让我们头疼,我们也一直在思考有没有一种方法直接改变缩放比例可以一次完成适配。那么,我们开始试试吧。 @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public static void initDpi(Context context原创 2017-10-11 15:54:44 · 642 阅读 · 0 评论 -
Android笔记之获取apk文件信息、图标
有的时候我们需要直接过去指定路径的apk信息,比如包名、应用名、图标等。/** * 获取apk包的信息:版本号,名称,图标等 * @param absPath apk包的绝对路径 * @param context */ public void apkInfo(String absPath,Context context) { PackageManager pm原创 2017-04-20 15:31:11 · 4176 阅读 · 1 评论 -
Android笔记之利用系统权限下命令安装apk
我们在定制Android系统的时候,应用商店是很重要的部分,市面上大部分的应用商店都采用了静默安装的方式来安装升级应用,这是怎么做到的呢?两点: 1.具有系统权限 2.使用pm install来安装 /** * 静默安装的实现类,调用install()方法执行具体的静默安装逻辑。 */ public class SilentInstall {原创 2017-04-20 09:24:16 · 563 阅读 · 0 评论 -
Android笔记之获取文件存储
有时候我们需要获取应用的缓存目录,然后在该目录下存储下载文件 @TargetApi(Build.VERSION_CODES.GINGERBREAD) public String getDiskCacheDir(Context context) { String cachePath = null; if (Environment.MEDIA_MOUNTED原创 2017-04-06 14:03:19 · 484 阅读 · 0 评论 -
Android笔记之获取apk文件包名、版本信息
有时候我们需要直接获取sd卡上的apk文件的包名、版本等信息 PackageManager pm = this.getPackageManager(); PackageInfo info = pm.getPackageArchiveInfo(task.filePath, PackageMan原创 2017-04-06 13:50:35 · 2740 阅读 · 0 评论 -
Android笔记之用eclipse给zxing打jar包
zxing是android常用扫描二维码、条码工具,如果使用eclipse导入官方demo,并打包底层库呢? 1.获取源码 https://github.com/zxing/zxing 直接download zip,解压后目录结构如图 2.使用eclipse导入 File–import–Existing Android Code Into WorkSpace–选择上图中的andorid原创 2016-04-21 09:58:10 · 2122 阅读 · 0 评论 -
Android笔记之沉浸式状态栏
今天对项目顶部的状态栏大黑条实在是忍无可忍,决定使用android4.4以上才支持的沉浸式状态栏。注意,4.4以上,也就是api19以上才支持哦! 效果图 实现: /** * 设置透明状态栏 */ private void setTransparent() { getWindow().requestFeature(Window.FEATURE原创 2016-05-26 10:53:56 · 327 阅读 · 0 评论 -
Android笔记之TextView中使用Drawable
1.在xml文件中的使用 <!--android:drawableLeft设置在文字在左边添加一个图片, 还有drawableRight/drawableTop/drawableBottom可以选择, android:drawablePadding设置图片与文字间的间距,只控制 与文字的间距,不影响图片周围空间 -->原创 2015-05-21 12:05:21 · 562 阅读 · 0 评论 -
Android笔记之View未显示前获得控件宽高
要想在View未在界面上显示之前就获得它的宽高,我们需要这样做 view.measure(0, 0); Log.i("tag", "width:" + view.getMeasuredWidth() + ",height:" + view.getMeasuredHeight());measure的参数视情况传人,这跟你的布局是采用何种方式有关系,及跟LayoutPara原创 2015-04-24 14:22:35 · 1869 阅读 · 0 评论 -
Android笔记之关于 overridePendingTransition()使用
实现两个 Activity 切换时的动画,在Activity中使用。两个参数:进入动画和出去的动画。 注意: 1、必须在 StartActivity() 或 finish() 之后立即调用 2、而且在 2.1 以上版本有效 3、手机设置-显示-动画,要开启状态效果一://实现淡入浅出的效果startActivity(new Intent(MainActivity.this,SecondA转载 2015-06-19 09:50:22 · 380 阅读 · 0 评论 -
Android笔记之判断ListView滑动到顶部或底部
ListView lv = new ListView(getContext()); lv.setOnScrollListener(new OnScrollListener() { public void onScrollStateChanged(AbsListView view, int scrollState) { switc原创 2015-05-21 09:47:31 · 345 阅读 · 0 评论 -
Android笔记之TextView内部文字样式自定义
很多时候我们需要在TextView中对单个或部分文字单独做处理,这个时候我们就需要用到SpannableString类来帮助我们,效果如图: 详细实现请看代码,已注释:package com.example.qw.spandemo;import android.content.res.ColorStateList;import android.content.res.XmlResourceP转载 2015-05-20 15:20:01 · 622 阅读 · 0 评论 -
Android笔记之屏幕分辨率
DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);int widthPixels = dm.widthPixels; // 屏幕宽int heightPixels = dm.heightPixels; // 屏幕高float density = dm.d原创 2015-04-16 09:23:21 · 609 阅读 · 0 评论 -
android笔记之自定义圆形ProgressBar
1.自定义圆形的ProgressBar效果图: 圆形ProgressBar的样式主要有以下几个,我们这里以progressBarStyleLarge为例进行样式的修改,其他的类似。 <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_co转载 2015-04-29 14:39:18 · 583 阅读 · 0 评论 -
Android笔记之SDK版本判断
在android代码中进行当前sdk版本判断 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { // 如果当前版本小于HONEYCOMB版本,即3.0版本 }版本对应关系如下(具体请参考官方文档): int BASE October 2008: The origina原创 2015-04-16 12:14:32 · 925 阅读 · 0 评论 -
Android中Acitity的四种启动模式
在Android中每一个界面都是原创 2014-08-16 08:49:30 · 641 阅读 · 0 评论 -
Android笔记之Android Studio获取数字签名
1.创建android可发布版本key build–>generate signed apk–>create new … 没什么好说的,按照提示一步步完成 最后在创建过程中设置的文件夹生成.jks文件2.使用的java的keytool命令获取数字证书内容,配置java环境变量后直接使用,未配置则使用keytool命令的全路径 keytool -v -list -keystore F:\xxx原创 2015-08-03 15:11:30 · 921 阅读 · 0 评论 -
Android笔记之Activity生命周期实测
一. Activity启动过程09-10 18:40:48.789 2602-2602/? I/PMC﹕ --InstallReceiver:actvity=com.example.qw.testapplication, com.example.qw.testapplication.lifecycle.CycleActivity, appName=TestApplication09-10 1原创 2015-09-11 11:55:03 · 1739 阅读 · 0 评论 -
Android笔记之获取视频、图片缩略图
/** * 获取视频的缩略图 * 先通过ThumbnailUtils来创建一个视频的缩略图,然后再利用ThumbnailUtils来生成指定大小的缩略图。 * 如果想要的缩略图的宽和高都小于MICRO_KIND,则类型要使用MICRO_KIND作为kind的值,这样会节省内存。 * * @param videoPath 视频的路径 * @p原创 2015-06-24 10:47:10 · 431 阅读 · 0 评论 -
android笔记之ListView的setEmptyView方法
在ListView数据为空或者Adapter为空的时候,通常需要显示一个提示视图。一种办法是在ListView同样的位置放置一个同样大小的提示视图,通过代码控制该视图和ListView的隐藏、显示来解决。但是这样的代码控制往往让我们的代码看起来很乱,其实ListView内部已经帮助我们实现了这样的逻辑,我们只需要调用setEmptyView方法为ListView指定提示视图就行了。 首先需要在xm原创 2016-03-30 12:17:23 · 7421 阅读 · 0 评论 -
Android笔记之内存泄漏总结
1.资源对象没有关闭的情况,如文件、数据库Cursor等,在不再使用他们的时候要close掉;2.原创 2014-08-15 17:11:21 · 330 阅读 · 0 评论 -
Android笔记之ListView的ViewHolder超简洁写法
重写ListView的时候我们经常都会使用ViewHolder,但当前的写法看起来很复杂,在eoe上看到一种简单的写法,觉得很不错,现在分享给大家。我们先看看原来的写法 if (convertView == null) { convertView = mInflater.inflate(R.layout.xxx null);原创 2015-03-05 11:27:52 · 524 阅读 · 0 评论 -
Android笔记之天气预报接口
国家气象局提供的天气预报接口 接口地址: http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.html http://m.weather.com.cn/data/101010100.html对于第三个接口,返回信息比较全面,也是以json格式提供,转载 2015-06-30 15:59:05 · 827 阅读 · 0 评论 -
Android笔记之四种方式实现计时器
第一种new Thread(){@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();if (data > 0) {data--;try {sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch原创 2015-07-24 16:29:57 · 790 阅读 · 0 评论 -
android笔记之adb在无开发环境电脑上运行
很多时候我们需要在没有android开发环境的电脑使用adb命令,只需要将adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll从sdk的..\android_sdk\platform-tools目录下单独拿出来即可:没有sdk直接下载吧:工具下载原创 2016-01-21 09:37:57 · 910 阅读 · 0 评论 -
Android笔记之启动包的最适合Activity
PackageManager packageManager = getPackageManager(); Intent intent = new Intent(); // getLaunchIntentForPackage方法返回一个包的当前最适合调到前台的界面, // 即如果该包还未启动并创建任务栈,则返回的intent启动包内action为原创 2015-09-21 09:25:30 · 380 阅读 · 0 评论