- 博客(46)
- 收藏
- 关注
转载 3个知识点让你了解Android签名机制 http://www.apkbus.com/blog-942559-76948.html (出处: 安卓巴士 - 安卓开发 - Android开发 - 安卓
一、准备知识在介绍签名机制前,需要首先了解一下消息摘要、签名文件、数字证书的知识。1、消息摘要 - Message Digest消息摘要(Message Digest),又称数字摘要(Digital Digest)或数字指纹(Finger Print)。简单来说,消息摘要就是在消息数据上,执行一个单向的Hash函数,生成一个固定长度的Hash值,这个Hash值即是消息摘要。关于这个Ha
2018-01-31 16:36:21 562
转载 Android大文件上传秒传之MD5篇 http://www.apkbus.com/blog-822715-76972.html (出处: 安卓巴士 - 安卓开发 - Android开发 - 安卓 -
前言现在越来越多的应用开始有上传大文件的需求,以及秒传,续传功能。由于最近学习大文件分隔上传,以及秒传的实现,给予分享的这种精神,我想将自己的学习过程,以及遇到的问题做一个总结,希望对有这方面需求的小伙伴有一定的帮助。分析说到大文件上传,我们可能首先会想的一些网盘App,这些优秀的网盘除了上传大文件外,还可以实现秒传以及断点续传功能。说起断点续传也就明白了文章题目所说的大文
2018-01-31 16:29:43 434
转载 ScrollView(RecyclerView等)自动滚动原理分析,还有阻止自动滑动的解决方案 ... http://www.apkbus.com/blog-945380-76974.html
引言,有一天我在调试一个界面,xml布局里面包含Scroll View,里面嵌套了recyclerView的时候,界面一进去,就自动滚动到了recyclerView的那部分,百思不得其解,上网查了好多资料,大部分只是提到了解决的办法,但是对于为什么会这样,都没有一个很好的解释,本着对技术的负责的态度,花费了一点时间将前后理顺了下1.首先在包含ScrollView的xml布局中,我们在一加载
2018-01-31 16:27:57 300
转载 JNI之He'llWord
[java] view plain copyJNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们
2017-08-02 20:52:37 279
转载 JNI总管:JNIEnv
JNI总管:JNIEnv在Log系统的实例中,JNI层实现方法和注册方法中都使用了JNIEnv这个指针,通过它调用JNI函数,访问Java虚拟机,进而操作Java对象。JNIEnv是JNI编程中最重要的概念,本节将详细介绍它。首先看JNIEnv的体系结构,如图2-2所示。在图2-2中可以看到,JNIEnv首先指向一个线程相关的结构,该结构又指向一个指针数组,在这个指
2017-08-02 20:28:11 215
转载 Android 高级混淆和代码保护技术
这是一篇关于 Android 代码保护的文章,旨在介绍代码混淆、防止逆向工程的各种高级技巧。大家都很忙,我也赶着回去继续开发我的新应用,因此话不多说,越干(gan, 一声)越好。本文有两部分内容,一部分讲混淆,一部分介绍一些混淆之下的安全手段。基准原则都是:在保证不麻烦到自身 以及 能够正常阅读异常日志的前提下,尽可能提高混淆强度和保护代码安全。 1
2017-07-20 14:08:07 653
转载 Android 密钥保护和 C/S 网络传输安全理论指南 Dec 14, 2016 注:本文将着重讲解 Android KeyStore、so 库保护 app key / secret、HTTPS
Android 密钥保护和 C/S 网络传输安全理论指南注:本文将着重讲解 Android KeyStore、so 库保护 app key / secret、HTTPS 原理及其防中间人攻击措施。谈到 Android 安全性话题,Android Developers 官方网站给出了许多很好的建议和讲解,涵盖了存储数据、权限、网络、处理凭据、输入验证、处理用户数据、加密等方方面面
2017-07-20 14:06:42 803
转载 Dalvik虚拟机的启动过程分析
Dalvik虚拟机的启动过程分析标签: AndroidDalvikZygote 转自:老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的。Zygote进程在启动时会创建一个Dalvik虚拟机实例,每
2017-07-14 13:37:30 382
原创 Installation failed with message Failed to establish session解决方案
Installation failed with message Failed to establish session.It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.WARNING: Uninstalling will remove the application data!Do y
2017-06-08 10:18:56 758
转载 java synchronized同步静态方法和同步非静态方法的区别与举例
java synchronized同步静态方法和同步非静态方法的区别与举例时间:2015-03-12 09:53:28 阅读:2811 评论:0 收藏:0 [点我收藏+]标签:java 线程 synchronized 同步非静态方法 同步静态方法 synchronized关键字是java并发编程中为
2017-06-01 11:17:43 371
转载 异步读写ArrayList换用CopyOnWriteArrayList、synchronizedList、java.util.ConcurrentModificationException 异常解决
CopyOnWriteArrayList与Collections.synchronizedList的性能对比列表实现有ArrayList、Vector、CopyOnWriteArrayList、Collections.synchronizedList(list)四种方式。1 ArrayList ArrayList是非线性安全,此类的 iterator
2017-06-01 11:15:32 2887
转载 如何定位Android NDK开发中遇到的错误
如何定位Android NDK开发中遇到的错误摘要:Android NDK中的错误定位对很多开发者来说是一件头疼的事,本文通过一个Demo程序详细讲解了NDK的错误是如何产生的,以及如何通过命令行工具定位NDK的问题所在。Android NDK是什么?Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此
2017-03-24 18:11:23 292
转载 Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
Android 设备的CPU类型通常称为ABIs问题描述解决方法1解决之前的截图2解决后的截图3解决方法4建议为什么你需要重点关注so文件App中可能出错的地方其他地方也可能出错使用android-21平台版本编译的so文件运行在android-15的设备上混合使用不同C运行时编译的so文件没有为每个支持的CPU架构提供对应的so文件将so文件放在错误的地方只提供armeabi架构
2017-03-08 15:06:07 5048
转载 重新认识AndroidStudio和Gradle,这些都是我们应该知道的
前言主要从AndroidStudio的环境安装升级,Gradle,Eclipse转AS,多渠道配置,Maven私服,Action,Option,快捷键等几个方面出发,讲一些操作技巧以及我对AndroidStudio使用的一些理解与经验。本文较全面的讲述了我们在开发中必须要了解的,比较多而全,可能不能马上记住,目的在于大家看我之后能有一个认识,在需要使用的时候知道有这么个东西。希望对你的
2017-02-11 18:40:18 810
转载 获取VirtualBox COM对象失败,Unable to start the virtual device
转载请标明出处: http://blog.csdn.net/Android_Mnbvcxz/article/details/53995572一、问题1、将Genymotion和VirtualBox安装好之后,并且已经下载完了virtual device; 2、但是在运行虚拟机的时候却弹出了错误提示:虚拟机电脑控制台——严重错误。 如图: 错误信息:获取V
2017-02-10 11:36:51 7911 6
原创 Error:Execution failed for task ':app:transformClassesWithDependencyCheckerForDebug'.
Error:Execution failed for task ':app:transformClassesWithDependencyCheckerForDebug'.> org.gradle.api.internal.changedetection.rules.DescriptiveChange cannot be cast to org.gradle.api.tasks.incremen
2017-01-21 12:10:02 1002
原创 调用百度地图实现定位功能
百度地图拥有强大而完善的定位与地图功能,也能提供完善的服务,最重要的时免费的,为企业以及个人开发者提供了很大的便利。调用方法也很简单,能够快速集成,官方文档也说的非常详细,我再次就分析一下我做定位的过程,希望能让见者少走弯路。第一步: 创建应用去百度开发者平台 如果没有百度账号先去申请,申请之后移步百度开发者平台去创建应用创建应用的售后需要填写SHA
2016-11-23 16:47:13 2454 2
原创 AndroidStudio 在终端 获取MD5和SHA1证书指纹
我们知道在Eclipse中的MD5和SHA1证书指纹是很好获取的,再次不做赘述,由于谷歌也在大力推崇使用AndroidStudio,所以本文狐妖介绍在AndroidStudio过程中,在终端通过CMD命令行获取MD5和SHA1证书指纹,以下以百度地图使用中为例,详细介绍整个过程第一步:先要给应用加密这里要记得设置加密文件的存放位置
2016-10-26 11:59:50 597
转载 app的升级与更新
本文将讲解app的升级与更新。一般而言用户使用App的时候升级提醒有两种方式获得:一种是通过App Store获取一种是打开应用之后提醒用户更新升级而更新操作一般是在用户点击了升级按钮之后开始执行的,这里的升级操作也分为两种形式:一般升级强制升级app升级操作:App Store升级在App Store
2016-10-25 18:03:17 1104
转载 Android UI优化
本文我们将讲解一下Android UI优化方面的知识。Android系统的优化分为好多方面:比如性能优化,UI优化,资源文件优化等等,这里我们先暂时讲解Android UI优化方面的知识点。三种布局方式 Android对布局优化提供了三种布局:include/>merge/>ViewStub/>123123这三种布局都可以简化我们的布局文件,优化绘制流程,下面我们简单看
2016-10-25 18:01:55 442
转载 Android中webview在使用过程中会遇到的一些问题
本文中我们将介绍一下Android中webview在使用过程中会遇到的一些问题。这些问题主要是webview在使用过程中我已经趟过的坑,希望通过这篇文章的介绍能够帮助大家更好的使用webview。下面是本文主要介绍的一些知识点,后续使用过程中可能会有更新。webview的性能优化webview注入cookie信息webview退出activity异常
2016-10-25 18:00:26 2249
转载 MVC/MVP/MVVM等模式的基本概念
本文我们将讲解Android开发中常常涉及到的MVC/MVP/MVVM等模式的基本概念。许多童鞋对Android开发中涉及到的MVC、MVP、MVVM这三种模式不是太清楚,我认为无论是MVC、MVP亦或者是MVVM都是一种代码组织方式,通过这种代码组织方式能够让代码更有层次感,各个层次主要负责各自的工作,这样降低了整个项目的代码逻辑耦合度与可读性。下面对MVC、MVP、MVVM等设计模式逐
2016-10-25 17:57:58 336
原创 使用Socket成功谅解服务器以后获取服务器的IP和域名
new Thread(new Runnable() { @Override //使用Socket成功谅解服务器以后获取服务器的IP=和域名 public void run() { try { Socket socket=new Socket("www.microsoft.com",80); String s=
2016-10-08 20:05:26 675
转载 java中反射的三种方法
java中反射的三种方法:1. 通过Object类的getClass方法来获取java.lang.Object中定义有getClass方法:public final Class getClass()所有Java对象都具备这个方法,该方法用于返回调用该方法的对象的所属类关联的Class对象,例如:Date date1 = new Date(); Date date2 = new Date
2016-09-29 17:00:27 1458
转载 搜集整理链表的简单操作
1、单链表的创建和遍历:?1234567891011121314151617181920212223242526272829
2016-09-29 10:05:11 265
原创 解决ScrollView与ReclerView的滑动冲突问题
先是工具类import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.ViewConfiguration;import android.widget.ScrollView;/** * Created by
2016-09-26 16:25:44 1304
原创 侧滑菜单SliderMenu
** * Created by xalo on 16/8/31. */public class SilderMenus extends HorizontalScrollView { boolean once = false; LinearLayout linearLayout; int scrollWidth; //在父布局准备加载子布局时调用 @O
2016-09-23 20:07:52 551
原创 双击退出函数
/* Back键 2秒内连续双击退出程序*/@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exitByDoubleClick(); //调用双击退出函数 } return false;}
2016-09-23 20:01:39 242
原创 清除缓存的方法
清除缓存的类import android.content.Context;import android.os.Environment;import java.io.File;import java.math.BigDecimal;/** * Created by xalo on 16/9/8. */public class DataCleanManager { /
2016-09-23 19:57:49 463
原创 二叉树排序在Java代码的简单实现
二叉树排序在Java代码的简单实现public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
2016-09-23 10:42:09 334
原创 Base64&&Md5加密算法计算头部与sig
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//未登录时,通过当前时间获得鉴权String str = Base64.encodeToString(("0:" + sdf.format(new Date())).getBytes(), 2);//获得系统当前的时间,并加密String bb = HttpVoll
2016-09-22 21:14:21 527
原创 Post请求鉴权中获取头部的方法
Post请求鉴权中获取头部的方法import com.android.volley.AuthFailureError;import com.android.volley.Response;import com.android.volley.toolbox.StringRequest;import java.util.HashMap;import java.util.Map;/
2016-09-22 21:11:47 1615
原创 HTTP POST请求在Volly工厂关于需要鉴权的请求部分代码包含了处理图片实现ImageLoder法
POST请求在Volly工厂关于需要鉴权的请求部分代码,包含了处理图片实现ImageLoder法@Overridepublic String getStringFromPost(String url, String name, final String key1, final String value1, final String key2, final String value2, f
2016-09-22 21:00:10 280
原创 媒体播放器播放的方法步骤
mediaPlayer.reset();// Log.d(TAG, "----播放前重置---reset--"); mediaPlayer.setDataSource(url);// Log.d(TAG, "---设置资源路径--dataresource---"); me
2016-09-22 20:53:55 793
原创 补间动画的实现 ObjectAnimator类
private static float currentValue; //记录当前旋转的进度private static long mDuration = 22000; //旋转的速度//设置匀速转动,AccelerateInterpolator为加速效果、DecelerateInterpolator为减速效果LinearInterpolator lin = new LinearInte
2016-09-22 20:49:37 213
原创 JPush的使用简单范例
關於Jpush的使用網上有很多的用法,我也总结了一点:配置文件可以直接复制或修改成Demo的xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" package="com.hanhui.topanpan" android:versio
2016-09-22 20:39:52 837
原创 TCP的简单建立连接
服务端服务类public class TcpService extends Service { @Override public void onCreate() { super.onCreate(); // socket原意是插销// ServerSocket 是监听端口 // sort 端口号
2016-09-22 19:54:33 458
原创 直接NEW线程请求简单网络数据的实例
/** * Created by xalo on 16/6/23. */public class HomeImageThread extends Thread { String img; Handler handler; public HomeImageThread(String img, Handler handler) { this.img =
2016-09-22 19:50:44 269
原创 FragmentActivity添加Fragment的使用
在一个Activity中添加动态的Fragmentpublic class MainActivity extends FragmentActivity implements View.OnClickListener { FragmentManager manager; FragmentTransaction transaction; Fragment fragme
2016-09-22 19:47:27 416
原创 Java反射的DEMO
Activity中/** * Demo描述: * Android中Java反射技术的使用示例 * 在Java中描述字节码文件(xxx.class)的类叫Class * 反射的过程可视为剖析Class的过程 */public class MainActivity extends Activity { @Override protected vo
2016-09-22 19:22:31 259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人