自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ThomasKwan的博客

朝花夕拾

  • 博客(135)
  • 收藏
  • 关注

原创 移动应用间跳转的方法

移动应用间跳转,可通过scheme的方式进行1、URL Scheme概念 URL Scheme 就是一个可以让 app 相互之间可以跳转的协议。每个 app 的 URL Scheme 都是不一样的,如果存在一样的 URL Scheme,那么系统就会响应先安装那个 app 的 URL Scheme,因为后安装的 app 的 URL Scheme 被覆盖掉了,是不能被调用的。 运用URL : 统一资源定位符 scheme协议头(必须):决定查找应用的方式, 如http...

2021-02-04 16:08:33 1306

原创 HTTP协议的Content-Encoding属性

Content-Encoding是HTTP协议的响应报文头,一般形式如:Content-Encoding:gzip,deflate,compressContent-Encoding在说明中指出deflate指的是在RFC1950说明的zlib格式,也就是说当Content-Encoding为deflate时,内容应该为zlib格式。compress据说chrome浏览器支持,但还没见到哪个web服务器支持gzip,deflate,zlib的关系:deflate(RFC1951):一种压缩算法,使

2021-01-25 14:41:00 1975

转载 JavaScript判断字符是否为空的方法

具体方法://判断字符是否为空的方法function isEmpty(obj){ if(typeof obj == "undefined" || obj == null || obj == ""){ return true; }else{ return false; }} ...

2020-01-03 16:18:44 259

原创 利用JavaScript控制HTML元素的显示和隐藏

第一种方法:这种方法控件隐藏后,还会有空白占用原来的位置。// 隐藏document.getElementById("id").style.visibility="hidden";// 显示document.getElementById("id").style.visibility="visible";第二种方法:这种方法控件隐藏后,不会有空白占用原来的位置。/...

2020-01-03 15:47:47 483

原创 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/util/ByteArrayBuffer 解决方法

错误原因是找不到org.apache.http.util.ByteArrayBuffer的类。解决方法为在AndroidManifest.xml的<application>中加入以下代码:<uses-library android:name="org.apache.http.legacy" android:required="false"/>原因可参考之前的...

2020-01-03 15:31:53 1919

原创 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 解决方法

在ndk版本升级之后,项目编译出现了问题,提示没有对应的编译工具链,目前最多的做法是,下载之前的ndk版本,然后再拷贝缺少的部分。这种做法确实可以解决问题,但是既然新版的ndk删掉了这些库,肯定是有他自己的理由,所以建议还是在新版本ndk不改动的基础上解决No toolchains found in the NDK toolchains folder for ABI with prefix: ...

2019-05-15 09:23:28 381

原创 gradle打包aar去除引用的jar文件

在写libs module的时候,打包的arr的realese版本是包含libs目录下的文件,这时候你引入这个aar,可能会和你现有引入的jar文件冲突,在打包aar的时候可以设置不引入libs文件lib module的gradle文件里面应该有下面这样一段dependencies { compile fileTree(include: ['*.jar'],dir:'libs...

2019-03-01 17:33:08 2907

原创 calling startactivity() from outside of an activity context requires the flag_activity_new_task flag

问题:Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires theFLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?原因:使用applica...

2019-03-01 17:07:23 698

原创 获取Android签名打包keystore或者.jks文件的MD5

Android开发,经常会调用第三方,例如在申请第三方的时候,经常会用到MD5等信息,下面是从一个签名打包的key文件里面去获取这些信息。打开cmd或终端,找到对应的key签名文件,然后输入keytool -v -list -keystore xxx.jks,keytool -v -list -keystore xxx.keystore或回车,还会让你输入key的密码,其中xxx.jks或xx...

2019-03-01 16:59:33 1596 1

原创 Android 9.0/P 版本推荐使用HttpURLConnection

早在几年前,谷歌就推荐在Android2.3版本以上使用HttpURLConnection,而在正式发布的 Android P 版本中,谷歌彻底取消了对Apache HTTPClient的支持,针对此更改,开发者该如何正确适配 Android P 。Android 6.0 版本移除了对Apache HTTP客户端的支持。如果你的应用使用该客户端,并以 Android 2.3(API 级别为9)...

2019-02-21 16:48:10 1012

原创 Layout的setWeightSum函数使用方法

问题:在xml里面设置控件的android:layout_weight="1",LinearLayout的setWeightSum函数,参数设置为1,但是效果没有出来。解决方法1:setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1));1就是weight解决...

