Android
hanson-leung
这个作者很懒,什么都没留下…
展开
-
为Eclipse ADT创建的android项目通过ant添加proguard混淆支持
<br />假设已有ADT创建的android项目HelloAndroid并且已经有可用的proguard混淆器(我用的proguard4.4)。<br />第一步要做的是为项目添加ant build支持。由于ADT插件并不直接支持proguard等混淆器,所以不能像j2me那样在有功能比较完善的插件(如EclipseME等)的基础上直接一键混淆一键打包,不过好在android sdk本身提供了比较完善的ant编译支持,可以通过类似命令行编译的方式,对android项目的整个编译、生成过程进行自定义,从而能转载 2010-11-26 16:43:00 · 1435 阅读 · 0 评论 -
Android PopupWindow的使用!
<br /> 大家好,我们这一节讲的是Android PopupWindow的使用! 在我理解其实PopupWindow其实类似于一个不能动的Widget(仅从显示效果来说!)<br />它是浮在别的窗口之上的.<br />下面我将给大家做一个简单的Demo,类似于音乐播放器的Widget的效果,点击Button的时候出来PopupWindow,首先我们看一下效果图:<br /><br /><br />下面是核心代码:<br /> package com.android.tutor;import and转载 2010-10-22 01:57:00 · 717 阅读 · 0 评论 -
拖动Button显示效果
<br />源码如下:<br />public class DraftTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dis转载 2010-10-22 11:57:00 · 519 阅读 · 0 评论 -
android.net、org.apache.http联网实现
1.连网相关包介绍 今天我们将深入介绍了Android SDK 中一些与网络有关的package,如下: 包描述 java.net提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。java.io虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在与网络进行交互时会经常出转载 2010-10-22 02:44:00 · 929 阅读 · 0 评论 -
android之handler介绍和使用方法
android里面对于异步消息的处理,提供了一套Handler的实现方案。Handler有很多适宜的应用和微妙之处,使它在和Thread以及Service等一起使用的时候达到很好的效果。一. Handler与Thread的区别。Handler与调用者处于同一线程,如果Handler里面做耗时的动作,调用者线程会阻塞。Android UI操作不是线程安全的,并且这些操作必须在UI线程中执行。Android提供了几种基本的可以在其他线程中处理UI操作的方案,包括Activity的runOnUiThread(Ru转载 2010-10-22 02:17:00 · 1896 阅读 · 1 评论 -
BroadcastReceiver与Service总结
BroadcastReceiver:对象的生命周期不超过5s,如果进行耗时工作,通过开线程,可以通过发送Intent给Activity或Service,由Activity或者Service来完成。 1:用来已不接收意图的(Intent),广播Intent的发送时通过调用 Context.sendBroadcast()或 Context.sendOrderedBroadcast()或 Context.sendStickyBroadcast() 来实现的。转载 2010-10-22 11:13:00 · 769 阅读 · 0 评论 -
在Android的Notification中显示进度条
<br />Activity代码:<br />public class NotificationTest extends Activity { //当前进度条里的进度值 private int progress = 0; private RemoteViews view = null; private Notification notification; private NotificationManager manager = null; p转载 2010-10-25 14:21:00 · 1114 阅读 · 0 评论 -
Android 系统图标对照表
arrow_down_floatarrow_up_floatbtn_star_big_offbtn_star_big_onbutton_onoff_indicator_offbutton_onoff_indicator_oncheckbox_off_backgroundcheckbox_on_backgroundic_btn_speak_nowic_deleteic_dialog_alertic_dialog_dialeric_dialog_emailic_dialog_infoic_dialog_mapi转载 2010-10-25 22:33:00 · 2338 阅读 · 0 评论 -
WebView组件的使用详解
通过本专题的讲解可以了解到WebView组件的详细使用:网络内容1、LoadUrl直接显示网页内容(单独显示网络图片)2、LoadData显示中文网页内容(含空格的处理)APK包内文件1、LoadUrl显示APK中Html和图片文件2、LoadData(loadDataWithBaseURL)显示APK中图片和文字混合的Html内容res/layout/main.xml转载 2010-10-27 00:02:00 · 1197 阅读 · 1 评论 -
为Activity屏幕的标题添加图标(即在屏幕的标题栏加上图标)
<br /><br />方法1<br /><br />public void onCreate(Bundle icicle) {<br />super.onCreate(icicle);<br /> requestWindowFeature(Window.FEATURE_LEFT_ICON); //申请设置个性化小图标,需在 setContentView(R.layout.dialog_activity) 之前调用。<br /> setContentView(R.layout.custom_dial转载 2010-12-19 00:04:00 · 1585 阅读 · 1 评论 -
Android AsyncTask 的使用
<br /><br />和使用匿名线程想比较来说 AsyncTask 有如下好处:线程的开销较大,如果每个任务都要创建一个线程,那么应用程 序的效率要低很多;线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。另外,前面已经看到,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿。<br />为了解决这一问题,Android在1.5版本引入了AsyncTask。AsyncTask的特点是任务在主线程之外运行,而回调方法是在主原创 2010-10-27 11:12:00 · 846 阅读 · 0 评论 -
Android 对话框【Dialog】去除白色边框代码
<br />使用样式文件,在values 目录下新建styles.xml文件,编写如下代码:<br /><resources> <mce:style name="dialog" parent="@android:style/Theme.Dialog"><!-- <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item>原创 2010-12-20 21:50:00 · 1093 阅读 · 0 评论 -
android 日期滑动巧妙处理
图一图二由于像图一里各个日期点击后需要弹出图二对话框,如果想在图一里的Activity里做onTouchEvent事件实现日期翻月功能,会与各个日期 的 onclick 事件冲突造成实现不了,以下是本人巧妙处理方式,如下:像各个日期DateCell类public class DateCell extends View { ........................... ........................... ..........................原创 2010-11-19 22:11:00 · 1849 阅读 · 0 评论 -
Android程序完全退出的几种方法
很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里Android123给大家三种比较简单的方法实现。首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧. 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取PID,目前获取转载 2010-10-20 23:51:00 · 837 阅读 · 0 评论 -
Android多线程下载远程图片
<br />很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天Android123整理出两种比较好的方法来实现远程图片的下载。<br /> <br />方法一、直接通过Android提供的Http类访问远程服务器,这里AndroidHttpClient是SDK 2.2中新出的方法,API Level为8,大家需要注意下,静态访问可以直接调用,如果SDK版本较低可以考虑Apache的Http库,当然HttpURLConnection或URLConnection也可以。<br />sta转载 2010-10-20 23:43:00 · 714 阅读 · 0 评论 -
Android JSON解析示例代码
<br />有关 HTTP通讯、正则表达式、JSON解析、appWidget开发的一些知识。<br />public class WordWidget extends AppWidgetProvider { //appWidget @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {转载 2010-10-20 22:44:00 · 1143 阅读 · 0 评论 -
为程序添加版本自动更新功能(转+详细分析)
OverView : 程序 通过后台每天检查是否有最新版本,如果需要更新当前版本,将弹出对话框让用户选择是否在当前通过Market来更新软件 。Knowledge Points:SharedPreferences: 一个轻量级的存储方法,类似于经常使用的.ini文件 ,它也是通过检索关键字来取得相应的数值。之所以是成为轻量级,是因为它所能应用 的数值类型有限,对于存储较大数值,效率相对较低。官方参考System.currentTimeMillis:将当前时间以毫秒作为单位来表示,用于比较两个时间的先后顺序。原创 2010-10-15 14:06:00 · 479 阅读 · 0 评论 -
Timer 误区,及两种正确写法
这里先贴出错误写法: view plaincopy to clipboardprint?package com.test; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; public class TestTimer_Wrong extends Activity {原创 2010-10-15 14:40:00 · 488 阅读 · 0 评论 -
Android Intent 使用整理
在一个Android应用中,主要是由一些组件组成,(Activity,Service,ContentProvider,etc.)在这些组件之间的通讯中,由Intent协助完成。正如网上一些人解析所说,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。Intent传递过程中,要找到目标消费者(另一个Activity,I转载 2010-10-15 15:25:00 · 461 阅读 · 0 评论 -
eclipse 常用快捷键
<br />Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。<br /> 1. 【ALT+/】<br /> 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。<br /> <br /> 2. 【Ctrl+O】<br /> 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用原创 2010-10-15 17:26:00 · 427 阅读 · 0 评论 -
模拟器访问PC机WEB服务器方法
模拟器默认访问PC机的IP地址为: http://10.0.2.2/如果要用域名访问,可以用APACHE做代理处理:ProxyPass / http://www.localhost.com/或者修改模拟器的HOST做下域名解析处理,例如在HOST加入: 10.0.2.2 www.localhost.comandroid模拟器修改 andorid上的 hosts文件,具体步骤如下1、获得root权限:adb root2、设置/system为可读写:adb remount3、将hosts文件复制到PC:adb转载 2010-10-16 22:08:00 · 3124 阅读 · 0 评论 -
android中获得屏幕、视图、任务栏、状态栏的高宽以及屏幕的设置
首先,有一点需要声明,其实在android中,画布Canvas的高宽其实是屏幕的高宽。如此一来,获得屏幕高宽的方法就很多了:1.WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();screenWidth = display.getWidth();screenHeight = display.getHeight();2.DisplayMetrics dm = n转载 2010-10-15 14:27:00 · 454 阅读 · 0 评论 -
listView 添加addHeaderView和addFooterView以及handler.postDelayed的使用
<br />package com.myapp.android.test;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.concurrent.atomic.AtomicBoolean;import android.app.ListActivity;import android.os.Bundle;import android.os.Ha原创 2010-10-15 15:53:00 · 5823 阅读 · 0 评论 -
Android 开发简介
简介黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通转载 2010-10-16 22:26:00 · 445 阅读 · 0 评论 -
开发技巧杂集
1.检查是否有网络连接public static boolean isNetworkAvailable(Context context) {ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo info = cm.getActiveNetworkInfo();return (info != null && info.i原创 2010-10-18 17:21:00 · 1162 阅读 · 0 评论 -
布局技巧:使用ViewStub
多亏了标签,在Android里,很容易就能做到共享和重用UI组件。在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少使用。针对这种情况,谢天谢地,Android还为我们提供了一个特别的构件——ViewStub,它可以使你充分享受的好处而不会造成无用View的浪费。ViewStub是一个看不见的,轻量级的View。它没有尺寸,也不会绘制以及以某种形式参与到布局中来。这意味着ViewStub去inflate以及保留在View层次中的代价是很廉价的。ViewStu转载 2010-10-20 11:48:00 · 710 阅读 · 0 评论 -
GridView组件详细文档
一、结构public final class GridView extends AbsListView java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView ↳ android.widget.AbsListView ↳ android.widget.GridView 二、类概述转载 2010-10-20 13:17:00 · 881 阅读 · 0 评论 -
使用ActivityGroup来切换Activity和Layout
前言 在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。文章 1. Android: TabActivity Nested Activities 2. Android ActivityGroup的使用代码将子activty 的layout加入到主activ转载 2010-10-20 14:34:00 · 463 阅读 · 0 评论 -
android 程序错误处理全局处理
本文将分析在程序出错的情况下如何收集相关的错误信息,并发送错误信息到服务器供开发者分析和调试程序。错误信息将成为您Debug的一把利刃,通过错误信息您可以最及时的掌握程序在各个系统版本和设备上的运行情况。错误处理介绍在一般情况下,OPhone程序出错都会出现如下一个提示对话框:图一:OPhone默认出错提示这种情况下,用户只有点击“强行关闭”来结束程序。当该对话框出现对用户来说是相当不友好的,本文中将会告诉您如何在程序出错时不显示该对话框。随着OPhone设备和系统版本的增加,现在在不同设备和版本上调试程序转载 2010-11-19 21:28:00 · 11445 阅读 · 10 评论