安卓开发
imzoer
Tencent mason
展开
-
安卓第一天
安卓程序由四个模块构造而成:1、activity2、intent3、contentprovider4、service当然也不是每一个安卓应用都有这四部分组成。要使用这些模块,需要在androidmanifest.xml中进行注册。在一个应用中,一个activity通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类。安卓用intent这个特殊的类来进行在不同的act原创 2012-04-26 19:49:19 · 942 阅读 · 0 评论 -
安卓开发-Bitmap和Drawable的区别
Bitmap是逐像素存储的。存储效率较低。Drawable是安卓平台下通用的图形对象。它可以装载常用的格式的图片,包括bmp。原创 2013-08-12 09:52:18 · 2062 阅读 · 0 评论 -
安卓开发-notifydatasetchanged函数的作用
notifyDataSetChanged方法强制listview调用getView来刷新每个Item的内容。原创 2013-08-09 10:04:48 · 5755 阅读 · 1 评论 -
安卓开发-错误汇集
2013.7.19今天遇到的一个错误:在intent中添加了一个内容,在调用getStringExtra读取的时候,总是报错。代码如下:// back按钮 Button btnBack = (Button) findViewById(R.id.btnActivity2Back); btnBack.setOnClickListener(new OnClickListener()原创 2013-07-19 17:14:02 · 2213 阅读 · 0 评论 -
安卓开发-Looper学习
上篇文章中解说了Handler类的使用。其实Handler类可以理解为一个工具类——向消息队列中插入消息。上面是Looper的官方解释。Looper用来给一个线程运行消息队列。线程默认是没有这个消息队列的。如果想使用的话,需要执行prepare函数。Looper类内部维护了一个MessageQueue mQueue;。下面看看Looper的具体内容:private stat原创 2013-08-03 13:21:47 · 3488 阅读 · 0 评论 -
安卓开发-工具类的使用
安卓开发中,SparseArrays详细分析原创 2013-07-25 11:27:11 · 1844 阅读 · 0 评论 -
安卓开发-自己实现CursorAdapter将数据的数据装载到ListView
纯属学习的需要,自己做CursorAdapter装载数据到ListView。原创 2013-07-23 20:55:56 · 1164 阅读 · 1 评论 -
安卓开发-Sqliteopenhelper使用
如果在安卓开发中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)会有一系列跟随的问题。比如说数据库升级、更新等。最好是使用其封装版本:SQLiteOpenHelper原创 2013-07-23 16:31:29 · 1900 阅读 · 0 评论 -
安卓开发-动画
动画分为三种:逐帧动画、布局动画和控件动画-----------------------------控件动画实现通过重写Animation的 applyTransformation (float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int he原创 2013-08-26 10:06:13 · 1642 阅读 · 0 评论 -
安卓开发-软键盘
打开软键盘,有两个方法。一个是showSoftInput,一个是toggleSoftInput。package com.example.dd;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.Menu;import and原创 2013-09-25 16:49:50 · 2311 阅读 · 0 评论 -
安卓开发-内存使用分析
http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html原创 2013-09-11 20:33:41 · 1184 阅读 · 0 评论 -
安卓开发-BroadcastReceiver用法
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制。Braodcast Receiver顾名思义就是广播接收器,它和时间处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),而广播事件处理机制是系统级别的。我们可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息。我们同样原创 2013-08-10 01:28:21 · 1249 阅读 · 0 评论 -
安卓开发-ViewStub应用
做过javaee的知道,hibernate中有懒加载的机制。就是说,数据库资源在需要读取的时候才读取出来。如果不需要,则不加载。-----------------------------------------------------在安卓中也是如此。加载界面资源是个比较费时的操作。可以延迟加载的时机。这jiushiViewStub。转载 2013-09-02 11:28:20 · 932 阅读 · 1 评论 -
安卓开发-StrictMode使用
最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。StrictMode有多种不同的策略,每一种策略又原创 2013-09-06 15:43:35 · 844 阅读 · 0 评论 -
安卓开发-Handler学习
android.os.HandlerA Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associated with a single thread and that th原创 2013-08-03 12:10:04 · 1080 阅读 · 0 评论 -
安卓开发-Application && service
Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml's tag, which will cause that class to be原创 2013-08-31 14:44:34 · 2173 阅读 · 0 评论 -
安卓开发-app异常退出的善后工作->UncaughtExceptionHandler
app难免会遇到异常退出。此时,可以使用UncaughtExceptionHandler来处理。看代码:package comz;import java.lang.Thread.UncaughtExceptionHandler;public class CallMeTest { public static void main(String[] args) { ErrHandle原创 2013-08-31 14:54:33 · 2791 阅读 · 0 评论 -
安卓开发-多线程操作Sqlite问题
Sqlite数据库本身是不支持多线程同时操作的。如果使用多个线程来操作Sqlite,可能会遇到像这样的问题:一个线程中使用完db之后直接调用 了db.close(),但是由于在一个sqlite数据库中,得到的SqliteDatabase对象是同一个。所以如果一个线程掉用了db.close,那么其他线程中的db对象也就是close的了。此时,如果其他线程再操作数据库就会出现:database n原创 2013-07-24 16:02:48 · 2238 阅读 · 0 评论 -
安卓开发-HttpClient使用
HttpClientHttpClient其实是一个interface类型,HttpClient封装了对象需要执行的Http请求、身份验证、连接管理和其它特性。从文档上看,HttpClient有三个已知的实现类分别是:AbstractHttpClient, AndroidHttpClient, DefaultHttpClient,会发现有一个专门为Android应用准备的实现类AndroidHt转载 2013-07-24 11:14:01 · 5408 阅读 · 0 评论 -
安卓开发-标签总结
android中inputTypeandroid中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。android:paddingLeft与android:layout_marginLeft的区别当按钮分别设置以上两个属性时,得到的效果是不一样的。androi原创 2013-07-20 21:02:00 · 1479 阅读 · 0 评论 -
安卓开发-安卓与sqlite
案桌上可以直接创建sqlite数据库。执行完创建代码之后,数据库就存在于设备上了。在Android开发中,如果用到了Sqlite,那么最好和ContentProvider结合使用。这样数据库的生命周期就不用自己操心了。然后,如果要在比如ListView中显示,可以使用CursorAdapter。简化的办法是使用子类SimpleCursorAdapter。以下就介绍一下使用sqlite+cont原创 2013-07-21 11:31:20 · 838 阅读 · 0 评论 -
安卓开发-安卓启动过程
安卓底层是linux系统。所以启动过程必然与linux有一些相似之处。原创 2013-07-20 20:53:14 · 729 阅读 · 1 评论 -
安卓开发-ContentValues类+Bundle类的作用
ContentValues原创 2013-07-19 22:24:31 · 2492 阅读 · 1 评论 -
安卓开发-Parcel机制
在java中,有序列化机制。但是在安卓设备上,由于内存有限,所以设计了新的序列化机制。 Container for a message (data and object references) that can be sent through an IBinder. A Parcel can contain both flattened data that will be unflatt原创 2013-07-19 10:27:51 · 821 阅读 · 0 评论 -
安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了原创 2013-07-19 14:50:06 · 89079 阅读 · 17 评论 -
安卓开发-Activity状态的转换
Activity状态会根据用户的不同操作进行转换。上午导师过来指点了一下,说明了一下代码规范,并且检查了一下昨天的学习情况。其中发现,我对activity状态转换有点模糊。按安卓机器上的home键和返回键,一直到返回主界面,Activity的状态是不同的。按home键的时候,最后显示的这个界面的状态由当前运行的状态去执行onPause函数。此时不接受用户交互。而通过按返回键来返原创 2013-07-19 14:23:09 · 1876 阅读 · 0 评论 -
安卓开发-button事件监听
事件监听的listener,有以下几种方式:1、声明一个普通的class,实现OnClickListener接口,然后在button的setOnClickListener中new该类的一个对象。2、使用匿名内部类,直接btn.setOnClickListener(new OnClickListener() { @Override public void onClick(V原创 2013-07-18 18:46:00 · 1960 阅读 · 0 评论 -
安卓开发-函数总结
长按菜单响应函数:public boolean onContextItemSelected(MenuItem item)原创 2013-07-21 09:38:08 · 1552 阅读 · 0 评论 -
安卓开发-intent和intent-filter
IntentAndroid中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个原创 2013-07-21 11:47:26 · 1832 阅读 · 0 评论 -
安卓开发-Activity Manager的作用
Interact with the overall activities running in the system.API上对class的描述仅仅这么一句。看了其他人的博客,还看不懂。。慢慢研究原创 2013-07-24 10:17:21 · 1612 阅读 · 0 评论 -
安卓开发-ListView的使用
ListView一般是配合着Adapter来使用的。ListView负责显示,Adapter是数据源。 ListView is a view group that displays a list of scrollable items. The list items are automatically inserted to the list using anAdapter that原创 2013-07-19 19:06:31 · 1143 阅读 · 0 评论 -
安卓开发-加载图片
加载网络上的图片需要在manifest中配置访问网络的权限,如下: 如果不配置这个权限的话,会报错:unknown host exception。package com.example.loadimgfromweb;import java.io.InputStream;import android.app.Activity;import android.graphics.Bi原创 2013-07-23 12:21:47 · 4557 阅读 · 0 评论 -
安卓开发-ContentProvider使用
ContentProvider是安卓开发中,比学的几大模块之一。下面是使用它来访问电话簿,拿出联系人并显示。package com.example.contentprovidertest;import android.os.Bundle;import android.provider.ContactsContract;import android.provider.Contacts原创 2013-07-22 21:38:18 · 1063 阅读 · 0 评论 -
安卓开发-后台与UI交互
在安卓系统中,为了保证用户界面的流畅运行,耗时较长的操作需要用另外的线程来执行。UI用户界面线程当应用程序启动时,系统会为应用程序创建一个主线程(main)或者叫UI线程,它负责分发事件到不同的组件,包括绘画事件。完成你的应用程序与Android UI组件交互。例如,当您触摸屏幕上的一个按钮时,UI线程会把触摸事件分发到组件上,更改状态并加入事件队列,UI线程会分发请求和通知到各个组件原创 2013-07-22 12:04:51 · 4152 阅读 · 0 评论 -
安卓开发-cursor adapter
通过该类可以用Cursor的方式访问数据库,并将查询出来的数据展示到列表视图(ListView)部件上。其中游标携带的结果集中必须有列名为“_id”的列,否则这个类无法工作原创 2013-07-22 17:05:15 · 853 阅读 · 0 评论 -
安卓开发-Service使用
Service是一个生命周期较长而且没有界面的程序。下面通过一个播放mp3的例子来学习。先看MainActivity.javapackage com.example.servicetest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import andr原创 2013-07-22 22:09:36 · 3039 阅读 · 0 评论 -
安卓开发-Content Provider的用途
Content Provider用来解决在不同的应用包之间共享数据的问题。它提供了一套标准的接口来获取和操作数据。Android自身也提供了一些现成的Content Provider:Contacts、Browsers、CallLog、Settings等。原创 2013-07-21 13:10:59 · 807 阅读 · 0 评论 -
sqlite数据库执行监控
有没有什么工具能直接监控到sqlite的sql语句执行呢?现在是自己在执行sqlite的时候写log打出来,感觉很麻烦。找找看。如果实在没有,看看能不能自己写个log监控器。原创 2013-10-28 16:41:03 · 4405 阅读 · 2 评论