2019-02-21 16:17:42 1786

原创 Multiple dex files define Lcom/xxx/xxx/BuildConfig 报错解决方法

编译的时候会报这个问题。有可能是jar包、aar包或者依赖冲突了。 解决方法是:如果是多module的模式。当其中有一个module的manifest 中的package,和另外一个module的重复了。所以产生了两个相同的BuildConfig文件。例如:test module里的Android Manifest&lt;manifest xmlns:androi...

2019-02-21 16:08:28 5093 1

原创 Android 7.0设置MODE_WORLD_READABLE出现异常解决方法

Android 7.0给SharedPreferences设置Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE,会触发SecurityException。官方文档:Starting from N(N is for Nougat), attempting to use this mode will throw a Security...

2019-02-21 16:00:37 7124 1

原创 Android No slave process to process jobs, aborting 解决方法

当项目编译时,遇到这个报错:No slave process to process jobs, aborting只要重新启动Android Studio就能正常运行了。

2019-02-01 16:46:09 510

原创 Android处理guava-21.0不兼容错误:DexArchiveBuilderException: Failed to process guava-21.0.jar

在Android项目里使用guava-21.0报错:Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\cc\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\21.0\3a3d111be1be1b745e...

2019-01-31 11:08:43 1010

转载 Android Manifest merger failed with multiple errors, see logs 报错解决方法

第一个问题:aar包和常用的jar包区别两者区别:*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。*.aar:包含所有资源,class以及res资源文件全部包含所以这就会导致出现的一个问题Manifest merger failed with multiple errors, see logs这是由于aar包中的清单文件等资源文件互相之间冲突。...

2019-01-31 11:04:58 2082 1

原创 AndroidStudio Duplicate files copied in APK META-INF/notice.txt 报错

