自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android适配刘海屏(华为Pro20等)

前言公司最近要适配华为Pro20,没办法 – 。–一、AndroidP的适配方案上来我最先找到的就是AndroidP,就先以这个入手了。 首先看下谷歌给出的api,大致就分为两种。 1.设置全屏模式WindowManager.LayoutParams lp =getWindow().getAttributes();lp.layoutIn...

2018-04-16 22:21:01 14131 8

原创 Android 使用webview浏览js文件/网页

首先,说明一下webview在ios上是可以很方便的直接预览pdf文件的,但是Android上的webview需要使用谷歌文档服务。如下:mWebView.loadUrl("http://docs.google.com/gviewembedded=true&url=" + pdfUrl);这种方式国内网络环境是不用考虑的。(你懂得) 那么下面我要介绍其他的方法了。一、...

2018-03-18 17:10:24 1970 2

转载 android检查内存泄漏

原文链接点击打开链接1. 什么是内存泄漏简单来说, 当一个对象不再被使用时, 理应不存在任何强引用指向他从而可以让垃圾回收器(GC)在未来的某个时间点将其回收的, 但由于某些原因导致有强引用依然指向该对象, 使得该对象无法被垃圾回收器(GC)回收的现象, 我们就称该对象被泄漏到内存中了, 简称”内存泄漏”. 其实, 在这种情况下, 不仅该对象会泄漏, 而且该对象内部包含的其他引用所

2017-11-26 13:40:23 594

原创 Android基础知识---Android的monkey测试

前言尴尬,今天我们主管问题我monkey测试是啥,我竟然一脸懵逼,感觉作为一个android开放程序猿有点无地自容,这不赶紧的看看,下次不能再丢人了。(——。——)一、Monkey测试是什么Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试二、Monkey用来做

2017-09-03 18:39:59 637

原创 cocos2d学习---世界坐标和本地坐标的转化

最近做东西遇到的小问题,之前没怎么看过,就今天特地拿出来写个demo,记住这个问题。一、笛卡儿坐标系OpenGl坐标系为笛卡儿右手系。x向右,y向上,z向外。 我之前开发的是android坐标系为屏幕坐标系是以屏幕左上角为坐标原点,x轴向右逐渐增大,y轴向下逐渐增大。而在cocos2d-lua中坐标系原点在屏幕的左下角,x向右,y向上,z则是指的zorder(层级)。二、世界坐标系,本地坐标系世界

2017-08-27 21:06:30 10381 1

原创 android基础知识---重写软键盘回车的点击事件

实现Android按下回车键便隐藏输入键盘,有两种方法:1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,

2017-08-27 18:10:59 1166

原创 android自定义控件-----自定义数字价格键盘

饿饿,好久没写android了,最近看到数字价格键盘挺有意思的就写来玩玩,省的做游戏java方面都要手生了!(话不多说,开始了)首先给图吧(绅士礼仪0。0)数字随机键盘价格数字键盘全键盘一、画键盘的xml首先我们要在 创建一个xml<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas

2017-08-27 18:01:04 3148 1

原创 Error: 'S' is not a valid file-based resource name character: File-bas

这是今天写demo遇到的2b问题,好久没写android了。 遇到这个问题 ,我竟然还浪费了一会,所以这里提醒自己一下。 这个错误用心看错误提示,很简单就知道为什么了,其实就是让你用a-z ,0-9 or uderscore来命名。如果用大写的英文自然会报错了。

2017-08-27 15:40:32 9140 1

原创 android开源库---Dagger2入门学习(为什么使用)

