♠ Android
文章平均质量分 51
疯了!贵宝
将来的你,一定会感激现在拼命的自己
展开
-
Android接入高德地图SDK时报错JNI DETECTED ERROR IN APPLICATION: fid == null
Android接入amap高德地图SDK时报错:JNI DETECTED ERROR IN APPLICATION: fid == null in call to GetBooleanFieldfrom java.lang.Object com.autonavi.base.amap.mapcore.AMapNativeGlOverlayLayer.nativeGetNativeOverlayProperties(java.lang.String, java.lang.String, j...原创 2021-04-07 18:26:58 · 5443 阅读 · 5 评论 -
Android用代码获取APK的签明文件SHA1值
Android中获取当前APK使用的签明文件SHA1值,可向程序中添加如下代码: public static String sHA1(Context context){ try { PackageInfo info = context.getPackageManager().getPackageInfo( context.getPackageName(), PackageManager.GET_SIGNATURES)原创 2021-04-02 15:20:32 · 1789 阅读 · 5 评论 -
更易用的圆角控件——CardView
什么是cardView?CardView顾名思义就是卡片View,也是Android5.0推出来的 Support v7包里的widgetCardView是继承自FrameLayout。CardView可以包含圆角和阴影 - cardView常见属性?card:cardElevation 阴影的大小card:cardMaxElevation 阴影最大高度card:cardBac原创 2016-08-15 18:03:07 · 4435 阅读 · 1 评论 -
Android进阶——pcm格式转wav格式
背景程序中的录音文件之前直接保存的是 .pcm格式,一直也相安无事,用的挺好。最近有一个webview中需要加载录音文件,出现了不兼容的问题,所以需要把 .pcm格式文件转换为 .wav格式。PCMPCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号原创 2016-08-29 20:32:46 · 10771 阅读 · 11 评论 -
int和Integer的区别
Java面试题——int 和Integer的区别答:int是基本数据类型之一,Integer是int的包装类。面试官:......然后呢?答:......怎么能忘了,在梳理一下。理解int和Integer的区别,首先需要了解两个概念:1.Java的常量池2.Java的自动拆箱和装箱好了,翠花,上酸菜。原创 2016-07-31 23:26:00 · 2628 阅读 · 1 评论 -
javap反编译java字节码文件
概述: javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码,从而对代码内部的执行逻辑进行分析。语法: 把java文件编译为class文件:javac Test.java (Test.java为java文件名) 生成对应的 .class 文件 Test.class 执行javap操作:ja原创 2016-08-16 14:58:17 · 8731 阅读 · 3 评论 -
Java自动装箱和拆箱
概念 Java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱)。 通俗的来讲,就是基本类型和对应包装类型可以自动转换。 byte Byteshort Shortint Integerlong Longfloat Floatdouble Doubleboolean Booleanc原创 2016-08-04 15:45:50 · 773 阅读 · 1 评论 -
Android属性allowBackup安全风险浅析
本文转载自阿里安全开放平台:http://jaq.alibaba.com/community/art/show?spm=a313e.7975615.40002100.2.4S2OuB&articleid=571. allowBackup安全风险描述 Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程转载 2016-08-15 18:08:41 · 694 阅读 · 1 评论 -
Java常量池
概述 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值。可以看做是JVM中一块特殊的内存空间。 比如下面小段源码中粗体代码显示的部分: pub原创 2016-08-04 15:53:55 · 843 阅读 · 5 评论 -
Android中的动画
Animation 概述安装中的动画分为三种:补间动画(Tween Animation),帧动画(Frame Animation)和属性动画(Property Animation)。其中属性动画是Android3.0(API Level 11)之后才出现的。Tween Animation 补间动画补件动画有四个主要的实现,分别是 Translate Animation,Scale An原创 2015-08-09 17:25:58 · 1108 阅读 · 2 评论 -
Android进阶——Volley+Https给你的安卓应用加上SSL证书
背景 作为开发人员,我们需要对网络访问的安全性加以保证,这样才能在基本上保证我们的数据不受到修改和攻击。笔者的项目之前用的是Volley框架访问的网络,基于http协议。现在我们需要使用更为安全的https。https简单的理解就是http+ssl,对于SSL证书,自己签发也行,花钱购买也可以,孰优孰劣,大家自行百度了解。 因为是基于Volley框架访问的网络,所以网上搜原创 2015-10-30 11:53:51 · 13690 阅读 · 35 评论 -
WebView的使用
Android提供了WebView组件,表面上与普通的ImageView差不多,但实际上这个组件的功能要强大的多,WebView组件本身就是一个浏览器实现,它的内核基于开源WebKit引擎。随着敏捷开发的盛行,app开发中对WebView的使用也越来越频繁,对webview进行一些美化、包装,快速上线功能或需求来抢占市场,然后app再跟进实现。因此熟练使用WebView组件势在必行。原创 2016-06-18 15:14:27 · 584 阅读 · 1 评论 -
安卓自定义View基础-坐标系
版权声明:转载自:http://blog.csdn.net/u013831257一.屏幕坐标系和数学坐标系的区别由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下:(PS:其中的∠a 是对应的,注意y轴方向!)实际屏幕上的默认坐标系如下:PS: 假转载 2016-06-13 16:26:34 · 649 阅读 · 1 评论 -
Android工具类——TimeUtils时间戳与时间字符串相互转换
import java.text.SimpleDateFormat;import java.util.Date;/** * Created by Bao on 2016/3/27. */public class TimeUtils { /** * 时间戳转为时间(年月日,时分秒) * @param cc_time * @return */原创 2016-03-27 22:26:12 · 8207 阅读 · 5 评论 -
Android笔记——adb指令
运行adb: 找到sdk文件夹,打开 platform-tools 即可以看到adb.exe 命令行进入即可 eg: D:\SDK\platform-tools adb指令:- adb devices : 列出当前连接的所有设备 - adb start原创 2016-12-05 20:58:08 · 693 阅读 · 1 评论 -
Android进阶——安卓调用ESC/POS打印机打印
前言前一段时间由于工作需要,要研究一下安卓程序调用打印机打印小票,并且要求不能使用蓝牙调用,研究了一下,可以利用socket连接,来实现打印功能。写了个Demo,分享一下。工具:一台打印机(芯烨XP-80XX),一台安卓测试机开发环境:Android Studio 1.5需求:点击按钮,实现打印小票功能,小票上除必要文字外,还要有二维码。封装了一个Pos打印工具类:package com.exam...原创 2016-02-25 18:59:23 · 18109 阅读 · 71 评论 -
Android获取OAID
目录写在最前面写在前面说明文档SDK使用过程:代码实现写在最前面 看评论有好些朋友遇到了一些我没遇到的问题,而且看官方文档也已经更新,想着这些问题官方是不是已经优化解决了,就按着最新的文档把项目重新捋了一遍。基于《移动智能终端补充设备标识体系统一调用SDK开发者说明文档v1.10》和miit_mdid_1.0.10.aar更新了一下项目。 ...原创 2019-09-29 16:06:58 · 79368 阅读 · 51 评论 -
AndroidStudio3.0 Android Profiler分析器(cpu memory network 分析器)
本文转自:https://blog.csdn.net/niubitianping/article/details/72617864 看着翻译的很不错,转载收藏一下了,感谢原作者。Android Profiler分为三大模块: cpu、内存 、网络。基本的使用在上一篇文章有讲到。这里详细说一下。一、 CPU分析器CPU ProfilerCPU分析器可帮助您实时检查应用程序的CPU使用情...转载 2019-07-21 23:21:06 · 3137 阅读 · 0 评论 -
popupWindow相关问题及解决方案记录
如题,popupWindow相关问题和解决方案记录,遇到了新问题持续更新,方便以后查阅。 - popupWindow被虚拟键NavigationBar遮挡问题mPopupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);原创 2017-12-10 10:57:38 · 412 阅读 · 0 评论 -
getSimpleName,getCanonicalName和getName获取类名的区别
Java中获取类名的三种方式区别代码示例package com.hgb.exhibition.ui.index.activity;import com.hgb.exhibition.R;import com.hgb.exhibition.ui.base.activity.BaseActivity;import com.hgb.framework.annotation.inject.cycle.I原创 2017-11-16 23:56:51 · 4565 阅读 · 0 评论 -
Android进阶——Socket长连接通信实例
Socket通信在项目中时有用到,把长连接的相关实例分享一下。如果要保持一个长连接,Socket代码最好写在一个服务内,避免误杀。public class SocketService extends Service { /** * 心跳标记 */ private boolean heartFlag = false; /** * 是否接受服务器消息原创 2016-03-28 00:12:34 · 1776 阅读 · 1 评论 -
Android进阶——安卓接入微信,获取OpenID
需求:接入微信支付,需要获取 OpenID。安卓接入微信指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN移动应用微信登录开发指南:https://open.weixin.qq原创 2016-01-12 12:26:31 · 23907 阅读 · 8 评论 -
Android绘图基本用法Demo
Android绘图是开发中比较常用的功能,虽然我用的少(层次不够^O^ ),对绘图的基本用法,适当记录一下。Android绘图用到的两个重要的类是:Paint.class(画笔)Canvas.class (画布)View绘图分三个重要步骤:Measure 测量Layout 布局Draw 绘制知道了这些,就开始我们的demo吧。Demo介绍:血糖含量在不同日期的变化折线图。先上效果图:X原创 2017-02-24 14:32:14 · 2200 阅读 · 1 评论 -
Android5.0,6.0,7.0新特性整理
背景概述内容Android 50新特性1 Material Design2支持多种设备3全新通知中心设计4支持64位ART虚拟机5 Project Volta电池续航改进计划6全新的最近应用程序7改进安全性8不同数据独立保存9改进搜索10支持蓝牙41USB Audio多人分享等其它特性Android 60 新特性1动态权限管理11受影响的权限12请求权限13权原创 2017-01-19 20:18:07 · 16238 阅读 · 5 评论 -
HTTP常见状态码 200 301 302 404 500
HTTP状态码(HTTP Status Code)一些常见的状态码为:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明转载 2017-01-18 20:35:25 · 1987 阅读 · 0 评论 -
Android工具类——ManifestUtils判断app是处于前台还是后台
判断app是处于前台还是后台public class ManifestUtils { /** * 判定应用是否在前台运行(以是否在前台可见为标准). * * @param context * @return true 在前台; false 在后台或被杀死 */ public static boolean isForeground(C原创 2017-01-18 15:27:59 · 948 阅读 · 0 评论 -
Android四大组件之Activity
Activity概述四大组件之一,一般的情况下一个用户交互界面对应一个activity。activity是Context的子类,同时实现了window.callback和keyevent.callback,可以处理与窗体用户交互的事件。开发常用的的有FragmentActivitiy,ListActivity,PreferenceActivity,TabAcitivty等……如果界面有共同的原创 2015-08-17 20:01:44 · 1260 阅读 · 6 评论 -
Android Studio 快捷键 for Mac OS X
对比Eclipse,感觉AS用起来更顺手一些(虽然用之前有点排斥),只是有些吃硬件啊。后来入手mac后,终于能愉快的玩耍了。快捷键跟Eclipse的区别比较大,至少 ⌘ 键,与win还是有区别的。推荐使用Android Studio专门为mac os x准备的快捷键。使用习惯后,与mac os 系统本身的快捷键才没有违和感。可是本人有些脑不够,有些非高频的快捷键经常遗忘,so,记下来多多尝试吧转载 2016-05-14 12:20:30 · 1033 阅读 · 0 评论 -
Intent和Bundle传递数据
Intent的用法很多,之前写过一篇文章《Android中的Intent(意图)的使用 》,简单进行了一下总结。目前最常用于Activity之间的数据传递,但是,仅对传递数据来说,用Bundle对数据进行包裹以后,效果更好。Intent intent = new Intent(); //也可以直接这样写 Intent intent = new Intent(OrderMealAty.this, ConfirmOrderMealAty.class); inten原创 2016-04-30 23:44:12 · 1974 阅读 · 0 评论 -
Android基础——NinePatch点九图片
NinePatch是一种很有用的PNG图片文件夹格式,它可以在特定区域随文字大小进行缩放。 上图中背景图片的中间区域会随着文字的大小进行缩放背景图片就是一张NinePatch图片。原创 2014-11-30 22:08:10 · 1345 阅读 · 19 评论 -
SVN使用小结
SVN是Subversion的简称,是一个开放源代码的版本控制系统,在它的管理下,文件和目录可以超越时空的限制,权且当作一种神奇的“时间机器”吧。基本功能 版本控制 作为一个版本控制系统,SVN能够及时的更新版本,将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更原创 2014-09-29 17:53:03 · 2706 阅读 · 33 评论 -
Android进阶——双击,三击和多击的实现
双击:先来看简单的实现方式 private void initView() { // 找到按钮控件 btn = (Button) findViewById(R.id.button); // 设置点击事件监听 btn.setOnClickListener(this); } //初始化第一次点击的标记原创 2016-01-14 17:25:15 · 3708 阅读 · 7 评论 -
Android中的Intent(意图)的使用
概述:Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。原创 2015-08-28 12:30:41 · 1495 阅读 · 5 评论 -
SVN合作开发的注意事项
以前也写过一篇博客,名字叫《SVN学习小结》。可是经过真正使用于合作开发时才知道,学习和使用的差别是如此之大。一篇《SVN学习小结》远远涵盖不了使用中会出现的方方明面的问题。根据最近机房合作中对SVN的使用情况,总结一些注意事项,以期下次注意。1.合作开发团队成员安装的SVN的版本应该一致,同一个版本的服务器和客户端可以大大的减少不必要的冲突和麻烦。2.再次强调正确的使用流程原创 2014-12-29 19:05:06 · 3071 阅读 · 21 评论 -
Android入门——数字组成的字符串转化为货币格式
在涉及到金钱的时候,我们往往需要把由数字组成的字符串转换成货币的格式来进行展示。比如12345678.90,往往我们需要它是这个样子来呈现:¥12,345,678.90。如果你比较有精力,可以自己写一个工具类来进行这种形式的转化,但是在Java中已经给提供了相关的类,我们进行简单的封装以后直接调用就可以了。/*** 把字符串格式的数字转换成货币类型格式* @param string* @原创 2015-10-29 13:44:22 · 4218 阅读 · 4 评论 -
做个有职业道德的程序员
新接手一个项目,看了一天代码之后,给我一个感觉,看着恶心。各种乱,基本上没有一句注释,命名从来是button1,button2或者t1,t2,各种**1,**2。大哥,你加个有意义的前缀后缀能死人吗?真心快无力吐槽了。原创 2015-09-20 15:26:21 · 2666 阅读 · 5 评论 -
Android进阶网站分享(持续更新中……)
1.Android开源项目汇总(重磅推荐)https://github.com/Trinea/android-open-project2.Android开发工具和教程汇总(福利多多)http://www.androiddevtools.cn/3.代码家(大神就在身边,吾等学习之楷模)http://blog.daimajia.com/4.布局资源,一键生成http://a原创 2015-08-29 21:57:18 · 1371 阅读 · 8 评论 -
Android入门的优秀博文链接(持续更新中……)
1.Android Bundle类 Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”,可以实现两个Activity的通讯,链接如下: http://blog.csdn.net/randyjiawenjie/article/details/66514372.原创 2015-08-29 21:12:07 · 719 阅读 · 6 评论 -
Android入门——Handler机制
什么是Handler在Android的UI开发中,经常会使用Handler来控制主UI界面变化。有关Handler的作用,可以总结为:与其他线程协同工作,接收其他线程的消息并通过接收到的消息更新主UI线程的内容。 我们假设在一个UI界面上面,有一个按钮,当点击这个按钮的时候,会进行网络连接,并把网络上的一个字符串拿下来显示到界面上的一个 TextView上面,这时就出现了一个问题,如果这个网络连接原创 2015-08-08 02:43:51 · 895 阅读 · 2 评论 -
Android异常处理——UncaughtExceptionHandler捕获全局异常
Android系统的“程序异常退出”,给应用的用户体验造成不良影响。为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理。通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。 1、异常处理类,代码如下:public class CrashHandler implem转载 2015-08-16 20:15:45 · 3587 阅读 · 11 评论