Android
文章平均质量分 66
BlueZhang521
Coding is not all in my life!
展开
-
Visual Studio 快捷键 for macos
全局Command + Shift + P / F1 显示命令面板Command + P 快速打开Command + Shift + N 打开新窗口Command + W 关闭窗口基本Command + X 剪切(未选中文本的情况下,剪切光标所在行)Command + C 复制(未选中文本的情况下,复制光标所在行)Option + Up 向上移动行Option + D...原创 2019-07-03 10:12:06 · 2018 阅读 · 0 评论 -
NDK/Jni Develop Guild(5)c/c++ access Java Method and static method
NDK/Jni Develop Guild(5)c/c++ access Java Method and static method通过前面的学习,我们知道了如何通过JNI函数来访问JVM中的基本数据类型、字符串和数组这些数据类型。下一步我们来学习本地代码如何与JVM中任意对象的属性和方法进行交互。比如本地代码调用Java层某个对象的方法或属性,也就是通常我们所说的来自C/C++层本地函数的cal原创 2016-07-06 17:33:38 · 1948 阅读 · 0 评论 -
NDK/JNI Develop Guide (4) How to use Array
NDK/JNI Develop Guide (4) How to use ArrayJNI中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的,基本类型数组中的所有元素都是JNI 的基本数据类型,可以直接访问。而对象数组中的所有元素是一个类的实例或其它数组的引用,和字符串操作 一样,不能直接访问Java传递给JNI层的数组,必须选择合适的JNI函数来访问和设置Java层的数组对象。阅原创 2016-07-05 17:34:41 · 1834 阅读 · 1 评论 -
NI/NDK Develop Guide (3) Handle String
NI/NDK Develop Guide (3) Handle String从(2)中可以看出JNI中的基本类型和Java中的基本类型都是一一对应的,接下来先看一下JNI的基本类型定义:typedef unsigned char jboolean; typedef unsigned short jchar; typedef short jshort; typed原创 2016-07-04 12:54:59 · 1032 阅读 · 0 评论 -
JNI/NDK develop guide(2) How JVM find native method
JNI/NDK develop guide(2) How JVm find native method调用native方法之前,首先要调用System.loadLibrary接口加载一个实现了native方法的动态库才能正常访问,否则就会抛出Java.lang.UnsatisfiedLinkError异常,找不到XX方法的提示。现在我们想想,在Java中调用某个native方法时,JVM是通过什么方原创 2016-07-02 23:42:14 · 591 阅读 · 0 评论 -
JNI/NDK develop guide(1)
JNI/NDK develop guide(1)JNI全称是Java Native Interface(Java本地接口)单词首字母的缩写,本地接口就是指用C和C++开发的接口。由于JNI是JVM规范中的一部份,因此可以将我们写的JNI程序在任何实现了JNI规范的Java虚拟机中运行。同时,这个特性使我们可以复用以前用C/C++写的大量代码。开发JNI程序会受到系统环境的限制,因为用C/C++语言写原创 2016-06-30 20:15:58 · 593 阅读 · 0 评论 -
Android NDK 简介
Android NDK 简介NDK 产生的背景Android 平台从诞生起,就已经支持 C、C++ 开发。众所周知,Android 的 SDK 基于 Java 实现,这意味着基于Android SDK 进行开发的第三方应用都必须使用 Java 语言。但这并不等同于“第三方应用只能使用 Java”。在Android SDK 首次发布时,Google 就宣称其虚拟机 Dalvik 支持 JNI 编程方式原创 2016-06-29 21:53:23 · 1986 阅读 · 0 评论 -
Base64 编码解码
Base64 编码解码企业级加密算法的应用 1)加密:利用特定的密钥,对数据进行特定算法的处理,形成处理之后的内容,这个内容只有使用与特定密钥相关的内筒才可以还原原始数据,将这个流程称作加密流程。2)解码:加密逆向的操作3)编码:利用特定的算法,对原始的内容进行处理,生成运算之后的内容,形成另一种数据的表现形式,可以根据算法再还原回来,这种操作称做编码;编码不是加密 可以运算回来的1)Hex:b原创 2015-10-16 13:30:23 · 878 阅读 · 0 评论 -
对图片进行压缩
对图片进行二次采样的时候计算压缩之后的尺寸/** * 官方计算代码 * 根据用户所给出的宽度和高度计算出来压缩比例 * @param options * @param reqWidth * @param reqHeight * @return */ public static int calculateInSampleSiz原创 2015-12-25 13:32:35 · 1026 阅读 · 0 评论 -
SharedPreferenceUtil
package com.sanyuan.ehuizhan.utils;/** * Created by blueZhang * at 2015/12/8 0008. * Email bluezhang521@163.com */import android.content.Context;import android.content.SharedPreferences;/** * 用来进原创 2015-12-25 11:23:24 · 926 阅读 · 0 评论 -
离职了,网络请求工具类发出来,大家需要的拿走,Xutils的
import com.lidroid.xutils.HttpUtils;import com.lidroid.xutils.exception.HttpException;import com.lidroid.xutils.http.HttpHandler;import com.lidroid.xutils.http.RequestParams;import com.lidroid.xuti原创 2015-12-25 11:09:58 · 1442 阅读 · 0 评论 -
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load zbar: findLibrary returned null
如果你用了shareSDK 并且你还使用了其他的第三方,里面包含so文件文件,但是出现了如下的异常:12-21 18:10:36.500 4843-5026/com.sanyuan.ehuizhan E/AndroidRuntime: FATAL EXCEPTION: Thread-127412-21 18:10:36.500 4843-5026/com.sanyuan.ehuizhan E/An原创 2015-12-22 09:38:14 · 1503 阅读 · 0 评论 -
HttpUrlConnection 网络请求工具类
开发过程中常用的网络请求工具类import android.os.Build;import java.io.ByteArrayOutputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;i原创 2015-12-18 13:48:57 · 2557 阅读 · 0 评论 -
在项目中常见的问题,是时候总结点常见的小的问题了
To resolev : Gnimotion Could not open ‘/sys/class/power_supply/genymotion_fake_path/present’这个问题的解决方法就是: the reasion of this error : genymotion的模拟器是一个搭建在x86系统和VM中的虚拟安卓环境。它不是一个ARM架构的模拟器。所以他跑起来比Ecl原创 2015-12-17 18:32:52 · 1305 阅读 · 0 评论 -
开启或者关闭软键盘的工具类
其实在网上有很多这样的工具类,今天又遇见了,所以就再写一次加深点印象不多说了,直接上代码package /** * Author: blueZhang * Date: 2015/12/15 0015 * 163Email :bluezhang521@163.com * QEmail:bluezhang521@foxmail.com * QQ:2029379603 */import an原创 2015-12-15 10:26:51 · 641 阅读 · 0 评论 -
Genimotion 解决 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE问题
使用Genimotion的时候如果在测试的过程中出现:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE这个错误,总是提示你的install failed 那么你要安装这么一个东西:支持包(支持包)原因:当我们安装好Genymotion后,把Android运用部署到上面调试时,console控制台会报错:Installation error: INSTALL_FAILED_C原创 2015-12-15 09:25:02 · 903 阅读 · 0 评论 -
使用PohtoView出现java.lang.IllegalArgumentException: pointerIndex out of range
使用PohtoView出现java.lang.IllegalArgumentException: pointerIndex out of range我遇见的是在使用PhotoView的使用,在程序中动态的new一个ImageView出来,之后添加到ViewPager中。这时候运行程序如果使用手势对图片进行缩小,那么将会出来这个异常,在做多点触控放大缩小,操作自己所绘制的图形时发生这个异常,如果是操原创 2015-12-12 11:59:47 · 1383 阅读 · 0 评论 -
NDK/JNI Develop guide(6) access the instance variables and static variables
NDK/JNI Develop guide(6) access the instance variables and static variables在这一章中我们将会通过例子了解如何在本地代码中修改和访问Java中的实例变量和静态变量。静态变量所有的实例对象中都只有一份相同的实例变量。 下面看一个例子: 我们首先创建一个ClassField的类:/** * Created by blueZ原创 2016-07-07 17:30:47 · 524 阅读 · 0 评论 -
ClassLoader 工作机制
ClassLoader 工作原理及机制其实是项目上这两天闲了下来,现在有点时间,巩固一下以前的基本知识不知道以后何去何从,不过个人认为技术、基础是码农的硬道理……Y(^_^)Y大概列一下我们的讲解顺序:ClassLoader基本概念ClassLoader泛化的子类ClassLoader实例的创建ClassLoader双亲代理模型加载类的特点和作用ClassLoader需要注意的问题Dex原创 2016-10-09 16:38:48 · 1255 阅读 · 0 评论 -
Git分支问题(git remote prune)
问题描述 :查看所有分支使用命令git branch --all feature-tmp feature-tmp-no-ad feature-tools feature-tools-dev feature-trend feature-trend-paint feature-wangcai feature-wangcai-no-ad remotes/orig...原创 2019-04-19 13:49:46 · 1269 阅读 · 0 评论 -
Android Studio 官方快捷键大全
键盘快捷键Android Studio 为许多常用操作提供了键盘快捷键。 表 1 按操作系统显示了默认键盘快捷键。注:除了下面表 1 中的默认键映射外,您还可以选择多种预设的键映射,也可以创建自定义键映射。如需了解有关自定义键盘快捷键的详细信息,请参阅下面的配置自定义键映射。表 1. Windows/Linux 和 Mac 操作系统的默认键盘快捷键。说明 Windows/Li...原创 2018-11-01 17:40:40 · 416 阅读 · 0 评论 -
ConstraintLayout属性介绍及使用
ConstraintLayout属性介绍及使用文章目录ConstraintLayout属性介绍及使用MATCH_CONSTRAINTCentering positioning And Bias (居中和偏移量)Circular positioning(圆形定位)constraint 属性MATCH_CONSTRAINTBias偏移量设置CircularPositioning 圆形定位Margin...原创 2018-10-17 14:29:28 · 2229 阅读 · 0 评论 -
android 动画
android 动画1:AnimationAnimation translateAnimation = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, ...原创 2018-10-16 18:41:19 · 350 阅读 · 0 评论 -
Android FileProvider 属性配置详解及FileProvider多节点问题
众所周知在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile来获取uri了我们需要适配7.0+的机型需要这样写:1:代码适配 if (Build.VERSION.SDK_INT > 23) {// intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);...原创 2018-05-28 19:28:51 · 16325 阅读 · 0 评论 -
Recyclerview 添加webview为header 点击webview 会自动滚动问题
问题如下:Recyclerview 添加webview为header 点击webview 中的图片,因为需求问题我们需要再点击图片时放大图片以方便用户查看,这样的话就会出现个问题,当你点击图片时候将会导致webview 自动滚动到最顶端。这样肯定是不合理的。原因分析:导致这个问题的原因就是:当第一次点击时候因为webview没有获取焦点,导致webview需要先去获取焦点,从而引发自动滚动解决方案...原创 2018-02-28 10:48:47 · 1415 阅读 · 0 评论 -
Android O 迁移(适配Android 8.0)
Android O Migrating小伙伴们现在装载android 8.0 的手机已经在市面销售那么作为程序员的我们是否已经完成面向Android O的迁移了呢?现在我们介绍下 Android O新的改动:通知在 Android 8.0 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式。这些变更包括:Android 8.0 中的通知长按菜单原创 2018-01-08 18:33:54 · 2462 阅读 · 0 评论 -
解决Error:” ” is not translated in “en” (English) [MissingTranslation]
发生原因:工程对语言做了适配,添加了values-en 或者values-af 由于之前没有配置lint忽略语言检测,出现现在错误。1、尝试添加translatable=”[true / false]” string name="junkchen" translatable="false">Junk Chen!string> 112、在resources原创 2017-08-24 15:25:53 · 1557 阅读 · 0 评论 -
安卓使用WebView 自定义错误界面
别的不多说了 注意一点在处理的时候需要兼容新老版本,还有就是 判断一下错误的URL和当前加载的URL是否一致: @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedE原创 2017-08-22 15:50:10 · 1079 阅读 · 0 评论 -
android 打开微信扫一扫
由于微信的更新导致不能直接通过scheme打开微信扫一扫界面,但是现在仍然有两种方式可以直接打开微信扫一扫界面: 1: public static void toWeChatScanDirect(Context context) { try { Intent intent = new Intent(); intent.setCompo原创 2017-08-21 09:47:39 · 10676 阅读 · 10 评论 -
解决android7.0+ 自定义Toast时长,但是toast不显示问题
重点在于解决部分机型自定义Toast 时长不现实问题public class ToastUtils { private static final String TAG = ToastUtils.class.getSimpleName(); private static TextView tv; public static final int LENGTH_LONG = 350原创 2017-08-16 11:08:43 · 3121 阅读 · 1 评论 -
Could not get BatchedBridge, make sure your bundle is packaged correctly
如果你是 React Native 的初学者 可能遇见这样的错误 :Could not get BatchedBridge, make sure your bundle is packaged correctly 解决方法如下: 在 android 工程中的src下面创建assets文件夹 然后执行下面的命令:react-native bundle --platform android --de原创 2017-04-12 20:26:29 · 630 阅读 · 0 评论 -
基于美团的多渠道打包shell 脚本
基于美团多渠道打包的shell脚本打包原创 2017-03-16 09:16:38 · 1179 阅读 · 0 评论 -
gradle 压缩资源配置
压缩代码和资源 要尽可能减小 APK 文件,您应该启用压缩来移除发布构建中未使用的代码和资源。此页面介绍如何执行该操作,以及如何指定要在构建时保留或舍弃的代码和资源。代码压缩通过 ProGuard 提供,ProGuard 会检测和移除封装应用中未使用的类、字段、方法和属性,包括自带代码库中的未使用项(这使其成为以变通方式解决 64k 引用限制的有用工具)。ProGuard 还可优化字节码,移除未使翻译 2017-03-22 17:44:24 · 3297 阅读 · 0 评论 -
Git config 配置及SSH key生成
今天又有人问我这个问题下面我就把如何配置自己git的全局信息以及SSH key的生成方式写下来以免重复工作。首先你需要的是这两行命令(当然不配置也是可以的) git config –global user.name “XXX” git config –global user.email XX@example.com(your email address)检查SSH keys是否存在原创 2016-12-21 16:05:32 · 3695 阅读 · 0 评论 -
将字节数组转换为16进制的三种方案
在开发的过程中少不了将字节数组转化为16进制字符串来保存,这样的场景尤其多见于加密。所以今天将最常用的三种方法总结一下。首先先来一种大家都能接受的,也是最通俗易懂的:分别取出字节的高四位与低四位然后分别得出10进制0-15这样的值,再利用一个字符串数组完美完成。对于转化的理解,当然最推荐第三种方式了。/** * first method * * @param bytes原创 2016-11-03 16:21:08 · 14514 阅读 · 0 评论 -
对图片进行压缩
对图片进行二次采样的时候计算压缩之后的尺寸/** * 官方计算代码 * 根据用户所给出的宽度和高度计算出来压缩比例 * @param options * @param reqWidth * @param reqHeight * @return */ public static int calc原创 2015-11-17 20:37:09 · 554 阅读 · 0 评论 -
如果有人问你Java垃圾回收机制你这么答就好了!
1、为什么要进行垃圾回收: 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象 的内存时,该内存便成为垃圾。 垃圾回收能自动释放内存空间,减轻编程的负担,JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对 象不再被引用的时候,原创 2015-11-17 20:19:26 · 1593 阅读 · 0 评论 -
获取手机基本信息的工具类
import android.app.Activity;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.原创 2015-11-15 16:56:55 · 1004 阅读 · 0 评论 -
ContentProvider使用方法
ContentProvider使用方法ContentProvider文档中介绍 //声明该ContentProvider的唯一标识--通常使用包名+数据库名--必须小写 public static final String AUTHORITY ="com.qianfeng.gp08_day25_contentprovider1.users"; //为该组件中可以被外界原创 2015-09-12 19:33:45 · 847 阅读 · 0 评论 -
android中的异步加载
众所周知Android应用开发中不能在UI线程中做耗时的操作,否则就会弹出烦人的ANR窗口。应用开发中如果需要加载来自网络、磁盘或其他非内存中图片资源时,因加载时间会受到其他因素(如磁盘、网络、图片大小、CPU等等)的影响,很容易产生耗时操作。所以在进行类似操作时要避免在UI线程中进行。今天就和大家分享一下如何通过AsyncTask异步加载图片和怎么处理多线程并发问题我相信对于初学原创 2015-09-05 17:31:36 · 572 阅读 · 0 评论