看了前面的文章大概都了解了Dagger2。 那么问题来了,为什么我们要是使用Dagger2呢?具体有什么优势呢? 看看原来的代码public class Boy { String name; public Boy(String name ){ // 修改了构造方法 this.name = name; } public void run()

2017-07-26 23:17:16 452

原创 Android基础知识-------截屏

这里我介绍下截屏方式。使用View.getDrawingCache()方式通过该方法可以获取到当前activity的页面的bitmap,然后进行保存,可以说是最简单的实习方式。优点是不需要root,不过缺点也比较明显只能获取当前运行的activity,无法获取其他应用,也不能用到service后台截屏。 下面是方法: private void screenshot() {

2017-07-26 22:42:01 345

原创 android开源库---Dagger2入门学习(简单使用)

Dagger2依赖注入前面我们做好学习准备接下来就要研究如何使用了,俗话说的好,一个东西需要先会用,然后才更好的学习原理。一、导入Dagger2在工程的build.gradle文件中添加android-apt插件(该插件后面介绍)buildscript { .... dependencies { classpath 'com.android.tools.build:grad

2017-07-25 23:37:47 575

原创 android开源库---Dagger2学习准备(依赖注入)

我这次准备介绍的是Dagger2的使用。 那么学习这个之前我要做下准备就是了解为什么要使用这个,那么我们就必须要先了解一下什么是依赖注入。什么是依赖注入依赖注入控制反转的一种实现方式。 控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码

2017-07-23 23:23:11 332

原创 android基础知识---用ActivityLifecycleCallbacks实现后台回来展示广告

这里我介绍一个方法还不错展示广告方式,(最近忙着游戏的开发,应用上的都有点淡忘了)。 这里我主要运用了ActivityLifecycleCallbacks监听生命周期,以及application的生命周期是整个程序运行这一特性入手的。 话不多说展示代码ublic class MyApplication extends Application { private static final

2017-07-12 00:09:01 825

原创 android基础知识---ActivityLifecycleCallbacks监听Activity们的生命周期

今天给大家介绍下ActivityLifecycleCallbacks。一、ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。二、为什么用ActivityLifecycleCallbacks?ActivityLifecycleCallbacks接口回调可以简化繁琐的处理生命周期监

2017-07-11 23:19:14 982

原创 android基础知识---不同app的跳转,及进程的控制

这里我简单介绍下跳转的三个方式,直接上方法了1、已知包名直接按包名跳转 Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.admin.tiaoapp2"); startActivity(intent);2、已知包名和activity和包名跳转Intent intent

2017-07-10 23:58:35 1128

原创 WebView的优化--处理WebView的容易忽略的漏洞

现在很流行android和H5混合开发,大大节约了成本,但是也有很多我们不得不考虑的安全问题。 主要问题有三类任意代码执行漏洞密码明文存储漏洞域控制不严格漏洞1.1 WebView 任意代码执行漏洞11.1 addJavascriptInterface 接口引起远程代码执行漏洞首先我们要明确任何和支付有关的操作最好不要通过js交互进行。 给大家看看攻击的js核心代码function ex

2017-06-25 22:25:00 2505 2

原创 WebView的优化--使用腾讯的x5内核

最近公司做活动界面,一直强调网页的加载速度,没办法只能看看能不能有其他办法,这个x5内核网上说挺好用就拿来试试。 SDK是通过共享使用用户手机上微信、手机QQ、空间等软件已经下载好的X5内核,低成本实现对系统webview的替代。该SDK大小只有200+K,接入时仅需修改几行代码。仅仅只需要200的jar包就能提速30%真的是非常的划算的 说下优势吧:1) 速度快:相比系统webview的网页打

2017-06-25 21:52:25 3546

原创 Android基础知识---7.1新特性:Shortcuts详解

啊啊,最近转做游戏就没什么时间写博客了,累死了!不过看到了7.1的新特性还是忍不住来看看!Shortcuts介绍Android7.1(API Level 25)及以上系统可以自定义Shortcuts,通过在桌面上长按App Icon弹出Shortcut列表,点击某个shortcut可使用户快捷得打开App里常用的或推荐的任务。长按列表中的任一个Shortcut可拖动到桌面进行固定(可以成为Pinne

2017-06-20 00:13:32 2910 1

转载 查看APK的签名信息

1、查看 keystore $ keytool -list -v -keystore debug.keystore$ keytool -list -v -keystore debug.keystore Enter keystore password: 12122、查看三方应用或是系统应用签名打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.R

2017-06-06 20:21:57 838

原创 WebView的使用小结--加载加速及缓存机制

公司一直要求加载webview界面不能太慢,那么是什么导致webview加载的速度过慢呢?渲染速度慢。页面资源加载缓慢那我们来一一想办法对应一、渲染速度慢前端 H5 页面渲染的速度取决于 两个方面:Js 解析效率 Js 本身的解析过程复杂、解析速度不快 & 前端页面涉及较多 JS 代码文件,所以叠加起来会导致 Js 解析效率非常低手机硬件设备的性能 由于 Android 机型碎片化

2017-06-05 23:49:28 7402 2

原创 android开源库---线性图表SuitLines

最近看到一个合适的开源库,是线性图表的,感觉以后可能会用到,这里就写下,因为作者写的直接用类,自己也好修改。给你们链接吧点击打开链接一、简介首先适用于API14以上的(感觉这点很致命,不知道能不能规避)静态属性对应API说明xySizesetXySizexy轴文字大小xyColorsetXyColorxy轴文字的颜色,

2017-05-07 17:48:03 655

原创 android错误---Notification用法,注意API版本

今天在公司的bugly上看的一个问题就是notification的错误提示android4.0的notification没有build方法,所以就了解了下。这里和大家分享下。按步骤来 1、获取Notification管理器// NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取。 Notifica

2017-05-04 23:25:21 1265

原创 android---webview和scrollview(等滑动冲突)

如果webview嵌套的html中含有轮播图我们就会发现滑动很不舒畅,这对用户体验来说是很差的,所以咯这肯定不行,当然解决的方法也很简单,就是根据滑动方向和距离简单的做下事件的屏蔽。 所以这里自定义一个webviewpublic class MyWebView extends WebView{ private float startx; private float starty;

2017-05-02 23:28:08 1846

原创 Android基础知识---RxPermissions获取运行时权限

大家都了解android6.0的运行时权限分为两类: 一类是Normal Permissions,这类权限不涉及个人隐私,不需要用户进行授权,比如手机震动,访问网络; 一类是Dangerous Permissions,这类权限涉及个人隐私,需要用户进行授权,比如读取SD卡,访问通讯录等。 如果是Dangerous Permissions这种权限需要我申请权限,这里我写过例子你们可以看看例子

2017-05-01 23:36:02 2648 1

原创 android基础知识---重写系统Crash处理类保存上传和完美退出程序的方法

当今市场上android的手机型号和版本太多要做到完全适配几乎是完全不可能的,那么怎么才能获取其他的玩家的出错的信息呢!这里我们就要重新定义系统的Crash处理类了。首先我们我们新建一个CustomCrashHandler类 实现UncaughtExceptionHandler接口,重写回调方法void uncaughtException(Thread thread, Throwable ex)pa

2017-04-30 23:31:56 2456

原创 android基础知识----自带的分享

我一直都在sharesdk分享,没怎么用,今天这里就用下,顺便记录下挺简单的。 最主要的三种 1. 分享文本Intent intent1=new Intent(Intent.ACTION_SEND); intent1.putExtra(Intent.EXTRA_TEXT,"This is my text to send"); int

2017-04-29 17:00:17 723

原创 android开源库----可自定义动效的卡片切换视图

本来今天不想写的,但是怕自己又忘记就写了,正好提醒自己周末改下,变成触摸可能会好点(但愿记得了))好了介绍下bakerj 添加依赖compile 'com.bakerj:infinite-cards:1.0.0'地址 这里写链接内容我懒得解释给个代码看吧,我周末会补写的(如果没忘的话)package com.example.admin.bakerjq;import android.support

2017-04-28 00:27:23 3530 2

原创 android实用方法----代码中抓取log

最近在公司中遇到一个需求,客户的手机出现bug但是我们复现不出来,所以我们主管让我写个抓log的apk。 思路很简单,开启一个服务,然后用Runtime.getRuntime().exec(String [] cmdArray);方法调用命令行执行adb命令就好。 给大家贴上代码LogObserverServicepackage com.kukool.game.Service;import an

2017-04-27 22:49:32 6132

原创 android基础知识---语言切换

其实也不是多难的东西今天就是看到就想着写下,由于看了好多博客写的都是对不上号的东西,就自己写下以后好查着看。 一、简介 我们需要做的就是更新资源目录的配置信息,同时我们要设置多个value比如value-en就是代表英语的value文件夹。二、实现 首先我们来看下我们的Local 我就不全贴了以英语为例 static public final Locale ENGLIS

2017-04-19 00:06:31 475

转载 ScrollView中嵌套ListView置顶问题

[java] view plain copypublic class MyListView extends ListView {      public MyListView(Context context) {          super(context);      }      public MyListView(Context contex

2017-04-15 21:41:17 461

原创 android错误笔记----嵌套listview显示只有一行

这是个很老的问题了,今天有人问了下告诉别人了,但是解释的不是很清晰,这里我就在写下,只做自己回忆用的(( ⊙ o ⊙ )!) 一、问题的原因 由于嵌套后计算listview的高度出现问题导致的。比如在ScrollView中嵌套ListView空间,无法正确的计算ListView的大小,所以你们就只看到一行。二、解决方法 1.重写listview的计算高度的方法(onMeasure) @Ov

2017-04-15 19:22:56 481

原创 Lua 与 Java 互操作的简单解决方案----LuaJavaBridge

我们写东西的时候总会遇到lua中要调用java代码,当然这个用JNI肯定是可以做到的,但是有更加方便的办法—LuaJavaBridge一、luaj 主要特征* 可以从 Lua 调用 Java Class Static Method* 调用 Java 方法时,支持 int/float/boolean/String/Lua function 五种参数类型* 可以将 Lua function 作为参数

2017-04-12 22:52:25 14111 3

原创 Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键

一般的获取屏幕尺寸,但是不包括虚拟功能高度/** * 获取屏幕尺寸,但是不包括虚拟功能高度 * * @return */public int getNoHasVirtualKey() { int height = getWindowManager().getDefaultDisplay().getHeight(); return height;}但是今天我们测试找我就说你

2017-04-12 22:26:43 1942

原创 android基础知识---Mean菜单管理

Android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来。 一、简介 Activity有一套机制来实

2017-04-09 21:04:02 764

原创 android开源库--FilePicker

想必大家经常用到选择文件的时候吧,这里我介绍一个开源库 内库地址那我就说下用法咯 一样加入依赖 compile 'com.github.angads25:filepicker:1.1.0' public void showFile(){ DialogProperties properties = new DialogProperties(); //这个

2017-04-09 20:37:16 2161

原创 android瘦身---干掉地图的jar包

android瘦身也就是裁包是我们后面要处理的一件比较烦人的事情。 今天我给大家介绍一种方法,但不是都适用。 适用:用到地图,但是对地图的要求不高的。(因为如果要求高的话还是原生的好O(∩_∩)O哈哈~) 首先说下我的方法,就是干掉百度的jar包不用原生的地图,用web端的javaScript的地图,这样就可以节省掉jar占据的空间,而且申请很方便。 (我这里用是因为这是店铺地址的位置显示的

2017-04-08 19:38:02 587

原创 android绘制知识--双缓冲绘图技术

今天我们说下双缓冲绘图技术。其实也没有那么神秘,可以理解为就是一个装载工具,说点接地气的比如搬砖。我们每次可以搬十块砖,从A搬到B,如果是就搬十块我们当然是直接搬过去比较快,但是如果是一百或者一千块呢?你直接搬效率肯定很低,于是我们用身边的小推车一直装上然后推过去。我们的双缓冲技术就是这个“小推车”。我们知道,我们在绘图时有两样东西是少不了的,一个是Canvas(画布),一个是Paint(画笔)。C

2017-04-04 21:28:37 1110

原创 android基础知识--混淆的记录

在开发中混淆是app瘦身不可缺少的一部分。 官方说明混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避64K方法数的瓶颈;同时,将类、类成员、方法重命名为无意义的简短名称,增加了逆向工程的难度。而依靠 Gradle 的 Android 插件,我们将移除未被使用的资源,可以有效减小 apk

2017-04-04 11:09:13 359

转载 使用android studio混淆过程中遇到的异常

1.dexDebug ExecException finished with non-zero exit value 2需要在gradle中配置下面的代码,原因是引用了多个libraries文件defaultConfig {        multiDexEnabled true}2.Execution failed for task ':app

2017-04-04 10:23:15 1924

原创 Android的Design库---BottomSheetBehavior和BottomSheetDialog

BottomSheet 的使用:BottomSheet 使用需要CoordinatorLayout作为父布局,BottomSheet 的布局作为CoordinatorLayout 的子布局,并且BottomSheetBehavior(比如加上app:layout_behavior=”android.support.design.widget.BottomSheetBehavior”)实际使用过程中主

2017-03-21 18:53:58 1727

cocos来实现液体流动效果.zip

cocos实现液体流动的思路!具体可以研究下

2019-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除