Android之ContentProvider
摘要:Content ProvidersIn this documentContent provider basicsQuerying a content providerModifying data in a providerCreating a content providerContent URI summaryKey classesContentProviderContentResolverCursorContent providers store and retrieve data and make it accessible to all applications. They'r
阅读全文
posted @
2012-03-31 11:59
lee0oo0
阅读(643)
推荐(0) 编辑
Android之SharedPreferences(二)——跨程序调用
摘要:第一个程序的: SharedPreferences preferences = getSharedPreferences("count", MODE_WORLD_READABLE);第二个程序的: // 获取其他程序所对应的Context Context useCount = createPackageContext("org.crazyit.io", Context.CONTEXT_IGNORE_SECURITY); SharedPreferences prefs = useCount.getSharedPreferences("count&
阅读全文
posted @
2012-03-29 23:38
lee0oo0
阅读(1743)
推荐(0) 编辑
Android之SharedPreferences(一)
摘要:写: 1. 通过getSharedPreferences得到SharedPreferences对象;传入的第一个参数是string类型的名字,传入的第二个参数可以为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE 2. 使用该对象的edit方法得到SharedPreferences.edit对象 3.可以使用各种put方法,例如是putString传入数据 4. 这里顺便说一下SimpleDateFormat类, 以下是例子 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 "
阅读全文
posted @
2012-03-29 21:12
lee0oo0
阅读(1109)
推荐(0) 编辑
Android之Handler有感(二)
摘要:注意:我们创建Handler的对象调用post方法,然后传递进去一个Runnable对象的这种方式并不会创建一个新的线程。 HandlerThread和Looper :HandlerThread是Thread的子类 以下是应用框架: 1. 首先创建HandlerThread对象 2.对用HandlerThread对象的start方法启用新线程 3. 创建一个类继承Handler,调用含有Looper的构造函数 public class MyHandler extendsHandler{ publicMyHandler (Looper looper){ super(looper)...
阅读全文
posted @
2012-03-29 15:15
lee0oo0
阅读(257)
推荐(0) 编辑
Android之Handler有感(一)
摘要:一直对Handler有所疑惑,今天做出决心要搞懂,现在粗略讲讲心得。 Handler拥有两个队列,一个是放线程的队列,我们就暂且叫做线程队列;而另外一个是放消息的队列,我们暂且叫做消息队列。 创建线程的方法在Java当中有两种,一种是继承Thread而另外的一种则是实现Runnable。在Android中我们比较常用的是实现Runnable,然后可以通过Handler的post方法或者是postDelayd方法把线程添加到线程队列当中。当需要停止的时候的是调用Handler的removeCallBacks方法。 说道消息队列,我们通过在Runnable中Handler的obtainMess..
阅读全文
posted @
2012-03-29 15:13
lee0oo0
阅读(368)
推荐(0) 编辑
Android之在线词典
摘要:以下是代码下载地址,代码中有注释/Files/lee0oo0/MyDictionaryTest.rar
阅读全文
posted @
2012-03-29 11:42
lee0oo0
阅读(409)
推荐(0) 编辑
Android之离线词典
摘要:1. 首先在res/raw中导入文件dictionary.db/Files/lee0oo0/dictionary.rar2. main.xml文件的布局<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent
阅读全文
posted @
2012-03-29 11:14
lee0oo0
阅读(2128)
推荐(0) 编辑
Android之TabHost使用(引用SDK例子文档)
摘要:Tab LayoutTo create a tabbed UI, you need to use aTabHostand aTabWidget. TheTabHostmust be the root node for the layout, which contains both theTabWidgetfor displaying the tabs and aFrameLayoutfor displaying the tab content.You can implement your tab content in one of two ways: use the tabs to swapV
阅读全文
posted @
2012-03-29 09:39
lee0oo0
阅读(947)
推荐(0) 编辑
Android之ExpandableList使用
摘要:这是ExpandableList的使用效果:/**对SimpleExpandableListAdapter参数的解释 * 使用SimpleExpandableListAdapter显示ExpandableListView * 参数1.上下文对象Context * 参数2.一级条目目录集合 * 参数3.一级条目对应的布局文件 * 参数4.fromto,就是map中的key,指定要显示的对象 * 参数5.与参数4对应,指定要显示在groups中的id * 参数6.二级条目目录集合 * 参数7.二级条目对应的布局文件 * 参数8...
阅读全文
posted @
2012-03-26 10:53
lee0oo0
阅读(1532)
推荐(0) 编辑
Android上面的百度地图使用步骤
摘要:1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。下载地址:http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E7%9B%B8%E5%85%B3%E4%B8%8B%E8%BD%BD2)申请API Key 和使用Google map api一样,在使用百度地图API之前也需要获取相应的API Key。百度地图API K
阅读全文
posted @
2012-03-25 22:09
lee0oo0
阅读(17013)
推荐(1) 编辑
Android之Google Map(二)
摘要:这一个要介绍的是在MapActivity上添加图钉。在Android的SDK中有详细的介绍,见以下内容。Google Map ViewUsing the Google Maps library, you can create your own map-viewing Activity. In this tutorial, you'll create a simple map application in two parts. In Part 1, you'll create an app that shows a map the user can pan and zoom. I
阅读全文
posted @
2012-03-22 15:09
lee0oo0
阅读(883)
推荐(0) 编辑
android之JSON解析(三)
摘要:1. 这是Json数据,String str = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"。这个Json数据有一个数组,数组里面有两个Json对象 2. 首先必须生成Type对象,使用以下的方式(User是上一节的User类): Type listType = new TypeToken<LinkedList<User>>(){}.get
阅读全文
posted @
2012-03-22 11:15
lee0oo0
阅读(734)
推荐(0) 编辑
android之JSON解析(二)
摘要:***这个例子只能是针对于Json对象而不是Json数组,Json数组需要转为为Json对象,这是下一节的事情。 1. 先有一个JSON对象String str = "{\"name\":\"Michael\",\"age\":20}",JSON类可以直接把JSON数据转化为java对象 2. 创建User类 public class User{ private String name; private int age; public void setName(String name){ this.name = n
阅读全文
posted @
2012-03-22 10:39
lee0oo0
阅读(745)
推荐(0) 编辑
android之xml数据解析(SAX)
摘要:使用SAX事件驱动模型解析xml数据: sax的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。以下是创建SAX解析的步骤: 1. 创建SAXParserFactory对象 SAXParserFactory factory = SAXParserFactory.newInstance(); 2. 创建SAXReader对象 SAXReader reader =factory.newwSAXPar...
阅读全文
posted @
2012-03-22 10:09
lee0oo0
阅读(542)
推荐(0) 编辑
Android之Google Map(一)
摘要://Google参考文档,帮助我们怎样申请一个Google Map Key及其相关内容 code.google.com/android/add-ons/google-apis/mapkey.html //xml文件 <com.google.android.maps.MapView android:layout_height="fill_parent" android:layout_weight="fill_parent" android:enable="true" android:clickable="true&quo
阅读全文
posted @
2012-03-22 01:42
lee0oo0
阅读(222)
推荐(0) 编辑
android小项目之天气预报
摘要:Google提供的有关天气预报的Web服务的地址: 1. 根据经纬度得到数据 http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,10409996 2. 根据城市名字得到数据 http://www.google.com/ig/api?hl=zh-cn&weather=guangzhou
阅读全文
posted @
2012-03-22 01:04
lee0oo0
阅读(829)
推荐(0) 编辑
android之JSON解析(一)
摘要:www.json.org这是JSON的官方网站。 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gson-1.6.jar文件导入到你那个需要解析的项目中去。 解析JSON例子,如下: 1、 这是Json数据,"[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]" 2、 //创建Jso
阅读全文
posted @
2012-03-22 00:52
lee0oo0
阅读(7412)
推荐(0) 编辑
Android之用户定位(三)
摘要:Google的Geocoding服务功能: 1. 查询某地址的经纬度 2. 查询某经纬度的具体地址 Android的Geocoding替代品 //根据地址查询经纬度的网址及其解释 http://maps.googleapis.com/maps/api/geocode/json?address=SFO&sensor=false ---json是表示返回的数据类型,可以改为xml。address是输入的位置。sensor标识请求是否来源于一个设备的传感器。language指定查询结果的语言 //根据地址查询经纬度的网址及其解释,与上面不同的是这里有一个区...
阅读全文
posted @
2012-03-19 11:31
lee0oo0
阅读(1821)
推荐(1) 编辑
Android之用户定位(二)
摘要:获取最佳的LocationProvider,这个最佳是根据条件相对而言滴 //现在先来取得电子设备中都提供了哪些LocationProvider List<String> providers = locationManager.getAllProvider(); for(Iterator iterator = providers.iterator ;iterator.hasNext()){ String s = (String)iterator.next(); } //根据条件得到最佳LocationProvider 需要通过Criteri...
阅读全文
posted @
2012-03-19 10:08
lee0oo0
阅读(378)
推荐(0) 编辑
Android之用户定位(一)
摘要:User Location主要用于获取用户的位置和追踪用户的移动 关键API: Location Manager用于管理Android的用户定位服务;Location Provider提供多种定位方式供开发者使用 定位方式的分类: 1. 使用GPS卫星进行定位,需要在AndroidManifest当中声名权限android.permission.ACCESS_FINE_LOCATION 2. NETWORK定位,使用信号接收塔和Wi-Fi介入点进行定位,需要在AndroidManifest当中声名权限android.permission.ACCESS_FI...
阅读全文
posted @
2012-03-18 22:06
lee0oo0
阅读(427)
推荐(0) 编辑
数据库的基本连接方法与连接池
摘要:1、 因为在一般程况下数据库的都是一个实例访问既可以,因此这个时候可以把类设计成单例模式,例: public class DBUtil { //设计构造函数为私有,不能被其他类创建实例,同时也不能被继承 privateDBUtil(){} private staticDBUtil instance = null; //提供一个外部创建的方法 public synchronized static DBUtil getDBUtilInstance(){ if(instance == null){ ins...
阅读全文
posted @
2012-03-18 01:21
lee0oo0
阅读(447)
推荐(0) 编辑
android之Apache Http——向服务器发送请求的同时发送参数
摘要:使用Get方法提交: 其他步骤与上一节的操作相符,只是在传送地址的时候发送参数的格式如下: //Sname和Sage是实际的数据 name和age则是例如是输入框中的名字 url = "服务器的地址"+ "?" + "name=" + Sname + "&age=" + Sage;使用Post方法提交: //使用NameValuePair类来保存键值对,使用NameValuePair类是因为下面需要的那个类的参数要求 NameValuePairNameValuePair1 = newNameValuePai
阅读全文
posted @
2012-03-16 16:50
lee0oo0
阅读(7376)
推荐(0) 编辑
android之Apache Http初使用——向服务器发送请求
摘要://生成一个请求对象 HttpGet httpGet = new HttpGet("http://www.baidu.com"); //生成一个http客户端对象 HttpClient httpClient = new DefaultHttpClient(); //客户端向服务器发送请求,返回一个响应对象 HttpResponse httpResponse=httpClient.execute(httpGet); //根据响应得到实体内容 HttpEntity entity =httpResponse.getEntity(); //使用I...
阅读全文
posted @
2012-03-16 15:49
lee0oo0
阅读(1009)
推荐(0) 编辑
android之调用系统打电话与发短信界面
摘要:系统打电话界面:Intent intent = new Intent();//系统默认的action,用来打开默认的电话界面intent.setAction(Intent.ACTION_CALL);//需要拨打的号码intent.setData(Uri.parse("tel:"+i)); callPhoneAndSendMessage.this.startActivity(intent);系统发短信界面:Intent intent = new Intent();//系统默认的action,用来打开默认的短信界面 intent.setAction(Intent.ACTION_
阅读全文
posted @
2012-03-16 11:20
lee0oo0
阅读(13702)
推荐(1) 编辑
android之app widget(三)
摘要:1. 接受来自App Widget的广播 //Androidmanifest中的文件旨要,只要有个一action符合就会调用继承AppWidgetProvider的类: <receiver android:name="继承AppWidgetProvider的类"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATA"/> </intent-filter> <intent-filter> &
阅读全文
posted @
2012-03-14 15:29
lee0oo0
阅读(310)
推荐(0) 编辑
android讲义9之向电话本进行批处理的插入
摘要:ContentValues values = new ContentValues();//首先向RawContacts.CONTENT_URI执行一个空值插入,目的是获取系统返回的rawContactId Uri rawContactUri = context.getContentResolver().insert(RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); values.clear(); values.put(Data.RAW_CONTACT_ID, raw
阅读全文
posted @
2012-03-14 11:59
lee0oo0
阅读(388)
推荐(0) 编辑
android之app widget(二)
摘要:PendingIntent: //创建PendingIntent的方法: getActivity(Context context,int requestCode,Intent intent,int flags) //启动一个Activity getBroadcast(Context context,int requestCode,Intent intent,int flags) //发送一个广播 getService(Context context,int requestCode,Intent intent,int flags) //...
阅读全文
posted @
2012-03-13 17:19
lee0oo0
阅读(321)
推荐(0) 编辑
android之app widget(一)
摘要:1.AppWidgetProviderInfo对象: 为App Widget提供元数据(meta-data),包括布局,更新频率等等数据。这个对象被定义在res/xml目录当中。 <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000"
阅读全文
posted @
2012-03-13 16:22
lee0oo0
阅读(435)
推荐(0) 编辑
android之监听手机来电状态
摘要://获得相应的系统服务 TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); //使用TelephonyManager对象的listen(PhoneStateListenerlistener, int events) 第一个参数需要实现PhoneStateListenerlistener并实现相应的方法,第二个参数是PhoneStateListener的静态常量,此处由于是监听电话状态,所以需要传 入LISTEN_CALL_STATE...
阅读全文
posted @
2012-03-13 14:36
lee0oo0
阅读(1947)
推荐(0) 编辑
android之手势添加&识别
摘要:布局XML: <android.gesture.GestureOverlayView android:id="@+id/gesture1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gestureStrokeType="multiple"> </android.gesture.GestureOverlayView>***android.gesture.GestureOverla
阅读全文
posted @
2012-03-13 11:37
lee0oo0
阅读(2493)
推荐(0) 编辑
android之接收和发送广播的开机可自动运行程序
摘要:在AndroidManifest中指定的: <receiver android:name=".StartupReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> ***开机启动后系统发出的BroadcastReceiver <category android:name="android.intent.category.HOME" /> ***系统显示后第一个启动
阅读全文
posted @
2012-03-13 11:06
lee0oo0
阅读(1062)
推荐(0) 编辑
java邮件识别(可通用)
摘要:import java.util.regex.Matcher;import java.util.regex.Pattern;public class reconized {/** * @param args */ //需要切分的字符串 private static String str = "123abc邮件:306749027@qq.comyou"; private static String s = "306749027@qq.com"; private static String result; public static void main(St
阅读全文
posted @
2012-03-12 11:04
lee0oo0
阅读(325)
推荐(0) 编辑
第8章 Service基础Activity与Service绑定
摘要:要知道如果调用函数startService方法,那么即使你的程序退出了,但是Service依然运行在后台;也就是说此时想要停止service必须调用stopService方法。 现在我们把Activity与Service绑定在一起,那就是Service要随着程序的退出而终止,此时调用的方法为bindService方法,方法如下: A.编写需要运行在后台的类继承自android.app.Service。 public class MyService extends Service { //服务生命周期 创建,开始,销毁 /** ...
阅读全文
posted @
2012-03-11 16:42
lee0oo0
阅读(5747)
推荐(0) 编辑
异步操作之深入了解
摘要:首先,先说一说AsyncTask<Void,Void,Void>三个泛型参数的对应问题。第一个参数对应的是doInBackground()里面的参数,如以 doInBackground(Integer... parm)形式存在,而参数传入的地方是执行execute()的方法,如以execute(1000)形式存在,当然也可以 是execute(1000,2000),因为parma形参可以看作为一个Integer的数组。第二个参数对应的是onProgressUpdate()里面的参数,形式如 onProgressUpdate(Integer... parm)实际调用见下文红色处。第.
阅读全文
posted @
2012-03-09 15:01
lee0oo0
阅读(312)
推荐(0) 编辑
异步操作之初入门槛
摘要:异步操作主要是用于处理耗时的操作,从而提供程序的用户体验。如下是对AsynTask<Void,Void,Void>基本步骤: A. 让处理时间较长的操作(网上下载,线程阻塞等)独立出来成为一个类 B. 让这一个类继承AsynTask<Void,Void,Void>,复写public Void doInBackground(Void... arg0)方法 C. 把耗时的操作放在这里实现 D. 一般是在UI线程里面生成异步操作的类的一个实例,然后调用execute方法启动新线程。
阅读全文
posted @
2012-03-09 11:31
lee0oo0
阅读(276)
推荐(0) 编辑
实体引用对应符号
摘要:< 或者 < < 小于> 或者 > > 大于& 或者 & & 和号' 或者 ' ' 单引号" 或者 " " 引号
阅读全文
posted @
2012-03-09 10:51
lee0oo0
阅读(490)
推荐(0) 编辑
第8章 Service基础
摘要:Service并没有实际界面,而是一直在Android后台运行。服务的主要目的:后台运行和跨进程访问。Service就像Activity有自己的生命周期,创建—>开始—>销毁。 一个服务实际上是继承android.app.Service。一个服务只会创建一次、销毁一次,但是可以开始多次。 Service也需要在AndroidManifest中进行配置,在<application>标签中添加如下代码: <service android:name=".myService(继承service的类)" android:enable="true
阅读全文
posted @
2012-03-09 00:37
lee0oo0
阅读(469)
推荐(0) 编辑
第4章 Notification与状态栏信息
摘要:创建并显示一个Notification的步骤: 1. 通过getSystemService方法获得一个NotificationManager对象 ——NotificationManager notificationManager = (NotificationManager)getSystemManager(NOTIFICATION_SERVICE); 2. 创建一个Notification对象。每一个Notification对应一个Notification对象。在这一步需要设置显示在屏幕上方状态的通知信息、通知消息前方的图像资源ID和发出通知的时 间,一般为当前时间。 ...
阅读全文
posted @
2012-03-08 15:54
lee0oo0
阅读(385)
推荐(0) 编辑
在res/xml中的文件
摘要:XML资源实际上就是XML格式的文本文件。这些文件不需保存上res\xml目录中。可以通过Resources.getXML()方法获得处理指令XML文件的XMLResourcesParser对象。这个处理过程与SAX差不多,不同的就是SAX是基于事件模型,而XMLResourcesParser通过调用next方法不断更新当前的状态。例: StringBuffer sb = new StringBuffer(); XmlResourceParser xml = getResources().getXML(R.xml.android); try{ //切换到...
阅读全文
posted @
2012-03-08 15:07
lee0oo0
阅读(1675)
推荐(1) 编辑
在assets中的文件
摘要:ASSETS资源与其他的资源都不一样。该资源所在的目录不在res目录中。而是与res平级的assets目录(这个目录的资源都不会生成资源ID)。因此,在读取这些资源文件时需要直接使用资源文件名。 例如在assets中有一个test.txt文件,以下是用代码读取该文件的方法: try{ //打开test.txt文件,并获得读取该文件内容的InputStream对象 InputStream is = getAssets().open("test.txt"); byte [] buffer = new byte[1024]; ...
阅读全文
posted @
2012-03-08 14:11
lee0oo0
阅读(326)
推荐(1) 编辑
在res/menu中的文件
摘要:菜单资源文件必须放在res/menu目录中。菜单资源文件必须使用<menu>标签作为根节点。除了<menu>标签外,还有另外两个标签用于设置菜单项和分组,这两个标签是<item>和<group>。 <menu>标签没有任何属性,但可以嵌套在<item>标签中,表示子菜单的形式。不过<item>标签中不能再嵌入<item>标签。 <item>标签的属性含义如下: id: 表示菜单项的资源ID menuCategory: 同种菜单项的种类。该属性可取4个值:container、system、
阅读全文
posted @
2012-03-07 11:41
lee0oo0
阅读(2819)
推荐(0) 编辑
在res/raw中的文件
摘要:放在res/raw目录中的资源文件称为RAW资源。该目录中的任何文件不会被编译。可以通过Resource.openRawResources方法获取指定文件的InputStream对象,然后把文件通过OutputStream写入SD卡: InputStream is = getResources().openRawResources(R.raw.test);
阅读全文
posted @
2012-03-06 21:29
lee0oo0
阅读(442)
推荐(0) 编辑
放在res/anim中的文件(持续更新)
摘要:动画文件必须放在res/anim目录中。其中涉及到的图像文件忍然要放在res/drawable中
阅读全文
posted @
2012-03-06 21:03
lee0oo0
阅读(258)
推荐(0) 编辑
在res/drawable中的文件
摘要:在Android应用程序中经常使用到很多图像,这些图像资源必须放在res/drawable中,例如jpg、png、bmp、gif(不包括动画gif)。res/drawable目录除了可以放置普通的图像文件名,还可以放置一种叫Nine-Patch Images的图像文件,这种文件必须以9.png结尾,主要用于边框图像的显示。使用9-Patch格式的图像,无论图像大小如何变化,边框粗细会总保持不变。
阅读全文
posted @
2012-03-06 20:59
lee0oo0
阅读(913)
推荐(0) 编辑
在res/values中的文件
摘要:字符串(String)资源: 无论字符串资源放在res/values目录下哪个资源文件中,在生成ID时都会放在R.string类中。这就意味着,字符串资源的key的唯一性的作用域是res/values目录下所有的资源文件 <string name="reference">abc</string> setText(R.string.reference);数组(Array)资源: 数组资源包括字符串数组资源(string-array)和整数数组资源(integer-array)<resources> <string-array name
阅读全文
posted @
2012-03-06 14:38
lee0oo0
阅读(4103)
推荐(0) 编辑
资源种类
摘要:目录资源类型描述res/valuesXML保存字符串、颜色、尺寸、类型、主题等资源,可以是任意文件名。对于字符串、颜色、尺寸等信息采用key-value形式表示,对于类型、主题等资源,采用其他形式表示res/layoutXML保存布局信息。一个资源文件表示一个View或者ViewGroup的布局res/menuXML保存菜单资源。一个资源文件表示一个菜单(包括子菜单)res/animXML保存与动画相关的信息。可以定义帧(frame)动画和补间(tween)动画res/xmlXML在该目录中的文件可以是任意类型的XML文件,这些XML文件可以在运行时被加载res/raw任意类型在该目录的文件虽
阅读全文
posted @
2012-03-06 10:34
lee0oo0
阅读(417)
推荐(0) 编辑
android讲义2之输入界面
摘要:布局文件:android:selectAllOnFocus="true" //如图"ggg"表示当EditText取得焦点会全选所有内容android:password="true" //表示输入的内容为密码保护形式android:phoneNumber="true" //表示输入的内容为数字形式android:background="@drawable/bg_border" //指示background的内容在drawable文件夹的bg_border.xml文件名中bg_border.xml
阅读全文
posted @
2012-03-05 11:24
lee0oo0
阅读(359)
推荐(0) 编辑
android讲义2之简单图片浏览器且有截图效果(对ImageView使用)
摘要:布局特别之处://与上一控件底部的距离android:layout_marginTop="10dp"代码阶段分析://返回可画的视图,并用向下转型为Bitmap的可画视图BitmapDrawable bitmapDrawable = (BitmapDrawable) image1.getDrawable();//如果图片还未回收,先强制回收该图片if (!bitmapDrawable.getBitmap().isRecycled()) { bitmapDrawable.getBitmap().recycle(); }//改变ImageView显示的图片 image1.set
阅读全文
posted @
2012-03-05 10:44
lee0oo0
阅读(1048)
推荐(0) 编辑
android讲义2之计时器组件Chronometer
摘要://获取计时器组件 final Chronometer ch = (Chronometer)findViewById(R.id.test);//设置开始计时时间,注意elapsedRealtime()多用于计算时间间隔,且在sleep的情况下也会继续工作 ch.setBase(SystemClock.elapsedRealtime()); //启动计时器 ch.start();//监听计时器的改变ch.setOnChronometerTickListener(new OnChronometerTickListener() { @Override public void onChronomete
阅读全文
posted @
2012-03-03 22:23
lee0oo0
阅读(2404)
推荐(0) 编辑
android讲义2之单项选择
摘要:这是要使用<RadioGroup></RadioGroup>把需要分组选择的RadioButton分开来
阅读全文
posted @
2012-03-03 21:41
lee0oo0
阅读(140)
推荐(0) 编辑
android讲义2之在xml中设定imageButtion
摘要://把此文件放在drawable下,然后可以通过android:background="@drawable/button_selector"或者android:src="@drawable/button_selector"下进行。<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item androi
阅读全文
posted @
2012-03-03 21:27
lee0oo0
阅读(262)
推荐(0) 编辑
android讲义2的表格布局
摘要:android:shrinkColumns:指定要收缩的列(可以用","指定两个或以上的列)android:stretchColumns:指定要扩展的列(可以用","指定两个或以上的列)android:collapseColumns:指定要隐藏的列(可以用","指定两个或以上的列)以上的设置需要在<TableRow></TableRow>起作用
阅读全文
posted @
2012-03-03 17:36
lee0oo0
阅读(144)
推荐(0) 编辑
android讲义2的相对布局(持续更新)
摘要:相对布局部分解释:1.如果此值为true,就是把控件放置在父控件的正中位置android:layout_centerInParent="true"2.把控件放在view01的上方android:layout_above="@id/view01"3.把控件与在view01的左边对齐 android:layout_alignLeft="@id/view01"4.把控件放在view01的下方android:layout_below="@id/view01"5.把控件的右边放在view01的左边android:layout
阅读全文
posted @
2012-03-03 14:51
lee0oo0
阅读(197)
推荐(0) 编辑
android讲义2之图片变换
摘要://定义一个访问图片的数组 int[] images = new int[]{ R.drawable.java, R.drawable.ee, R.drawable.classic, R.drawable.ajax, R.drawable.xml, };//获取LinearLayout布局容器 LinearLayout main = (LinearLayout)findViewById(R.id.root);//将ImageView组件添加到LinearLayout布局容器中 main.addView(image);//初始化时显示第一张图片 image.setImageResource(im
阅读全文
posted @
2012-03-03 13:28
lee0oo0
阅读(230)
推荐(0) 编辑
android讲义2之自定义view
摘要:1. 首先创建一个类继承view2. 重写onDraw(Canvas canvas)方法3. 实现一个paint类,此类可以看成为一个画笔,能设置颜色,线条等属性4. 使用canvas的方法在屏幕上画图=============================================6. 在一个Activity类中实现继承了view的那个类7. 把这个类使用addView()方法添加view或view容器上从而显示到Activity上8. (可选)可以为这个自定义view创建setOnTouchListener监听器实现动画9. 注意需要调用invalidate()进行重绘,在UI线程
阅读全文
posted @
2012-03-02 17:10
lee0oo0
阅读(174)
推荐(0) 编辑
android讲义2之代码布局
摘要:1. //创建一个线性布局管理器LinearLayout layout = new LinearLayout(this);2. //设置该Activity显示layoutsuper.setContentView(layout);3. //设置该线性布局的布局方向layout.setOrientation(LinearLayout.VERTICAL);4. //创建一个按钮Button bn = new Button(this); bn.setText(R.string.ok);5. //设置Button的布局参数 bn.setLayoutParams(new ViewGroup.LayoutP
阅读全文
posted @
2012-03-02 16:32
lee0oo0
阅读(296)
推荐(0) 编辑