android
沈小池
尘世间一个迷途小码农,可平凡不可平庸
展开
-
Android应用中使用及实现系统“分享”功能(多个文件,多种媒体格式触发)
最近在实现将项目的应用添加到系统的分享功能中,然后查看了张先生http://blog.csdn.net/xyz_lmn/article/details/16856843的博客,发现很不错,亲测可以,然后自己是需要各种多媒体都希望它能触发得到,比如文件,音频,或者一些没有后缀的文件,然后自己根据张前辈的做法,直接在申明intent-filter中设置mimeType="*/*"即可,此时无论是图原创 2016-11-19 14:01:29 · 2886 阅读 · 0 评论 -
工具类:将文件大小转化为带有B、KB、MB、GB的字符串
有时候我们需要将文件的大小进行显示,对于普通用户来说,最直观的是显示带单位的大小数值,比如3KB,10MB之类的,因为项目内用的比较多,所以就封装一个工具类方便使用:package com.example.yzb.myapplication;import java.text.DecimalFormat;public class FileUtils { /** * 根据...原创 2018-07-01 15:24:11 · 1414 阅读 · 0 评论 -
报错:File.listFiles遇到名字为中文乱码的文件会崩溃
报错:File.listFiles遇到名字为中文乱码的文件会崩溃解决方法:①测试:在Manifest.xml中的<application中加入 android:的不尴尬不了= “false”即可②正式签名:正式签名打包时,IDE会自动设置这个值,不需要手动设置...原创 2018-07-01 15:30:00 · 4005 阅读 · 2 评论 -
报错:“android.content.res.Resource$NotFoundException:String resource ID#0x1”
原因:设置TextView的setText时将int型数值直接传递进去:错误的写法: textView.setText(3);正确的写法: textView.setText("3");这种往往是不够细心所致。不知道为什么,我的IDE在写的时候没有报错,编译的时候也没报错,但运行触发时才报这个错误,郁闷。...原创 2018-07-01 17:54:58 · 197 阅读 · 0 评论 -
报错:在使用开源项目Android-Universal-Image-Loader报错
报错:在使用开源项目Android-Universal-Image-Loader报错“java.lang-RuntimeException:ImageLoader must be init with configuration before using”解决方法:在使用前,初始化一下:imageLoader.init(ImageLoaderConfiguration.createDefault(x...原创 2018-07-01 17:58:18 · 222 阅读 · 0 评论 -
自动化测试monkey的简单使用
步骤:①先链接测试手机(需要root)②命令行输入:adb shell //进入shell窗口③命令行输入:cd data/data④命令行输入:ls //显示包名,有时候需要先获取root权限:su⑤命令行输入:monkey -p 包名 -v 测试次数参数:在⑤中增加以下参数意思:--ignore crashes : 忽略App的崩溃--hprof : 生...原创 2018-07-01 18:05:44 · 168 阅读 · 0 评论 -
生成系统本地缩略图和删除系统本地缩略图
项目需求:在本地系统添加图片文件后,本地系统不能立刻就生成其对应的缩略图;而删除本地图片文件后,有些版本的系统或者不同的厂商手机,不会立即将其对应的本地系统缩略图删除,要重启手机才能更新,此时就需要我们手动去强制处理:【1】生成本地缩略图: /** * 让本地系统生成缩略图 * @param context 上下文句柄 * @param path 要生成缩略图的...原创 2018-07-01 18:20:22 · 324 阅读 · 0 评论 -
报错:“java.tuil.ConcurrentModificationException”
现象:在使用迭代器遍历时,报错“java.tuil.ConcurrentModificationException”解决方法:使用ConcurrentHashMap替换HashMap,ConcurrentHashMap会自己检查修改操作原创 2018-07-01 18:26:41 · 153 阅读 · 0 评论 -
沉浸式模式
转载:郭大神的Android沉浸式状态栏完全解析沉浸式模式:package com.example.yzb.myapplication;import android.graphics.Color;import android.os.Build;import android.os.Bundle;import android.support.v7.app.ActionBar;import ...转载 2018-07-08 23:28:48 · 223 阅读 · 0 评论 -
报错:android.database.CursorIndexOutOfBoundsException
解决方法:使用Cursor之前先调用cursor.moveToFirst()原创 2018-07-03 21:54:54 · 2788 阅读 · 0 评论 -
Android中,如何从第三方应用调用自己的应用(解决在手机QQ无法调用自己应用的问题),
现在项目有个需求,在第三方应用内点击文件,会根据自定义后缀跳转到我自己的应用来,按照网上常规的方法,大部分是支持的,直到我在手机QQ点击发现并不能实现,后来找了一天终于找到如何在手机QQ点击文件跳转到自己的应用,现在总结一下:场景:自定义后缀文件为.abc文件,需要在其他应用中点击带有自定义后缀的文件时,直接跳转到自己的应用进行处理。代码如下: <!--1-->...原创 2018-06-29 00:46:16 · 2512 阅读 · 0 评论 -
报错:ScrollView can host only one direct child
原因:ScrollView内部只能有一个子元素,即不能并列两个以上子元素解决方法:将所有的子元素放到一个LinearLayout、RelativeLayout等ViewGroup布局当中。原创 2018-06-29 01:12:41 · 302 阅读 · 0 评论 -
如何确保应用布局、文字和界面不随系统设置大小而变化
以往在应用开发当中,经常进行设配各种问题,要么系统版本,要么是厂商定制的系统不同而进行适配,但前几个月有一个用户喜欢自己改变系统的文字大小,最终导致应用布局乱掉,以往还真的没有测试过这个问题,当时没时间记下来,现进行总结记录;解决方法:在自定义的MyApplication(继承Application)中,重写onConfigurationChanged()和getResources()packag...原创 2018-07-01 15:02:20 · 2325 阅读 · 0 评论 -
android刷新媒体库
因为项目需要,对文件进行操作完后,如果不手动立即刷新本地媒体库,本地查看是无法查看实时的效果,要重启手机,如果需要立即刷新本地媒体库,则调用以下代码:package com.example.yzb.myapplication;import android.content.Context;import android.content.Intent;import android.media.M...原创 2018-07-01 11:55:38 · 2667 阅读 · 0 评论 -
两句话总结onNewIntent()
如果该Activity不存在,还未创建的,那创建时不会调用onNewIntent();如果该Activity已经存在,重用该Acitivity时,此时就会调用onNewIntent();原创 2016-12-08 10:40:11 · 414 阅读 · 0 评论 -
启动AndroidStudio时报the SDK platform-tools version(xxx) is too old to check APIs cimpiled with API xxx
启动AndroidStudio时,报错“the SDK platform-tools version(xxx) is too old to check APIs cimpiled with API xxx”【解决方法】:【settings】-->【Appearance&Behavior】-->【System Settings】-->【Android SDK】 -->【SDK Too原创 2017-07-04 18:26:17 · 546 阅读 · 0 评论 -
如何理解Bundle传递数据与直接用intent传递数据
打个比方:传递数据就像是用货车将一些货物运送到目的地:直接用intent传递数据,就是把货物A、货物B、货物C逐件逐件放进货车中,然后让货车运走;使用Bundle传递数据,就是先将货物A、货物B、货物C放进一个纸箱里,然后将这个纸箱放进货车中,让货车运走;个人觉得,如果是少量数据时,建议用intent直接传递比较方便;如果是多种数据,建议用Bundle传递,比较有条理。原创 2016-12-08 10:47:43 · 437 阅读 · 0 评论 -
Android 客户端性能优化(魅族资深工程师毫无保留奉献)
原文地址:http://gold.xitu.io/entry/5747fc9471cfe4006bca4c92/promote?utm_source=baidu&utm_medium=keyword&utm_content=android_optimization&utm_campaign=q3_search本文由魅族科技有限公司资深Android开发工程师degao(嵌入式企鹅圈原创团队转载 2016-11-29 11:07:24 · 478 阅读 · 0 评论 -
解决启动Genymotion,在启动时,选择个人用户后,在EULA Acceptance界面黑屏
最近安装模拟器,在启动Genymotion时,选择个人用户后,在EULA Acceptance界面黑屏。解决方法:1.让EULA Acceptance窗口获取焦点(即用鼠标点击该窗口)2.点击【Tab】两次3.点击【空白键】一次4.点击【Tab】两次5.点击【空白键】一次即可原文链接:https://stackoverflow.com/questions翻译 2017-07-05 15:57:27 · 988 阅读 · 0 评论 -
Android 解决为什么自己的应用在后台进行切换滑动时,经过自己应用会卡顿、不流畅的问题
场景1:打开自己的应用后,将其切换到后台,然后点击后台进行查看各个在后台的应用时,经过自己的应用,会变得卡顿、不流畅场景2:在某些手机,可以在设置里面的更多应用处,有查看正在运行的程序的列表,经过自己的应用时,会变得卡顿,不流畅场景3:自己的应用在Manifest.xml进行了隐式调用,让别的应用可以在点击【使用其他应用打开】时触发弹出可选择列表时,变得卡顿,不流畅,甚至会导致别的应用会退出(亲测...原创 2018-06-30 00:33:12 · 2434 阅读 · 0 评论 -
报错:“windowManager$BadTokenException:Unable to add window--token null is not for an application”
原因:AlertDialog.Builder新建对象时,不能用Application的Context方法解决方法:使用活动的Context,比如 new AlertDialog.Builder(MainActivity.this);原创 2018-06-30 01:16:07 · 1557 阅读 · 0 评论 -
UDP通信小结(发送与接收)
package com.example.yzb.myapplication;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import...原创 2018-06-30 19:01:10 · 3637 阅读 · 1 评论 -
报错:“Packet address mismatch with connected address”
原因:客户端与服务器以UDP连接时,使用了bind()方法进行绑定服务器(目标)的IP和端口,接着客户端以UDP与另一个客户端进行P2P通信时报错,此时已与第一次的目标绑定。解决方法:第一次进行UDP通信时,直接使用PatagramPacket packet = new DatagramPacket(data,data.length);构造,不要使用bind绑定...原创 2018-06-30 19:05:49 · 603 阅读 · 0 评论 -
已经注册和注销过广播,但依然会报“Receiver not registered”
解决办法:增加一个标识作为是否注册过广播如:(具体广播的就不写了,只写关键点)package com.example.yzb.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;public class BrocastReceiverActivity extends ...原创 2018-06-30 19:17:00 · 2139 阅读 · 0 评论 -
报错:“java.lang.RuntimeException:Unable to start activity componentInfo...java.lang.NullPointerExcept”
报错:“java.lang.RuntimeException:Unable to start activity componentInfo...java.lang.NullPointerException”解决方法:对应的res资源分(v21)版本处理,即再建一个v21的资源文件即可...原创 2018-06-30 19:20:24 · 875 阅读 · 0 评论 -
报错:“java.lang.RuntimeException:Some file crunching failed,see logs for details”
解决方法:在build.gradle文件中加入android{... aaptOptions{//禁止gradle检查png的合法性 cruncherEnable = false userNewCruncher = false }}出现的原因:①构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀②图片.jpg修改为.png③9path图片也可能出现这...原创 2018-07-01 11:36:25 · 604 阅读 · 0 评论 -
Android性能优化总结
一、性能优化:分为三个大方向:布局优化、绘制优化、内存优化(1)布局优化(5种):①删除布局中无用的控件和层级②有选择地使用性能较低的ViewGroup。既可以使用RelativeLayout和LinearLayout时,且不影响层级的前提下,选择LinearLayout。RelativeLayout会对子View进行两次的onMeasure,横向和纵向各一次。而Linea...原创 2018-10-18 01:11:01 · 233 阅读 · 0 评论