
【Android基础】
文章平均质量分 91
幻影浪子
临渊慕鱼,不如退而结网
展开
-
理解android中的内部存储与外部存储(续)
前一篇博客中介绍了Android6.0运行时权限简介,最近遇到这么一个情况,就是一个App以前都是在SD卡根目录直接新建了一个XXX/image/目录,来保存图片缓存的,但是如果适配到Android6.0,我们就需要弹出对话框给用户,来申请WRITE_EXTERNAL_STORAGE权限,如果仅仅是缓存图片为了提高加载速度,对于一个小白用户来讲,好像并不是什么值得让他授权的理由。。。下面记录一下我是怎么处理的,其实这次处理也不能叫做Android6.0权限适配了,不过对于WRITE_EXTERNAL_S转载 2021-09-29 17:15:09 · 472 阅读 · 0 评论 -
App跳转微信小程序、微信公众号
跳转微信小程序:跳转规则对于已通过认证的开放平台账号,其移动应用可以跳转至任何合法的小程序,且不限制跳转的小程序数量。对于未通过认证的开放平台账号,其移动应用仅可以跳转至同一开放平台账号下小程序。注意:若移动应用未上架,则最多只能跳转小程序100次/天,用于满足调试需求。 IWXAPI api = WXAPIFactory.createWXAPI(this, "wx161xx7530axxa5vv", false); if (api.isWXAppInstalled(原创 2020-09-22 20:49:43 · 10048 阅读 · 2 评论 -
梆梆加固,启动就闪退了
今天尝试用了梆梆加固,结果启动就闪退了。错误信息如下,毫无头绪。03-07 13:51:27.142 6520 6520 E CrashHandler: In thread: Thread[main,5,main]03-07 13:51:27.142 6520 6520 E CrashHandler: UncaughtException detected: java.lang.Abs...原创 2019-03-07 13:59:15 · 2633 阅读 · 0 评论 -
查看apk文件的签名类型(V1、V2)
命令:apksigner verify -v xxx.apk结果:VerifiesVerified using v1 scheme (JAR signing): trueVerified using v2 scheme (APK Signature Scheme v2): falseNumber of signers: 1表示此安装包使用了V1签名,没有使用V2签名。apksi...原创 2018-12-27 17:10:56 · 10544 阅读 · 0 评论 -
Android5.0新增的两个XML属性elevation和translationZ
android:elevation 设置该组件“浮”起来的高度,同时设置该属性可以让该组件呈现3D效果(就一圈阴影效果)。注意:该属性会影响View层级。对应的Java方法:setElevation(float)android:translationZ 设置该组件在Z方向(垂直屏幕方向)上的位移。对应的Java方法:setTranslationZ(float)原创 2017-05-12 11:06:45 · 4989 阅读 · 0 评论 -
ButterKnife框架原理
原文: http://bxbxbai.github.io/2016/03/12/how-butterknife-works/大部分Android开发应该都知道@JakeWharton 大神的ButterKnife注解库,使用这个库我们可以不用写很多无聊的findViewById()和setOnClickListener()等代码ButterKnife项目的主页在这里:http://jakewhar转载 2016-08-18 10:24:24 · 1878 阅读 · 0 评论 -
Retrofit2 源码解析
原文链接:http://bxbxbai.github.io/2015/12/13/retrofit2-analysis/开发Android App肯定会使用Http请求与服务器通信,上传或下载数据等。目前开源的Http请求工具也有很多,比如Google开发的Volley,loopj的Android Async Http,Square开源的OkHttp或者Retrofit等。我觉得Retrofit转载 2016-08-18 10:22:44 · 2306 阅读 · 0 评论 -
Mac AndroidStudio 错误
错误信息:Log path '/Users/robot/Library/Logs/AndroidStudio1.4' is inaccessible. If you have modified the 'idea.log.path' property please make sure it is correct, otherwise please re-install it.如图尝试如下做法:rm原创 2015-11-20 22:57:08 · 5171 阅读 · 0 评论 -
Android Lib Project与Android Project中R文件的区别
Android Lib Project中生产的R文件内,都不是常量。/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modifie原创 2015-03-11 13:48:04 · 4047 阅读 · 2 评论 -
小米2及其他Android手机无法连接mac解决方案
一般的android连接mac 很方便不用安装驱动就可以,可是不知道为什么有些就是连接不上,比如小米2.下来就说说这些情况下如何连接。1.关于本机-->更多信息->概系统览->系统报告->usb->选择你所连接的device-->找到供应商ID(Vendor ID)。 (小米2的话,一般就是0x2717)2.终端执行如下命令: echo 0x2717 >> ~/.android/adb_us原创 2014-02-28 14:59:49 · 4580 阅读 · 0 评论 -
[Android Lint] xxx is not translated in xxx 的解决方法
在Android SDK Tool r19之后, Export的时候遇到xxx is not translated in xxx的问题。例如:"auto_exit" is not translated in zh, zh_CN这是因为Android SDK Tool 將 ANDROID_LINT_COMPLETE_REGIONS 改为了需要检查。 建议先尝试Clean, 一般可以解决。实在不行修改原创 2013-04-22 17:42:31 · 37439 阅读 · 2 评论 -
[Loader] 从startLoading()说开去..
上一篇主要理了下LoaderCallback, 其中看到LoaderManager在initLoader之后自动调用了Loader的startLoading方法; 这一篇继续理Loader !最后我们就可以把Loader执行过程的整个生命周期画出来了。先看结构吧,Loader简单多了。该类源码查看: http://www.oschina.net/code/explore/android-4.0.1原创 2012-11-22 15:47:50 · 5767 阅读 · 2 评论 -
[LoaderManager]从getLoaderManager().initLoader(0, null, this);说开去
首先一起看一下整个LoaderManager类文件, 尼玛..源码: http://www.oschina.net/code/explore/android-4.0.1/core/java/android/app/LoaderManager.java 先来看下getLoaderManager方法: public LoaderManager getLoaderManager() {原创 2012-11-22 14:38:54 · 10430 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Object returned from onCreateLoader must not be a non-static inn
AsyncTaskLoader: http://developer.android.com/intl/zh-CN/reference/android/content/AsyncTaskLoader.html 错误信息:java.lang.IllegalArgumentException: Object returned from onCreateLoader must not be a non-s原创 2012-11-22 13:14:28 · 6702 阅读 · 0 评论 -
[Android] Failed to allocate memory: 8
Failed to allocate memory: 8This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information.原来是我PC显示分辨率不够;显示分辨率为: 144原创 2012-10-19 23:37:09 · 5818 阅读 · 1 评论 -
[Android] 无法创建项目问题解决
提示如上图。解决办法:1. 删除原目录下的 android-compatibility 文件夹2.点击“Install/Upgrade”3.完成建议不要把android-compatibility下的内容复制到 extras/android下, 以免内容不一致以后还是有莫名其妙的问题。下载自动安装,反正文件不大。原创 2012-10-11 13:41:54 · 3076 阅读 · 0 评论 -
Android广播的一些事
1. 开机启动广播 大家都知道,1.申请权限 2.注册广播 <receiver android:name=".StartServiceAtBootReceiver" android:enabled="true" android:exported="false" android:label="StartServiceAtBootReceiver"> 实际原创 2012-08-22 10:23:39 · 2080 阅读 · 0 评论 -
腾讯微博 check sign error
使用腾讯微博时遇到了这个问题,微博无法发布, 返回 {"data":null,"errcode":-100,"msg":"check sign error","ret":3} 。 腾讯官方没有对应此错误的说明,遂问谷姐、度娘; 发现一堆类似错误, 如下:{"data":null,"errcode":-22,"msg":"check sign error","ret":3} http://o原创 2012-07-10 16:18:57 · 6884 阅读 · 3 评论 -
如何去除ListView中Header、Footer View中的分割线
(图中显示图片的 Item 是在Header、Foot View中的)最近有一个需求, 需要在ListView 的 HeaderView中 添加多个View, 最后发现每个View中都有一条分割线。 效果如图中第一张图片! 本来以为只要设置 android:headerDividersEnabled="false" 就可以让Header中的分割线消失,但实际并非如此啊, 设置后如图中第二张图; 分原创 2012-06-29 13:05:20 · 31935 阅读 · 15 评论 -
android:repeatCount="infinite"在set中无效
xml如下:<set xmlns:android="http://schemas.android.com/apk/res/android" android:repeatCount="infinite" android:repeatMode="restart"> <alpha android:fromAlpha="0.0" and原创 2012-06-19 15:37:34 · 21027 阅读 · 2 评论 -
Error generating final archive: Debug Certificate
Error generating final archive: Debug Certificate expired on这样的编译错误是由于新版的Android SDK调试key有1年的试用期限制,SDK安装了一年后会出现这样的问题,解决的方法只需要删除早期的key文件即可,系统默认的key文件在Eclipse的Window菜单的 Preferences->Android -> Build 菜单下原创 2012-06-18 10:24:36 · 1970 阅读 · 0 评论 -
【吐槽】INSTALL_FAILED_MISSING_SHARED_LIBRARY错误
在做一个Google map的工程,安装到“行货”真机时出现INSTALL_FAILED_MISSING_SHARED_LIBRARY错误。0、两台水货手机安装时完全没问题,切可以正常使用;1、检查了AndroidManifest.xml,已经写了 2、检查了apikey也是正确,还是报INSTALL_FAILED_MISSING_SHARED_LIBRARY错误错误。最后发现是这台行货手机中没有原创 2012-05-15 16:41:49 · 3044 阅读 · 2 评论 -
Android SDK Tools 19出了
Android SDK Tools 19出了? 可官网上最新版还是18啊.. http://developer.android.com/sdk/tools-notes.html原创 2012-04-16 12:42:18 · 3611 阅读 · 2 评论 -
[Anroid Widget]问题集锦
1. updatePeriodMillis不执行<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="8640000原创 2012-04-11 16:36:59 · 3557 阅读 · 2 评论 -
[Mobile Web]Web中如何分辨移动设备?(iPad、iPhone、Android)
第一种, jqueryvar deviceAgent = navigator.userAgent.toLowerCase(); var agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/); if(agentID.indexOf("iphone")>=0){ alert("iphone"); } if(agentID.ind原创 2012-03-29 22:11:55 · 8271 阅读 · 0 评论 -
[Mobile Web] ViewPort
其中:width - viewport的宽度height - viewport的高度initial-scale - 初始的缩放比例minimum-scale - 允许用户缩放到的最小比例maximum-scale - 允许用户缩放到的最大比例user-scalable - 用户是否可以手动缩放原创 2012-03-29 22:03:50 · 2183 阅读 · 0 评论 -
【Android进度条】三种方式实现自定义圆形进度条ProgressBar
一、通过动画实现定义res/anim/loading.xml如下:<animation-list android:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android"> 二、通过自定义颜色实现定义res/drawable/progress_small.xml原创 2012-03-29 22:02:57 · 86875 阅读 · 9 评论 -
【Android】SAX解析之错误纠正!!
在讲这次错误之前,先看一下下面这段代码。 【◆以下解析方法是错误的×】import java.util.ArrayList;import java.util.List;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;impo原创 2011-11-26 00:20:51 · 8790 阅读 · 24 评论 -
Android之AlarmManager
AlarmManager 包含的主要方法:// 取消已经注册的与参数匹配的定时器 void cancel(PendingIntent operation) //注册一个新的延迟定时器void set(int type, long triggerAtTime, PendingIntent operation) //注册一个重复类型的定时器void setRepeatin原创 2011-11-18 17:39:13 · 34303 阅读 · 11 评论 -
【Android】View类详解 (游戏开发必备)
Android游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下android.view.View 和 android.view.SurfaceView。SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,到底有哪些优势呢?转载 2011-11-10 17:01:43 · 13561 阅读 · 0 评论 -
【Android】 Canvas、Path 和 Paint 实例 (游戏开发必备)
Canvas类主要实现了屏幕的绘制过程,其中包含了很多实用的方法,比如绘制一条路径、区域、贴图、画点、画线、渲染文本,下面是Canvas类常用的方法,当然Android开发网提示大家很多方法有不同的重载版本,参数更灵活。 void drawRect(RectF rect, Paint paint) //绘制区域,参数一为RectF一个区域 void drawPath(Path path, Pa转载 2011-11-10 16:48:45 · 21233 阅读 · 1 评论 -
【Android】Android中 Paint 字体、粗细等属性的一些设置
在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:Paint mp = new paint();mp.setTypeface(Typeface.DEFAULT_BOLD)常用的字体类型名称还有: * Typeface.DEFAULT //常规字体类型 * Typeface.DEFAULT_BOLD转载 2011-11-10 15:38:20 · 54108 阅读 · 2 评论 -
【Android2.2及以上】如何允许你的应用移动到SD卡?
我们在使用Android手机时发现,有的程序允许被移动到SD卡,而有的不行?这是为什么呢?因为在Android 2.2版之后, Android应用才被允许移动到SD卡中。而在此之前开发的应用,全部没有这个功能。那么究竟如何允许你的应用移动到SD卡呢?答案其实很简单,只要给Manifest设置一个installLocation属性即可。这个属性设置的是默认安装位置原创 2011-11-08 09:28:04 · 11287 阅读 · 5 评论 -
【Android 4.0】conversion to dalvik format failed with error 1
升级SDK Tool r14 和 ADT 15后,在导出签名apk时遇到了这样的问题: conversion to dalvik format failed with error 1。 (主要原因应该是SDK升级的原因, 单单升级ADT没有遇到问题)如图:Refresh、Clean都试过了,还是不行。最终的解决办法是,去除了project.properties文原创 2011-10-26 12:23:01 · 5254 阅读 · 7 评论 -
FlurryAgent统计工具的使用
只要创建一个BaseActivity,所有Activity都继承这个BaseActivity即可。如下:public class BaseActivity extends Activity { private final String TAG = this.原创 2011-10-14 18:03:25 · 7524 阅读 · 3 评论 -
Android下拉刷新实例
效果如图:代码下载: http://download.csdn.net/detail/feng88724/3674280原创 2011-10-11 16:03:32 · 4381 阅读 · 1 评论 -
【Oauth认证】使用scribe实现OAUTH
Scribe这边指的是Oauth库, 项目地址: https://github.com/fernandezpablo85/scribe-java , 而不是Facebook那个(https://github.com/facebook/scribe)。 支持原创 2011-10-10 16:00:13 · 8134 阅读 · 3 评论 -
WebView loadData出错(奇怪的设计)
今天遇到一个奇怪的问题。我使用WebView加载一个网页。 方法1. 直接使用 loadUrl() 方法,没有问题。完全可以。方法2. 使用loadData()方法,出现问题,无法显示。方法3. 使用loadDataWithBaseURL()方法, 完原创 2011-08-02 16:58:54 · 8278 阅读 · 7 评论 -
程序进入Android Market(网页或者应用)
在实际需求,有可能会有给应用评价这样的功能,通常这样的功能都会跳转到Android Market来让用户评论。 (自己服务器上的数据,总是不那么可信嘛,对吧)那么如何进入自己应用的评价页面呢?1. 网页版通过网页进入自己应用。比如,你的应用名叫: 苏州实时交通 包名为: com原创 2011-07-14 17:10:52 · 34139 阅读 · 7 评论 -
使用 Android 自带的 proguard 混淆源码
转载自: http://www.cnblogs.com/newcj/archive/2011/06/08/2075142.html一直以来对于android的项目就没有进行混淆,因为就算混淆了也不能混淆 Activity,Service,BroadcastReceiver 这些转载 2011-07-13 18:58:26 · 4128 阅读 · 2 评论