![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【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 · 422 阅读 · 0 评论 -
App跳转微信小程序、微信公众号
跳转微信小程序:跳转规则对于已通过认证的开放平台账号,其移动应用可以跳转至任何合法的小程序,且不限制跳转的小程序数量。对于未通过认证的开放平台账号,其移动应用仅可以跳转至同一开放平台账号下小程序。注意:若移动应用未上架,则最多只能跳转小程序100次/天,用于满足调试需求。 IWXAPI api = WXAPIFactory.createWXAPI(this, "wx161xx7530axxa5vv", false); if (api.isWXAppInstalled(原创 2020-09-22 20:49:43 · 9567 阅读 · 2 评论 -
Android SDK Tools 19出了
Android SDK Tools 19出了? 可官网上最新版还是18啊.. http://developer.android.com/sdk/tools-notes.html原创 2012-04-16 12:42:18 · 3582 阅读 · 2 评论 -
【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 · 21150 阅读 · 1 评论 -
【吐槽】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 · 3022 阅读 · 2 评论 -
【Android开发基础】应用界面主题Theme使用方法
主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格。在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类: •android:theme="@转载 2011-05-31 16:56:00 · 83074 阅读 · 8 评论 -
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 · 1945 阅读 · 0 评论 -
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 · 20938 阅读 · 2 评论 -
腾讯微博 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 · 6849 阅读 · 4 评论 -
如何去除ListView中Header、Footer View中的分割线
(图中显示图片的 Item 是在Header、Foot View中的)最近有一个需求, 需要在ListView 的 HeaderView中 添加多个View, 最后发现每个View中都有一条分割线。 效果如图中第一张图片! 本来以为只要设置 android:headerDividersEnabled="false" 就可以让Header中的分割线消失,但实际并非如此啊, 设置后如图中第二张图; 分原创 2012-06-29 13:05:20 · 31869 阅读 · 15 评论 -
[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 · 3460 阅读 · 2 评论 -
[Mobile Web] ViewPort
其中:width - viewport的宽度height - viewport的高度initial-scale - 初始的缩放比例minimum-scale - 允许用户缩放到的最小比例maximum-scale - 允许用户缩放到的最大比例user-scalable - 用户是否可以手动缩放原创 2012-03-29 22:03:50 · 2148 阅读 · 0 评论 -
FlurryAgent统计工具的使用
只要创建一个BaseActivity,所有Activity都继承这个BaseActivity即可。如下:public class BaseActivity extends Activity { private final String TAG = this.原创 2011-10-14 18:03:25 · 7483 阅读 · 3 评论 -
【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 · 5190 阅读 · 7 评论 -
Android之AlarmManager
AlarmManager 包含的主要方法:// 取消已经注册的与参数匹配的定时器 void cancel(PendingIntent operation) //注册一个新的延迟定时器void set(int type, long triggerAtTime, PendingIntent operation) //注册一个重复类型的定时器void setRepeatin原创 2011-11-18 17:39:13 · 34232 阅读 · 11 评论 -
【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 · 8729 阅读 · 24 评论 -
【Android基础】Activity的启动模式(android:launchMode)
在android里,有4种activity的启动模式,分别为:“standard” (默认)“singleTop”“singleTask”“singleInstance” 它们主要有如下不同: 1. 如何决定所属task“standard”和”singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内,除非intent包括参数FLAG_ACTIVITY_N转载 2011-05-11 18:00:00 · 79322 阅读 · 14 评论 -
【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 · 53518 阅读 · 2 评论 -
【Android】View类详解 (游戏开发必备)
Android游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下android.view.View 和 android.view.SurfaceView。SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,到底有哪些优势呢?转载 2011-11-10 17:01:43 · 13493 阅读 · 0 评论 -
【Android2.2及以上】如何允许你的应用移动到SD卡?
我们在使用Android手机时发现,有的程序允许被移动到SD卡,而有的不行?这是为什么呢?因为在Android 2.2版之后, Android应用才被允许移动到SD卡中。而在此之前开发的应用,全部没有这个功能。那么究竟如何允许你的应用移动到SD卡呢?答案其实很简单,只要给Manifest设置一个installLocation属性即可。这个属性设置的是默认安装位置原创 2011-11-08 09:28:04 · 11228 阅读 · 5 评论 -
【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 · 86720 阅读 · 9 评论 -
Android广播的一些事
1. 开机启动广播 大家都知道,1.申请权限 2.注册广播 <receiver android:name=".StartServiceAtBootReceiver" android:enabled="true" android:exported="false" android:label="StartServiceAtBootReceiver"> 实际原创 2012-08-22 10:23:39 · 2030 阅读 · 0 评论 -
[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 · 10392 阅读 · 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 · 3983 阅读 · 2 评论 -
【Android动画】之Tween动画 (渐变、缩放、位移、旋转)
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。下面就讲一下Tweene Animations。主要类:Animation 动画AlphaAnimation 渐变透明度RotateAnimation 画面旋转ScaleAnimation 渐变尺寸缩放TranslateAnimation 位置移动AnimationSet 动画原创 2011-04-12 17:02:00 · 177295 阅读 · 39 评论 -
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 · 5131 阅读 · 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 · 2230 阅读 · 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 · 1774 阅读 · 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 · 4712 阅读 · 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 · 10023 阅读 · 0 评论 -
梆梆加固,启动就闪退了
今天尝试用了梆梆加固,结果启动就闪退了。错误信息如下,毫无头绪。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 · 2361 阅读 · 0 评论 -
[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 · 8186 阅读 · 0 评论 -
小米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 · 4381 阅读 · 0 评论 -
【Android】Http请求
比较简单直接贴代码了。 package jftt.test;import java.io.IOException;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;im原创 2011-01-30 15:29:00 · 17791 阅读 · 1 评论 -
[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 · 5787 阅读 · 1 评论 -
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 · 6673 阅读 · 0 评论 -
[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 · 5669 阅读 · 2 评论 -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。 他们的区别在于: android:gravi原创 2011-04-19 16:06:00 · 417435 阅读 · 97 评论 -
一些错误及凌乱知识
1. SharedPreference 无法写入值 先看下代码:public void storePreference(boolean value) { if(preference == null) { preference = getPreferences(Context.MODE_PRIVATE); } Log.d("Write SharedPreferences", "FLAG:原创 2011-06-15 14:21:00 · 4206 阅读 · 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 · 37344 阅读 · 2 评论