
Android总结篇
fengyongge_
公众号:移动端开发的那些事
展开
-
Android 8.0(O)+后台服务适配
问题Not allowed to start service Intent XXX : app is in background uid UidRecord项目很早targetSdkVersion升到了28(Android 9.0§),一直忙业务,最近查看了下后台报错信息,发现几个崩溃次数比较多的问题,共同点都是项目中的后台service,报错信息如下Not allowed to start service Intent XXX : app is in background uid UidRecord原创 2020-06-28 22:53:11 · 1104 阅读 · 0 评论 -
android studio中遇到Duplicate files copied in APK META-INFTICE.txt
Error:Execution failed for task ':eopen:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplic原创 2016-02-22 14:35:31 · 611 阅读 · 0 评论 -
as上签名文件在Android Studio中的.jks文件代替在eclipse时.keystore
生成jks签名文件选择Build > Generate Signed APK…选择项目app > Next选择Create new…选择签名文件的路径,这些信息和eclipse一样了,填完点击OK选择Next我们这里做测试选择qihu360和xiaomi打包release版,最后点击Finish等待生成...原创 2016-02-18 15:19:52 · 7485 阅读 · 0 评论 -
as导入eclipse项目出现There are unrecoverable errors which must be corrected first
1)引入Eclipse的项目File----new---import—选择一个eclipseproject(必须是这个project最顶层的文件夹)然后会报错:"There are unrecoverable errors which must be corrected first"然后这么改:把eclipse的project里面的the project.pro原创 2016-02-17 13:44:58 · 4985 阅读 · 2 评论 -
Android Studio 报Indexing paused due to batch updated
1. 退出AS,去项目目录下删除项目module下所有的.impl文件,删除项目所有的.idea文件2. Invalidated the cache and restarted Android Studio 3. 退出重启原创 2016-02-01 16:34:51 · 427 阅读 · 1 评论 -
Android中向webview注入js代码
Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码。但是当需要注入一整个js文件的时候,需要先将js文件拼接到html文件后,在webview的onPageFinished方法中执行js代码注入。第一种方法:URL url = new URL("http原创 2015-12-03 22:48:55 · 7566 阅读 · 0 评论 -
屏蔽setChecked方法对OnCheckedChangeListener的影响(CheckBox,SwitchButton)
问题执行到setchecked()方法,会自动调用OnCheckedChangeListener()这个接口解决方法:第一种:区分开人为点击和执行setChecked()函数,在监听器中加入一个判断,是否按下: public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { /...原创 2015-12-29 23:43:30 · 1950 阅读 · 0 评论 -
权限导致apk安装包安装失败
由于项目需要集成im,集成之后发下有android5.0的用户安装不了我们项目安装包,安装调试提示Installation error: INSTALL_FAILED_DUPLICATE_PERMISSION perm=android.permission.BAIDU_LOCATION_SERVICE pkg=com.job.android。最后发现是一个权限问题,因为我们清单文件集成了第三方的这原创 2015-09-17 18:50:13 · 5332 阅读 · 0 评论 -
TextView中文字通过SpannableString设置属性
//创建一个 SpannableString对象 SpannableString msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合"); //设置字体(default,default-bold,monospace,serif,sa转载 2015-10-09 13:36:48 · 489 阅读 · 0 评论 -
Android中的onActivityResult和setResult方法的使用
如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方法打开新的Activity,新的Activity关闭后会向前面的Activity传回数据,为了得到传回的数据,你必须在前面的Activity中重写onActivityResult(int re原创 2014-12-14 14:56:58 · 861 阅读 · 0 评论 -
EditText字数限制
1.android EditText插入字符串到光标所在位置EditText mTextInput=(EditText)findViewById(R.id.input);//EditText对象int index = mTextInput.getSelectionStart();//获取光标所在位置String text="I want to input str";Editab原创 2015-11-03 21:11:00 · 442 阅读 · 0 评论 -
Js调用android方法
1.允许WebView执行JavaScript webView.getSettings().setJavaScriptEnabled(true);2.添加一个对象, 让JS可以访问该对象的方法, 该对象中也可以调用JS中的方法 webView.addJavascriptInterface(new mJavaScriptinterface(), "contact")原创 2015-09-30 18:03:59 · 693 阅读 · 0 评论 -
Android 手动显示和隐藏软键盘
1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)[java] view plaincopyprint?InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0,原创 2015-09-15 16:31:09 · 450 阅读 · 0 评论 -
Broadcast Receiver简介
Broadcast Receiver是Android的四大组件之一 用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、广播接收者(BroadcastReceiver)用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()原创 2015-09-10 23:56:17 · 350 阅读 · 0 评论 -
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 the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?Context中有一个start原创 2016-03-09 17:17:14 · 538 阅读 · 0 评论 -
ListView的addHeaderView和setAdapter的调用顺序
ListView想要添加headerview的话,就要通过addHeaderView这个方法,然后想要为ListView设置数据的话,就要调用setAdapter方法了。但是,在调用addHeaderView和setAdapter的顺序上,有时会爆出java.lang.IllegalStateException: Cannot add header view to list -- setAdapt原创 2016-04-05 14:54:35 · 539 阅读 · 0 评论 -
android学习前必备java基础
java基础原创 2016-06-09 21:45:42 · 697 阅读 · 0 评论 -
Rxjava2.0操作符总结
前言Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎,它提供了丰富 & 功能强大的操作符。原创 2019-03-28 23:41:06 · 343 阅读 · 0 评论 -
在组件化开发中ARouter的坑
Program type already present: com.alibaba.android.arouter.routes.ARouter$$Providers$$app原创 2019-03-04 13:17:22 · 2193 阅读 · 3 评论 -
友盟Could not find class 'com.umeng.analytics.d'
趁这两天有点时间把之前Eclipse老项目转成Android studio项目,虽然老项目不增新功能了,但是还有一批用户,还得维护,再说了万一产品无聊在给你来点刺激的功能呢,就这样自己给自己挖的坑,各种坑啊,除了图片资源,一些旧方法更换,还有更新gradle……,还有一个不得不提的坑就是来自第三方的。例如友盟报的Could not find class 'com.umeng.analytics.d...原创 2017-03-18 16:22:51 · 957 阅读 · 0 评论 -
android:windowSoftInputMode属性详解以及editText监听键盘回车会执行两次的解决方法
android:windowSoftInputMode各值的含义:stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示stateHidden:用户选择activity时,软键盘总是被隐藏stateAlwaysHidde原创 2017-06-08 16:45:08 · 972 阅读 · 0 评论 -
android studio安装app异常-DELETE_FAILED_INTERNAL_ERROR
小米手机安装app,android studio一直提示:DELETE_FAILED_INTERNAL_ERRORError while Installing APP如下图在MIUI 开发者选项中关闭 MIUI优化,重启手机以后,最后问题解决,不知道其他帖子说那么多,在说什么……原创 2017-05-02 11:01:54 · 6961 阅读 · 0 评论 -
关于dialog引起的IllegalArgumentException
错误日志总发现这个错误 java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{24933b1f V.E….. R…..I. 0,0-0,0} not attached to window manager从字面意思是非法参数报错,找到报错的那一行发现是 dia原创 2017-04-07 10:57:42 · 1483 阅读 · 0 评论 -
Android本地App与html5的交互
介绍:Android的开发中除了本地app的处理外,有时需要与html5的交互,与html5的交互无非两种情况。1:html5调用app本地的方法。例如,在一个网页上点击一个分享按钮控件,这时会弹出本地原生的一键分享界面,通过html5调用本地方法将值传给本地分享所需的值。2:app调用html5的javaScript方法。同样是分享,例如,在app上原生界面上点击分享按钮原创 2016-10-20 10:03:44 · 2463 阅读 · 0 评论 -
dump View Hierarchy for UI automator
学习布局的好工具dump View Hierarchy for UI automator,效果图如下:左侧部分点击按钮,就会实时刷新手机app的页面,当鼠标点击界面时,右侧1就是显示当前页面的布局,2为你选择控件的属性,是不是很方便查看其它app布局。原创 2016-07-08 18:18:05 · 3547 阅读 · 2 评论 -
colorAccent,colorPrimary,colorPrimaryDark做什么的?
伴随Android5.0+之后,除了新增一些ToolBar、recyclerview、cardview等控件,MD的设计,App样式也改变了一些。原创 2016-06-29 11:14:07 · 13528 阅读 · 3 评论 -
[adb]常用命令
[adb]常用命令adb的全称是Android Debug Bridge - adb start-server 启动adb服务,如果它没启动的话 2.adb kill-server 关闭服务 adb devices 查看所连接的设备以及设备所对应的序列号 adb install -r xxxx.apk 安装app,需要注意的是如果连接了两台设备,则会报错,此时可以添加-s 来处理原创 2016-06-26 23:59:09 · 299 阅读 · 0 评论 -
Android通用流行框架大全
1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的原创 2016-05-08 16:15:11 · 1323 阅读 · 0 评论 -
[Android]libpng error: Not a PNG file错误解决
[Android]libpng error: Not a PNG file错误解决将Eclipse中的项目import移到android studio中后,出现了AAPT err(Facade for 157667509): libpng error: Not a PNG file错误,提示信息显示图片非PNG格式。解决方法:在as中依次点开每个后缀名为png的图片,点ImgaeFileEditor原创 2016-05-26 14:55:37 · 1931 阅读 · 0 评论 -
TextView加载html图片有问题
textView是不只可以String的,我们平常用的给setText()方法传递String参数的时候,其实是调用的public final void setText (CharSequence text)方法,String类是CharSequence的子类。而CharSequence子类众多,其中有一个接口Spanned,即类似html的带标记的文本。我们可以用它来在TextView中转载 2016-04-18 13:02:37 · 2174 阅读 · 0 评论 -
textView画横线需求
Android TextView(EditView)文字底部或者中间 加横线tv = (TextView) this .findViewById(R.id. text_view ); 中间加横线 tv.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); 底部加横线: tv .getPaint().setFlags(Pain原创 2015-09-06 11:57:40 · 792 阅读 · 0 评论 -
android 图片压缩方法
android做多图上传时,压缩比小的或回报内存溢出问题,太大的话会导致图片不清晰,所以图片压缩很重要。第一:质量压缩法:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compr原创 2015-08-14 14:19:52 · 618 阅读 · 0 评论 -
反编译介绍
反编译工具包 下载 一、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码原创 2014-09-10 11:37:40 · 368 阅读 · 0 评论 -
网络数据传输socket和http优缺点
1 数据传输方式1.1 Socket传输的定义和其特点 所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDP和TCP两个协议。Socket处于网络协议的传输层。 UDP协议:广播式数据传输,不进行数据验证 TCP协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,Socket 传输的特点: ...原创 2014-08-25 18:22:04 · 12329 阅读 · 1 评论 -
apk签名问题
1:为什么要签名?2:怎么qu原创 2014-08-22 15:48:28 · 620 阅读 · 0 评论 -
图片异步加载java.lang.IllegalStateException: ImageLoader must be init with cconfiguration before using问题
在Android应用程序开发中在网络中加载图片、、、会出现 java.lang.IllegalStateException: ImageLoader must be init with configuration before using原创 2014-08-19 14:39:35 · 2244 阅读 · 0 评论 -
android客户端—AsyncTask的使用
在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启原创 2014-07-13 10:12:36 · 451 阅读 · 0 评论 -
Android异步处理
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理转载 2014-07-27 22:01:50 · 322 阅读 · 0 评论 -
BroadcastReceiver
Braodcast Receiver顾名思义就是广播接收器,它和时间处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),而广播事件处理机制是系统级别的。我们可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息。我们同样可以在自己的应用程序中实现Broadcast Receiver来监听和响应广播的Intent。事件转载 2014-07-28 09:54:11 · 721 阅读 · 0 评论 -
Android-【DDMS】 工具---调试器和监控工具介绍
DDMS 的全称是Dalvik Debug Monitor Service,端口转发服务,可使ddms成为ide和设备的代理手机设备屏幕截图设备的线程和堆栈信息日志信息进程信息广播状态信息模拟电话呼叫接收SMS虚拟地理坐标射频状态信息其他如何启动 DDMS前提:请先启动android-SDK模拟器或者链接手机设备;DDMS 工具存放在SDK – tools/路径转载 2014-07-24 23:05:23 · 542 阅读 · 0 评论