随笔分类 -  Android

摘要:进程和线程 当一个应用程序第一次启动的时候,Android会启动一个Linux进程和一个主线程(即UI线程:主要负责处理用户的按键事件、触屏事件及屏幕绘图事件等)。默认情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的Linux用户。Andro... 阅读全文
posted @ 2014-04-22 16:45 我是大嘴猴 阅读(258) 评论(0) 推荐(0)
摘要:Android的菜单分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu)。一、选项菜单 用户点击设备上的菜单按钮(Menu),触发事件弹出的就是选项菜单。选项菜单最多只有六个,超过六个第六个就会自动显示为“更多”选项,点击后以弹出的方... 阅读全文
posted @ 2014-04-14 09:08 我是大嘴猴 阅读(1536) 评论(0) 推荐(0)
摘要:Oauth是什么: 1.Oauth是一种安全认证的协议; 2.Oauth为用户资源的授权提供了一个安全的、开放而又简易的标准; 3.Oauth的授权不会使第三方触及到用户的账号信息(用户名和密码)。 比如说新浪微博开放平台属于第一方,新浪微博用户属于第二方,则第三方就可以是开发者开发的新浪微博客户端应用。第三方的应用不需要接受用户的用户名和密码,用户名和密码只提交给新浪微博开发平台,而不会提交给第三方的应用,即第三方无需使用用户的用户名和密码就可以申请该用户资源的授权,因此Oauth是安全的。 Oauth当中的角色: 1.Service Provider(服务提供方): ... 阅读全文
posted @ 2014-04-13 09:17 我是大嘴猴 阅读(586) 评论(0) 推荐(0)
摘要:用BroadcastReceiver监听电量的变化,可以实现BroadcastReceiver接收电量变化的广播,然后获取电量百分比信息。 BatteryChangedReceiver.javapublic class BatteryChangedReceiver extends BroadcastReceiver{ private static final String TAG="BatteryChangedReceiver"; @Override public void onReceive(Context context,Intent intent){ ... 阅读全文
posted @ 2014-04-07 20:43 我是大嘴猴 阅读(1371) 评论(0) 推荐(1)
摘要:在用户浏览网络信息时,如果网络突然断开,可以及时的提醒用户网络已断开。要实现这个功能,我们可以实现一个广播接收者来接收网络状态改变的广播,当由连接状态变为断开状态时,系统会发送一条广播,广播接收者接收之后,再通过网络的状态做出相应的操作。 NetworkStateReceiver.javapublic class NetworkStateReceiver extends BroadcastReceiver { private static final String TAG="NetworkStateReceiver"; @Override public void onR.. 阅读全文
posted @ 2014-04-07 19:37 我是大嘴猴 阅读(1462) 评论(0) 推荐(0)
摘要:BroadcastReceiver BroadcastReceiver是“广播接受者”,它是用来接收来自系统和应用所发出的Broadcast Intent,本质上就是一种全局的监听器,用于监听系统全局的广播消息,可以非常方便的实现系统中不同组件之间的通信。 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态发生改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度等。 Android中的广播机制设... 阅读全文
posted @ 2014-04-07 16:18 我是大嘴猴 阅读(926) 评论(0) 推荐(0)
摘要:方法一:DisplayMetrics metrics=new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);int width=metrics.widthPixels;//屏幕的宽度int height=metrics.heightPixels;//屏幕的高度 方法二:Display display=getWindowManager.getDefaultDisplay();Point point=new Point();display.getSize(point);int width... 阅读全文
posted @ 2014-04-05 22:17 我是大嘴猴 阅读(498) 评论(0) 推荐(0)
摘要:在Android应用开发中,有的类里面需要声明一个Context的成员变量,然后还需要在该类的构造函数中加上this.context=context;这行代码。为什么要这么写呢?不写不行么? 先看下面这个例子,这是我在百度空间看到的: Button button=new Button(this); 括号里的this当然就是本质上Context,其指向的就是当前的Activity,原因形象点说就是Button为了能相应各种操作,记得让Android系统知道自己是属于哪个Activity,这个信息是必须的,因为只有这样Android才会对其进行管理,比如相应onClick()事件,否则An... 阅读全文
posted @ 2014-03-20 15:28 我是大嘴猴 阅读(2567) 评论(0) 推荐(0)
摘要:一. 与Context相联系的类的继承关系如下图: Context为抽象类,提供了一组通用的API。它的实现类为ContextImpl,该类实现了Context的功能,其大部分功能都是直接调用其属性mPackageInfo完成。 ContextWrapper类是对Context类的一种包装,该类的构造函数包含了一个真正的Context引用,即ContextImpl对象。源代码如下: 1 public class ContextWrapper extends Context{ 2 Context mbase;//该属性指向一个ContextIml实例,一般在创建Applicat... 阅读全文
posted @ 2014-03-19 22:15 我是大嘴猴 阅读(401) 评论(0) 推荐(0)
摘要:Activity提供了startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity关闭后会向前面的Activity传回数据,为了能得到传回的数据,必须在旧的Activity中覆写onActivityResult(int requestCode, int resultCode, Intent data)方法,onActivityResult方法的回调时机是:You will receive this call immediately before onResume() when your act.. 阅读全文
posted @ 2014-03-18 10:44 我是大嘴猴 阅读(389) 评论(0) 推荐(0)
摘要:一、使用AlertDialog,在不使用外部布局的情况下在对话框中显示一个列表(列表项只包含一行文字,数据源是String[]类型的值),并响应每一个列表项的单击事件 使用AlertDialog.Builder.setItems方法可以将一个String数组以列表形式显示在对话框中,代码: 1 final String provinces[]=new String[]{ 2 "辽宁省"," 山东省"," 河北省"," 福建省"," 广东省", "黑龙江省"," 浙江 阅读全文
posted @ 2014-03-17 09:15 我是大嘴猴 阅读(759) 评论(0) 推荐(0)
摘要:Android有三种形式的菜单:选项菜单(optionMenu)、上下文菜单(ContextMenu)、子菜单(subMenu)。最常用的是选项菜单,该菜单在点击menu按键后会在对应的Activity底部显示出来。每个Activity关联一个且唯一的一个Menu对象。 1.Activity的... 阅读全文
posted @ 2014-03-16 10:08 我是大嘴猴 阅读(1429) 评论(0) 推荐(0)
摘要:intent.setFlags()方法中参数的含义 1.FLAG_ACTIVITY_NEW_TASK: 例如现在栈一的情况是:A B C(C位于栈顶),C通过intent跳转到D,并且这个Intent添加了FLAG_ACTIVITY_NEW_TASK标记,如果D这个Activity在Manifest.xml中声明了添加Task affinity,系统首先会查找有没有和D的Task affinity相同的task栈存在,如果存在,就将D压入那个栈,如果不存在则会新建一个D的affinity的栈将其压入。如果D的Task affinity默认没有设置,则会将其压入栈1,变成A B C ... 阅读全文
posted @ 2014-03-15 14:46 我是大嘴猴 阅读(4008) 评论(1) 推荐(0)
摘要:开发ContentProvider的步骤如下: 1.编写一个类,该类必须继承自ContentProvider。 2.实现ContentProvider类中的所有抽象方法:insert() delete() update() query()和getType()。 3.定义ContentProvider的URI。URI的形式为content://authority/path/param。一般情况下authority建议使用域名,因为域名是唯一的,不会重复。 4.在static块中使用UriMatcher对象映射Uri和返回码。代码如下:1 static2 {3 //开始映射U... 阅读全文
posted @ 2014-03-14 12:43 我是大嘴猴 阅读(1968) 评论(0) 推荐(0)
摘要:ContentProvider URI由哪几部分组成 ContentProvider URI与HTTP URI类似,由以下4部分组成: 1.content:// 相当于HTTP URI中的http:// 2.authority 相当于HTTP URI中的域名 3.路径(path) 4.参数(param) 假如有如下的ContentProvider URI,其中后面的数字可以任意变化。 content://mobile.android.mydata/product/20 其中authority是mobile.android.mydata,path是product,param是... 阅读全文
posted @ 2014-03-14 09:51 我是大嘴猴 阅读(521) 评论(0) 推荐(0)
摘要:如何查询收发的短信息 使用ContentProvider可以读取系统的短信息。下面的代码查询了所有以1开头的电话号码的短信息。 ListView lvShortMessages=(ListView)findViewById(R.id.lvShortMessage); Cursor cursor=getContentResolver().query( Uri.parse("content://sms"),null,"address like ?", new String[]{"1%"},null); SMSAdapter smsAdap 阅读全文
posted @ 2014-03-12 09:08 我是大嘴猴 阅读(648) 评论(0) 推荐(0)
摘要:Android常用URI android管理联系人的URI: ContactsContract.Contacts.CONTENT_URI 管理联系人的Uri ContactsContract.CommonDataKinds.Phone.CONTENT_RUI 管理联系人的电话的Uri ContactsContract.CommonDataKinds.Email.CONTENT_URI 管理联系人的Eamil的Uri(注:Contacts有两个表,分别是rawContact和Data,rawContact记录了用户的id和name,其中id栏名称 为:ContactsContract.C... 阅读全文
posted @ 2014-03-12 08:44 我是大嘴猴 阅读(3939) 评论(0) 推荐(0)
摘要:如何读取联系人信息? 使用ContentProviter可以读取联系人信息,下面的代码读取了所有的联系人的信息,并将联系人名称显示在ListView组件中。 ListView list=(listView)findViewById(R.id.listview); //查询系统中所有的联系人 Cursor cursor=getContentResolver().query( ContactsContract.Contacts.CONTENT_URI,null,null,null,null); //根据cursor创建SimpleCursorAdapter对象 SimpleCur... 阅读全文
posted @ 2014-03-11 22:29 我是大嘴猴 阅读(1713) 评论(0) 推荐(0)
摘要:开发AIDL服务的步骤 AIDL(Android Interface Definition Language)是Service的一种重要应用,允许一个应用程序访问另一个应用程序中的对象。 建立AIDL服务的具体步骤: 1.在Android工程的Java源文件目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。 2.如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。 3.建立一个服务类(Service的子类)。 4.实现由aidl文件生成的Java接口。 5.在AndroidManifest.xml文件中配置AID... 阅读全文
posted @ 2014-03-08 11:15 我是大嘴猴 阅读(361) 评论(0) 推荐(0)
摘要:Activity本身不会在手机开机后自动运行的。但想让手机开机后就立刻做一些动作,需要使用广播接收器拦截手机开启广播,并在onReceive方法中完成相应的动作,如打开一个Activity。 广播接收类(StartupReceiver)的onReceive方法的代码如下: public void onReceive(Context context,Intent intent){ Intent mainIntent=new Intent(context,Main.class);//在广播接收器中显示Activity,必须要设置FLAG_ACTIVITY_NEW_TASK标志 m... 阅读全文
posted @ 2014-03-08 10:34 我是大嘴猴 阅读(330) 评论(0) 推荐(0)