android应用
文章平均质量分 60
草水扬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mac下android adb环境变量配置
使用adb时,如果提示:-bash:adb:command not found,则可能是adb没有配置环境变量。 1.进入终端 2.进入当前用户的home目录:echo $HOME 3.创建.bash_profile文件:touch .bash_profile 4.打开该文件 open -e .bash_profile 5.修改文件并保存 export PATH=${PAT原创 2016-04-13 18:05:12 · 560 阅读 · 0 评论 -
Android异步处理二:使用AsyncTask异步更新UI界面
在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们使用Thread+Handler的方式实现了异步更新UI界面,这一篇中,我们介绍一种更为简洁的实现方式:使用AsyncTask异步更新UI界面。 概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类。AsyncTask的内部实现是一个线转载 2015-01-28 17:04:22 · 456 阅读 · 0 评论 -
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操作,则会报错: CalledFromWrongThreadException:only the转载 2015-01-28 16:58:45 · 482 阅读 · 0 评论 -
浅谈android的selector背景选择器
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据List转载 2014-08-16 11:30:40 · 381 阅读 · 0 评论 -
android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1
android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1 android 中数据库处理,特别是使用cursor时,注意初始位置,好像是从下标为-1的地方开始的,也就是说一次查询中,返回给cursor查询结果时,不能够马上从cursor中提取值。 比如,下面的代码会返回错误,andr转载 2014-08-21 13:52:51 · 1471 阅读 · 0 评论 -
Adapter深入理解与优化
一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter。Adapter是与View之间提供数据的桥梁,也是提供每个Item的视图桥梁。 以ListView为例,其工作原理为: ● ListView针对List中每个item, adapter都会调用一个getView的方法获得布局视图 ●转载 2014-07-11 10:38:01 · 741 阅读 · 0 评论 -
圆角和圆形image
直接继承imageView:转载 2014-06-19 17:14:33 · 569 阅读 · 0 评论 -
android机器获取当前语言
判断android设备当前设置的为什么语言使用Locale(java.util.Locale)类中getLanguage()方法; 一般获取到的比如中文为zh,英文为en,日文为ko; 要获得具体的类别使用toString()方法。 比如繁体为zh_TW,简体为zh_CN。英文中有en_GB;日文有ko_KR。 代码如下: Locale.getDefault().getLang转载 2014-06-17 15:16:24 · 1398 阅读 · 0 评论 -
ANR分析
一:什么是ANR ANR:Application Not Responding,即应用无响应 二:ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 seconds) --主要类型 按键或触摸事件在特定时间内无响应 2:BroadcastTimeout(10 seconds) BroadcastReceiver在特定时间内无法处理完成 3:Servi转载 2014-07-24 16:02:53 · 547 阅读 · 0 评论 -
Android中XLIFF标签的应用
今天看了一个google的demo,发现部分资源字符串在/res/values/string.xml中包含有类似xliff的节点,刚才查了一下,Xliff是XML Localization Interchange File Format 的缩写,中文名为XML本地化数据交换格式。 对于在Android的资源字符串中,可能会有类似下面的 %1$s 写法,这里,id我们可以随便定义,后面的%1$转载 2014-07-23 17:43:33 · 700 阅读 · 0 评论 -
AsyncQueryHandler的使用
转自:http://xwangly.iteye.com/blog/1098728 每天进步一点点之AsyncQueryHandler学习 AsyncQueryHandler:异步的查询操作帮助类,其实它同样可以处理增删改 1。AsyncQueryHandler的作用 查询其API便可知,它担供: startInsert startDelete st转载 2014-06-07 16:24:18 · 472 阅读 · 0 评论 -
编译错误:commands commence before first target
makefile时常遇到这样的问题,汇总网上的原因如下: 1. 上一行换行符号 \ 后面有空格 2. 本行前面的空白有非法字符 1)Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。命令行必须和规则一一对应。 2)产生第二种的错误的原因可能是一行的第一个非空字符转载 2014-04-12 16:51:47 · 1179 阅读 · 0 评论 -
Android开发:关于Android Settings中的八个问题
本问将回答以下八个问题,如有错误,敬请批评指正,不胜感激!(注:本文中的Settings解析基于android4.0+) 问题一、Settings的主界面是怎么实现的? 问题二、为什么使用hierarchyviewer 时Settings中的很多界面显示的都是SubSettings? 问题三、hierarchyviewer 中显示SubSetting时如何确定我进入的是哪个fragment?转载 2014-05-19 10:22:12 · 1049 阅读 · 0 评论 -
Android异步处理三:Handler+Looper+MessageQueue深入详解
在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们讲到使用Thread+Handler的方式来实现界面的更新,其实是在非UI线程发送消息到UI线程,通知UI线程进行界面更新,这一篇我们将深入学习Android线程间通讯的实现原理。 概述:Android使用消息机制实现线程间的通信,线程通过Looper建立自己的消息循环,MessageQueue转载 2015-01-28 17:36:04 · 512 阅读 · 0 评论 -
Android中自定义属性(attrs.xml,TypedArray)的使用
该实例是在自定义View上使用自定义属性的。 MyView.java package com.adnroid.test; import com.adnroid.test.R; import android.content.Context; import android.content.res.TypedArray; import android转载 2015-01-29 11:24:51 · 490 阅读 · 0 评论 -
Android 中自定义View的应用.
首先新建一个Android 工程 命名为ViewDemo . 然后自定义一个View 类,命名为MyView(extends View) .代码如下: package com.android.tutor; import android.content.Context; import android.graphics.Canvas; import android.graphics转载 2015-01-29 11:29:15 · 459 阅读 · 0 评论 -
activity支持滑动退出
满足以下条件则认为用户是横向滑动退出: 横向滑动距离 > 某一特定值,纵向滑动距离 只需要重写activity中的分发事件dispatchEventTouch(),判断滑动的距离。 public class BaseActivity extends Activity{ String TAG = "BaseActivity"; public int wid原创 2016-02-16 11:05:52 · 624 阅读 · 0 评论 -
AS不能发布release版本的解决方案
在build.gradle中加入以下代码: lintOptions { abortOnError false checkReleaseBuilds false // 防止在发布的时候出现因MissingTranslation导致Build Failed! disable 'MissingTranslation' }原创 2016-02-01 17:00:36 · 1379 阅读 · 0 评论 -
屏幕监听
在移动端app层监听屏幕的灭亮状态: package com.xxx.xxx.Tools; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import and转载 2016-01-04 16:41:29 · 509 阅读 · 0 评论 -
给listview设置分割线与边界的距离
ListView可通过配置 android:dividerline android:dividerHeight 来实现分割listview中item的效果,如图: 如果想跟上图一样实现这种有设计的分割线样式的时候可以使用下面的方法,这个方法也是参照StackOverFlow解决方案上的方法来实现。 创建分割线的布局文件: list_item_divid转载 2016-01-18 11:49:10 · 4266 阅读 · 0 评论 -
自定义可移动view
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.util.AttributeSet; import and原创 2015-10-27 18:28:19 · 469 阅读 · 0 评论 -
Android的Intent.FLAG_ACTIVITY_CLEAR_TOP无效
今天写代码遇到了一个问题: 当 B - A - B 跳转的时候,使用Intent的FLAG_ACTIVITY_CLEAR_TOP会让第一个B和第二个A,destory掉,但是当B - A - C跳转的时候不会调用B和A的destory。 查看API文档才发现原因,所以这里记录一下避免下次忘记了: public static final int FLAG_ACTIVITY_原创 2015-09-21 14:39:56 · 6149 阅读 · 1 评论 -
根据Item数动态设定ListView高度
//此方法在setAdapter之后调用 public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return;原创 2015-10-10 18:20:07 · 1573 阅读 · 0 评论 -
Android shape解析
xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > android:radius="integer" android:topLef原创 2015-04-14 16:25:57 · 561 阅读 · 0 评论 -
MediaPlayer中创建AudioTrack的过程
MediaPlayer中创建AudioTrack的过程 使用MediaPlayer播放音视频时,会创建AudioTrack对象用于播放音频数据。下面就来看看MediaPlayer创建AudioTrack的过程: 1.创建AudioTrack对象 MediaPlayer类中并没有直接创建AudioTrack,而是把创建AudioTrack对象的操作放在了MediaPlayerServi转载 2014-12-11 17:39:31 · 1117 阅读 · 0 评论 -
MediaPlayer和AudioTrack播放Audio的区别与联系
播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。 其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。 而AudioTrack只能播放已经解码的PCM流,如果是文转载 2014-12-11 17:37:09 · 686 阅读 · 0 评论 -
attrs.xml文件中属性类型format值的格式
"reference" //引用 "color" //颜色 "boolean" //布尔值 "dimension" //尺寸值 "float" //浮点值 "integer" //整型值 "string" //字符串 "fraction" //百分数,比如200% 枚举型的格式: XML文件中使用: android:orientation = "vertical"转载 2015-01-29 11:14:42 · 984 阅读 · 0 评论 -
Android中自定义属性(attrs.xml,TypedArray)的使用
该实例是在自定义View上使用自定义属性的。 MyView.java package com.adnroid.test; import com.adnroid.test.R; import android.content.Context; import android.content.res.TypedArray; import android转载 2015-01-29 11:26:45 · 428 阅读 · 0 评论 -
Android 相对布局
RelativeLayout布局 android:layout_marginTop="25dip" //顶部距离 android:gravity="left" //空间布局位置 android:layout_marginLeft="15dip //距离左边距 // 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上;转载 2014-03-19 15:59:02 · 629 阅读 · 0 评论 -
AlertDialog实例
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。 要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。 使用AlertDialog.Builder创建对话框需要了解以下几个方法: setTitle :为对话框设置标题 setIco转载 2014-01-24 10:35:25 · 789 阅读 · 0 评论 -
android模拟back键
方法一: public void onBack(){ new Thread(){ public void run() { try{ Instrumentation inst = new Instrumentation(); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK); }catch (原创 2014-01-24 10:38:21 · 764 阅读 · 0 评论 -
关于平板上Widget横竖屏显示占用单元格问题
Widget开发时,可以用不同的布局文件来完成横竖屏不同的显示。但在平板上,可能会出现横屏3*2的大小,在竖屏却占用4*1的大小。 该问题可以通过修改xml/appwidget_info.xml中的minminWidth、minHeight属性来达到自己的大小。 When your widget is added, it will be stretched to occupy the原创 2013-10-29 16:06:03 · 1070 阅读 · 0 评论 -
TextView 跑马灯效果
<TextView android:id="@+id/myTextView" android:layout_width="180px" android:layout_height="wrap_content" android:textColor="@android:color/white" android:elli原创 2013-10-29 11:57:49 · 572 阅读 · 0 评论 -
Android.mk编译APK范例
以下仅是使用Android.mk编译APK程序的一些范例。 如果你想了解Android.mk的更多内容请参考《Android.mk简介》 一、编译一个简单的APK LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirecto转载 2013-10-21 11:00:20 · 1697 阅读 · 0 评论 -
Android桌面小插件开发三
转载自:http://www.eoeandroid.com/thread-71213-1-1.html 这是我们这个小项目的最后一篇了,大家一定是非常期待的,那么我们就来看看这最后一篇的内容吧。 注意: 因为这个AppWidgetProvider 是一个广播接收器BroadcastReceiver,不能保证你的进程在回调函数返回后仍然继续运行(参转载 2013-10-26 18:59:26 · 847 阅读 · 0 评论 -
Android 桌面Widget横竖屏切换
Google的天气预报Widget在转屏后布局依然很好,而且看样子像是一个新的布局文件,于是在做应用时也想抓到转屏事件,然后加载一个新的layout文件。可是测试发现AppWidgetProvider的几个方法都接受不到转屏事件,于是在网上搜啊搜啊,终于发现,要解决这个问题,至于要在工程中新建两个文件夹就能解决,分别是: layout-port(竖屏时使用) layout-land(横原创 2013-10-26 18:55:31 · 2118 阅读 · 0 评论 -
Androd .mk简介
文章参照:http://blog.sina.com.cn/s/blog_67d8d7060100q8un.html Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定转载 2013-10-21 11:02:18 · 667 阅读 · 0 评论 -
Android桌面小插件开发二
转载自:http://www.eoeandroid.com/thread-71211-1-1.html 我们这一片是接着上一篇来继续进行讲解开发插件,那么我们现在就来继续的讲解App Widget布局,那就不多说了,我们来看看内容吧: 创建App Widget布局 你必须在XML中为你的App Widget定义一个初始布局并保存到项转载 2013-10-26 18:58:18 · 817 阅读 · 0 评论 -
Android桌面小插件开发一
转载自:http://www.eoeandroid.com/thread-71208-1-1.html 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget)是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget provider来发布一个Widget。可以容纳其它App转载 2013-10-26 18:57:02 · 1385 阅读 · 0 评论 -
android中dip、dp、px、sp和屏幕密度
1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个,不依赖像素。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你转载 2013-10-26 18:54:11 · 623 阅读 · 0 评论
分享