Android Studio 如果遇到类似以下报错Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt可以在build.gradle加入如下代码packagingOptions { exclude 'META-INF/...

2019-01-31 11:01:20 190

原创 ' ' is not a valid resource name character 报错解决方法

在gradle报错中没提示哪行代码出问题,甚至文件都没有指明。最后用AS的功能Inspect Code:res-&gt;Analyze-&gt;Inspect Code执行完后,可以在分析结果看到是哪个文件的哪行代码有问题。双击进入文件,进行修改,搞定。          ...

2019-01-30 17:00:30 5729 1

原创 ADB server didn't ACK的解决办法

国外有大神已经总结得比较全面Try below steps:Close the Eclipse if running Go to the Android SDK tools directory in Command Prompt type adb kill-server then type adb start-server No error message is thrown wh...

2019-01-30 15:33:49 457

转载 AsyncTask的用法

 在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包       当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如...

2019-01-30 15:26:36 579

转载 Android Monkey黑盒测试

一、Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。 二、Monkey程序介绍1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework...

2019-01-30 15:11:49 461

原创 INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES错误解决方法

adb is running normally. Performing com.xxx.xxx activity launch Automatic Target Mode: using device 'XXXX' Uploading XXX.apk onto device 'XXXX' Installing XXX.apk... Application already exis...

2019-01-30 15:02:40 485

原创 更改Android AVD模拟器创建路径位置的方法

Android AVD模拟器默认路径为c:\user\用户名\.android\avd,欲将其移植到d盘下,方法为:建立文件夹在D盘下建立Android_sdk_home文件夹,在其下建立.android子文件夹(注意前面有个点,如果系统提示请输入文件名,则将原路径下的文件夹拷贝过来即可),再在.android下建立avd文件夹,即建立了D:\Android_sdk_home\.andro...

2019-01-30 14:57:40 4607 3

原创 Android模拟器访问本地Web应用

如何在Android模拟器上访问本地的Web应用? 例如,在你的开发机器上启动一个Tomcat服务,接着打开电脑上的浏览器,默认情况下输入http://localhost:8080/就能够访问到Tomcat的主页面;那么,如果我们想在Android模拟器上来访问,可以吗?答案是肯定的,但是访问的URL会有所变化,这又是为什么呢?请继续往下看。        在一般的Java Web程序开发中,...

2019-01-30 14:52:03 1416

原创 浅谈Android的selector背景选择器

关于Listview和Button都要改变Android原来控件的背景,现在谈一下Android的selector的用法。首先Android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的...

2019-01-28 16:33:50 368

原创 Android获取SD卡视频音频文件

获取视频文件: ContentResolver contentResolver = mContext.getContentResolver();        String[] projection = new String[]{MediaStore.Video.Media.TITLE};        Cursor cursor = contentResolver.query(Medi...

2019-01-28 16:02:50 2822 1

原创 在managedQuery()和getContentResolver().query()方法中实现结果去重

有时候,我们需要对查询的数据库结果进行去重。在SQL中我们可以通过distinct关键字实现,但是当我们使用android提供的managedQuery()或getContentResolver().query()方法对数据库进行查询时,并不能使用distinct关键字。首先,让我们来了解一下android中query方法吧。当我们调用android系统的query操作的时候,androi...

2019-01-28 15:10:16 1106

原创 Android布局中设置android:gravity和android:layout_gravity属性

LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。 他们的区别在于: android:gravity属性是对该View中内容的限定。比如一个button 上面的text,你可以设置该text相对于View的靠左,靠右等位置。 android:layout_gravity是用来设置该view相对与父...

2019-01-28 15:06:30 722

原创 下拉框spinner获取选中值的几种方法

spinner绑定的值一般分3种形式存放:    1、存放在java页面的数组中:{"湖北","武汉","荆州"}    2、存放在strings.xml文件中    3、存放在数据库中,调用接口获得    1、2是在一般的页面中比较常用,这样你的页面看起来不会很乱。    3是需要调用接口,这里暂时不说。    下面就来对前两种方式的取值,进行说明。    1、若存放...

2019-01-28 14:50:35 5459

原创 Android实现ListView异步加载图片

ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好import java.io.IOException;   import java.io.InputStream;   import java.lang.ref.SoftReference;   import java.net.MalformedURLException;   ...

2019-01-25 18:06:06 145

转载 如何为你的Android应用缩放图片

为了避免最常见的图片缩放问题。如下面的例子:Bitmap unscaledBitmap = BitmapFactory.decodeResource(getResources(), mSourceId);Bitmap scaledBitmap = Bitmap.createScaledBitmap(unscaledBitmap, wantedWidth, wantedHeight, tru...

2019-01-25 17:41:56 193

原创 Drawable转换为Bitmap两种方法

如果通过网络加载了一张位图,想拿到这张位图的Bitmap,有两种办法:1,根据已有的Drawable创建一个新的Bitmap:private Bitmap bitmap;private void drawableToBitamp(Drawable drawable) { int w = drawable.getIntrinsicWidth(); ...

2019-01-25 17:35:08 7548 4

原创 ListView.setOnItemClickListener无效

如果ListView中的单个Item的view中存在checkbox,button等view,会导致ListView.setOnItemClickListener无效,事件会被子View捕获到,ListView无法捕获处理该事件.解决方法:在checkbox、button对应的view处加android:focusable="false"   android:clickable="...

2019-01-25 17:24:13 311 1

原创 Android的OnTouchListener、OnClickListener等事件响应

给listview添加onItemClickListener、onItemLongClickListener、onTouchEvent三种事件的时候,只执行了onTouchEvent事件,而其他的两个事件未执行。解决办法:在对应的onTouchEvent的action里面设置return false;当执行到该action的时候就会返回false,前两个事件就会执行了。      Andr...

2019-01-25 17:15:17 1328

原创 关于Android应用程序的入口

 Android应用程序,由一到多个Activity组成。每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity.        Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+p...

2019-01-24 17:33:04 2792

原创 Android中的ellipsize

textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。textview中有个内容过长加省略号的属性,即ellipsize,可以较偷懒地解决这个问题。用法如下:在xml中android:ellipsize = "end"  省略号在结尾android:ellipsize = "start" 省...

2019-01-24 17:13:45 559

原创 Android中两种设置全屏的方法

在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改。一、在代码中设置: import android.app.Activity; import android.os.Bundle; import android.view.Window; import an...

2019-01-24 16:57:30 1270

原创 JAVA参数传递

 先看基本类型作为参数传递的例子:public class Test1 {       public static void main(String[] args) {        int n = 3;        System.out.println("Before change, n = " + n);        changeData(n);        Syst...

2019-01-24 11:43:31 164

原创 JAVA实现把网页的图片下载下来

在Java下抓取网页上的图片并保存到本地文件夹中技术实现:import java.net.URL;import java.net.MalformedURLException;import java.io.IOException;import java.io.FileNotFoundException;import java.io.BufferedInputStream;...

2019-01-24 11:28:03 4693 1

原创 JAVA字符串转日期或日期转字符串

用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,用法: SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制。1...

2019-01-24 11:24:32 10347

空空如也

空空如也

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

TA关注的人

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