android
文章平均质量分 63
vampirecarter
性格开朗,活泼外向,待人友善,热爱生活
展开
-
设计自己的ProgressDialog
如果遇到了很慢的处理过程,例如从网络下载文件等操作,我们通常会使用AsyncTask类来辅助完成,而同时为了给用户合理的等待操作,通常会在AsyncTask的onPreExecute方法中,添加一个ProgressDialog,告知用户等待,系统自带的ProgressDialog有时不能满足我们的UI需要,这时需要我们自己来写,下面的内容就是实现了一个简单的带有旋转的ProgressDialo原创 2012-07-19 14:51:55 · 5344 阅读 · 3 评论 -
根据不同屏幕,指定了dip值,获取px像素大小
有时候做适配的时候,在一款机器上写了多少dip值感觉效果不错,但是放到其他的地方,会感觉不舒服。这时候我想动态的通过px值来设置,而一般在代码里动态设置的时候,也是需要传入px值才行。下面就是我自己想的解决方法,望大家指正。步骤一:定义两个变量 int dpi = 0; // 本机的DPI int leftPx = 0; // 要设置的左边距原创 2012-07-20 10:08:47 · 2976 阅读 · 0 评论 -
得到保存在assets目录下的txt文件的内容
有时需要把一些不会改变的固定的内容写在程序里,直接放到源代码里非常不好,可以考虑放到assets文件夹下,如果是音频等元类型的,可以放到res/raw目录下。现在我的assets目录下,有一个txt文件,我需要在程序中把它的内容读出来。代码如下: /** * 读取Assets目录下txt文件中的字符串 */ public String read原创 2012-07-20 10:59:17 · 1508 阅读 · 0 评论 -
EditText添加长度限制
在EditText中添加一个Filter,可以帮助实现。InputFilter[] filters = {new InputFilter.LengthFilter(17)}; // 设置最大长度为17个字符EditText editText = new EditText(Context);editText.setFilters(filters);原创 2012-07-20 10:27:54 · 1940 阅读 · 0 评论 -
自定义ProgressBar的旋转动画
小弟也是在项目中看到的,原来没有接触过,所以简单的写一下现在的实现方法。步骤一:在res/anim文件夹下定义一个动画,例如progress_bar_anim.xml<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">原创 2012-07-20 09:55:58 · 10894 阅读 · 5 评论 -
Android对APK文件的安装和卸载
安装APK文件方法一:传入File文件 public void installApp(File file) { try { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.se原创 2012-07-10 16:47:11 · 981 阅读 · 0 评论 -
Android判断网络是否连接
public static boolean isNetworkConnected(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cm转载 2012-07-10 13:59:35 · 696 阅读 · 0 评论 -
RadioGroup动态添加RadioButton,并且获得事件
由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法。1、添加RadioButton到RadioGroup中RadioGroup group;for(int i=0; i<10; i++){ RadioButton tempButton = new RadioButton(this);原创 2012-06-25 19:21:54 · 36399 阅读 · 10 评论 -
动态设置全屏,退出全屏
实现全屏:private void setFullScreen(){ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); }退出全屏:方法一:getWindow().setFlags(0, WindowMa原创 2012-07-20 16:34:14 · 1223 阅读 · 0 评论 -
HTTP协议头字段
一、基础篇HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成转载 2012-07-20 16:44:23 · 10496 阅读 · 0 评论 -
通过资源的名称,得到保存在R中的ID
在项目中有一组图片,都是以“xxx000”,”xxx001“的格式命名的,想要动态的通过后面三位(id)来得到这些图片保存在R中的ID,从而设置给ImageView。可以利用Resources类的getIdentifier方法得到int类型的ID值。int id = 0;ImageView image = new ImageView(context);id = getR原创 2012-07-20 10:53:51 · 2972 阅读 · 0 评论 -
解决自定义控件大小问题
对于一些我们不能直接使用的控件,我们通常会重写View来自定义功能和样式,这时放在布局文件里,设置为wrap_content后也是fill_parent的样式,不能在一个页面内同时显示两个自定义的组件,这时我们就需要重写onMeasure()方法。具体重写自定义组件的方法参见官方开发文档:http://developer.android.com/guide/topics/ui/custom-com原创 2012-12-06 11:31:26 · 8294 阅读 · 1 评论 -
禁用AlertDialog的按钮
由于业务要求,需要在弹出AlertDialog的时候,将其中的一个按钮置为灰色,即禁用点击功能。下面是具体的实现方法,一个Demo布局很简单,一个按钮,点击后弹出禁用按钮的AlertDialog,就不放代码了。主要说一下有关禁用方面的话题 class MyOnClickListener implements OnClickListener{原创 2012-09-25 09:56:19 · 4823 阅读 · 2 评论 -
手机端实现Protocol Buffer
最近在研究push技术,里面涉及到了Protocol Buffer来进行数据的封装,在网上查了一些资料,写个帖子记录一下。简介:protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml原创 2012-10-16 20:20:44 · 7046 阅读 · 2 评论 -
Android实现异步从网络加载图片列表
有时会有在加载ListView的时候,包含用户头像或其他需要到网络获取的图片信息,这时如果等待全部获取完成再显示会比较慢,很影响用户体验,所以这时就需要利用到异步加载图片的方法。今天整理的方法,是用Thread来进行加载,没有利用ThreadPool的方法,后面的方法以后再慢慢学一下吧,先把学会的这个记下来。 具体的效果是,加入每个ListView的项只需要显示一个图片,每张图片都原创 2012-09-19 15:44:53 · 10131 阅读 · 5 评论 -
反编译APK
弄了这么久,终于想起来抽空把反编译的方法整理一下了。目的:反编译apk,供自己研究学习,模仿别人的设计模式和好的代码习惯。所需工具:apktool,dex2jar,XJad。ApkTool(用来将APK解压,包括完整的XML文件和smali文件)通过Google搜索关键字“apktool”,得到网址,下载 apktool1.4.3.tar.bz2 和 apktool-i原创 2012-08-09 15:22:18 · 2255 阅读 · 1 评论 -
使用ViewPager实现几个界面的切换,类似QQ
这几天在研究ViewPager,简单的写一下如何使用ViewPager实现类似于QQ的“最近联系人、好友、群组”的界面切换(不知道他们是不是用这个方法实现的)。ViewPager已经在android-sdk中加入了,具体的位置在%android_sdk_home%\android-compatibility\v4%android_sdk_home%是你的android-sd原创 2012-08-02 17:20:02 · 4659 阅读 · 0 评论 -
通过AsyncTask实现网络请求的方式,get和post
在自己写了一些,另外看了一些项目组其他同学的代码以后,总结了一下有关使用AsyncTask完成get和post请求的几种方式,现总结如下:方式一:GET方式此种方式比较常用,对于一些安全性要求不高的请求,可以使用GET来完成。在Get方法的使用中,也有几种形式1、直接使用域名+路径+参数列表 @Override protected In原创 2012-07-20 11:51:53 · 6941 阅读 · 0 评论 -
EditText和输入法
1.EditText默认不弹出软件键盘方法一: 在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden< activity android:name=".Main" android:label="@string/app_name" an转载 2012-07-09 11:44:36 · 1877 阅读 · 0 评论 -
EditText的部分属性
本文主要研究一下EditText的属性(还没研究完,边研究边写) android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:转载 2012-07-09 11:39:46 · 708 阅读 · 0 评论 -
一点关于Android事件处理的知识
Android中事件处理需要三个很重要的元素:事件源(Event Source):事件发生的场所,通常就是组件等;事件(Event):具体特定的事情,一次用户的操作,例如点击,滑动等;事件监听器(Listener):监听一类事件,并对该事件的触发做出一些处理。①:例如一个Button组件,我们可以设置一个onClickListener,用来监听用户对该Button的点击。翻译 2012-05-07 15:38:03 · 844 阅读 · 1 评论 -
发布Notification报错的问题
自己学习Notification的时候,写了一个练习,发布一个Notification。但是在运行时候报了一个错误:04-28 08:18:36.766: E/AndroidRuntime(683): FATAL EXCEPTION: main04-28 08:18:36.766: E/AndroidRuntime(683): java.lang.IllegalArgumentExce原创 2012-04-28 16:49:46 · 14494 阅读 · 8 评论 -
TabHost运行时报错的问题
问题1. 运行Activity的时候出现Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'添加Layout的时候,xml跟元素选择TabHost, 但是ADT没有添加id属性, 运行的时候,会提示Your content must have a TabHost whose id attr转载 2012-04-27 14:25:22 · 980 阅读 · 0 评论 -
Android ListView实现分页显示数据
当有大量的数据需要加载到ListView的Adapter中时,全部一次性加载,通常会非常耗时,这将严重影响用户的体验性和流畅性,而分页加载则会优化加载的速度,先暂时显示一页能够显示的数据项,在拖动到最下方时或点击了“显示更多”按钮时,再加载部分(需要自己定义每次显示多少)数据项。而且此项技术,会在以后的运用中比较常用的使用到。步骤一:设计主界面布局mail.xml<Lin原创 2012-04-26 09:48:33 · 6941 阅读 · 2 评论 -
emulator arm.exe 应用程序错误
emulator arm.exe 应用程序错误 之后看到了这个:emulator: emulator window was out of view and was recentred 启动启动模拟器就内存不能读的错误,网上查了一下问题解决方法 1、如果skin的显示区域太大,键盘部分可能显示不全,给使用带来不便模拟器还会报出警告: emulator wind转载 2011-12-29 14:28:52 · 2833 阅读 · 2 评论 -
Android平台显示单位px和dip以及sp的区别
很多网友可能发现在Android的layout文件中layout_width或layout_height有时候可能会指定具体的单位,比如有时候为px、dip或者sp等等。下面android123把常见的单位做下简单的介绍,比如说px (pixels)像素 -- 一般我们HVGA代表320x480像素,这个用的比较多。dip或dp (device independent pixels)设备独转载 2011-12-29 14:26:41 · 1644 阅读 · 0 评论 -
Android之完美退出方法(2.1-2.2-2.3SDK版本均测试通过)
为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过)。但我们的需求又确实存在。在某些情况下,我们需要在应用中打开多个Activity,但如果仅仅使用finish()方法就不能在需要的时候达到一 次性退出的效果,自己作为一个Android退出问题的受害者,通过良久转载 2011-12-29 14:26:06 · 802 阅读 · 0 评论 -
RuntimeException
原文地址:http://blog.sina.com.cn/s/blog_4d8498800100dcm3.html 希望没有侵权什么的 总结了一下JAVA中常见的几种RuntimeException,大约有如下几种:NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgum转载 2011-12-29 14:33:41 · 587 阅读 · 0 评论 -
Android 页面间的转换(setContentView)
刚刚看学长从图书馆借来的书,发现这个方法不错,如下:通过setContentView来实现页面的转换处理。这个方法有一个特别的有点,就是程序里面所有的变量状态都保持一致,类成员变量、类函数等皆可以在一个Activity的状态中直接取得,并不涉及参数传 递的问题。比如,Layout1中收集了用户输入的各种信息,然后在按下一步按钮式显示该信息的Layout2,让用户确认,单击相应按钮后,调转载 2011-12-29 14:31:52 · 689 阅读 · 0 评论 -
Service初步
刚刚开始学Service,简短的写一点有关创建和进行数据交互的东西,以便自己以后学起来方便。下面的这个小程序简单的描述了如何进行访问者和服务之间的交互,界面只有一个按钮,点击之后,会以Toast的形式弹出一个数值,表示当前运行在服务里的值(该值每半秒加1)。步骤开始:第一步:创建一个Servicepublic class ServiceTest extends原创 2012-05-10 14:49:17 · 791 阅读 · 1 评论 -
Android播放GIF动画
转载自:http://mobile.51cto.com/android-224521.htm本文将为讲解Android中Gif图片播放的教程。Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的:Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,但是如何把gif 图片打散开来转载 2012-05-31 11:10:43 · 1101 阅读 · 0 评论 -
Android保持屏幕常亮
保持屏幕常亮的两种方法:我们大家在用手机的时候,会遇到这样的一个问题,就是想让我们的手机屏幕一直亮着怎么办。大家会想到的是,在手机设置里有一个不省电模式,选择这个就可以了,但是我们要在代码中是怎么样办那,有两种方法就可以解决这个问题。第一种方法:大家想一想,我们在android里那个地方老是常定义权限呀,有了这个提示,大家就会想到是哪个文件了吧,AndroidManif转载 2012-05-16 11:25:10 · 71033 阅读 · 5 评论 -
通过Bundle传递Map类型数据
可能通过其他更好的方法可以传递,先记录我知道的这个方法吧。大家指正和帮忙改进。大家知道Bundle对象只能传递一些基本类型和字符串之类的,不能直接传入Map类型的数据,所以就暂时在情急之下想了一个复杂的方法,虽然不好,但有效。但是只能传递参数都为基本类型或者String类型的。Map map;Bundle bundle = new Bundle();Set ke原创 2012-06-25 16:11:45 · 14783 阅读 · 1 评论 -
ListView添加删除FooterView
在开发项目中,想要使异步或分页加载更好看一些,可以在ListView加上HeaderView或者footerView。1、生成一个FooterView在例子中,只是实现了一个进度条,右侧一个提示文本,所以可以简单写一个布局,然后通过LayoutInflater生成一个View。2、在ListView.setAdapter()方法之前调用ListView.addFoote原创 2012-06-25 16:01:56 · 18898 阅读 · 1 评论 -
有关GPS的一些记录点
做了一些有关GPS的东西,需要记录的如下几点:1、判断GPS是否是打开状态 public boolean isGpsOn() { LocationManager alm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); if( alm.isProviderEna原创 2012-06-25 15:41:59 · 1493 阅读 · 0 评论 -
解决使用AnimationDrawable无法播放动画的问题
第一种方式启动帧动画:(在Activity启动时会自动运行动画)AnimationDrawable ad;ImageView iv = (ImageView) findViewById(R.id.animation_view);iv.setBackgroundResource(R.drawable.animation);ad = (AnimationDrawable) iv.g转载 2012-07-04 11:02:05 · 9420 阅读 · 0 评论 -
Android实现点击两次返回键退出
正好在网上看到了一个,研究了一下,保存下来吧。第一步,定义一个变量,用于标识是否退出boolean isExit;第二步,重写Activity中onKeyDown方法@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K原创 2012-06-19 16:38:44 · 25644 阅读 · 17 评论 -
Eclipse导入第三方包进入工程的正确方法
正确的方法如下:1,右键工程, Build path, java build path,2,选择libraries在右边的按钮中点击“Add Library” 3,选择“User library”,点击“下一步” 4,点击“User librarys”按钮在出现的界面中点击“New..”按钮 在弹出的界面中随便起一个名字,点击“确定” 5,点击“Add jars”按钮选原创 2012-05-22 17:31:08 · 5449 阅读 · 2 评论 -
Eclipse中修改SVN用户名和密码方法
由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。 解决方案: 在Eclipse 使用SVN 的过程中大多数人往往习惯把访问SVN 的用户名密码自动保存起来以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名,这时候怎么办?在网上查找后发现如下方法: 1. 查看你的Eclipse转载 2012-05-22 10:09:27 · 168423 阅读 · 25 评论 -
通过Handler实现先显示进度条,后台进行数据处理,处理结束后取消进度条
自己对Handler使用还不熟练,想写一个小程序,在指定的时间周期打印指定的次数的LOG信息。记录下自己咨询到的一些方法,方便以后来查。初步想法是用Handler,先发送一个开始的消息,显示进度条,然后发送打印log的消息,通过一个全局变量count来判断是否达到了次数,如果没达到,则在固定的delay时间再发送一个打印log的信息,如果达到了,则把进度条取消。在OnC原创 2012-05-16 14:45:40 · 3685 阅读 · 0 评论